[PHP]PHPでPDFを画像に変換(結果できない)

PHP
アイキャッチ

私の環境:macOS Sonoma(14.6.1)、XAMPP8.2.4

画像をOCRにかけるとき、PDFから画像に変換したら便利かなぁって思ってちょっと調べてみた。

PHP単体でPDFから画像に変換できる方法を探していたが見つからない。どこかのAPI叩いてコールバックでみたいなのはあるけど、コールバック系はローカル環境で確認できないからやりたくない。

ImageMagicだけでいけるっぽいけど、ImageMagicがあんまり好きじゃないんだよね… 機能的に大きすぎるのよね。インストールにもすごく時間が掛かるし。まぁ仕方ない。やってみよう!

ImageMagicインストール

少し時間がかかる。120分ぐらい?xcode-selectは、brewでインストール時にエラーが出たら実行する。

% xcode-select --install
% brew install imagemagick
% magick --version
Version: ImageMagick 7.1.1-38 Q16-HDRI x86_64 22398 https://imagemagick.org
Copyright: (C) 1999 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC HDRI Modules OpenMP(5.0)
Delegates (built-in): bzlib fontconfig freetype gslib heic jng jp2 jpeg jxl lcms lqr ltdl lzma openexr png ps raw tiff webp xml zlib zstd
Compiler: gcc (4.2)

% cd /Applications/XAMPP/bin
% sudo ./pecl install imagick
  ;
Build process completed successfully
Installing '/Applications/XAMPP/xamppfiles/include/php/ext/imagick/php_imagick_shared.h'
Installing '/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20220829/imagick.so'
install ok: channel://pecl.php.net/imagick-3.7.0
configuration option "php_ini" is not set to php.ini location
You should add "extension=imagick.so" to php.ini

% cd /Applications/XAMPP/etc
% vim php.ini
以下を追記
extension=imagick.so

apache再起動しても読み込んでくれない…extensionをフルパスに変えてもダメ。[PECL]セクションをつけてもダメ。

結構色々と試したけどダメなので悔しいが一旦諦める。そのうち思い出したようにやるかもしれん。

後始末

インストールモジュールをアンインストールする。

% cd /Applications/XAMPP/bin
% sudo ./pecl uninstall imagick
php.iniのextensionを削除

感想

javaだと簡単にできるライブラリがあるっぽいね。

コメント

タイトルとURLをコピーしました