私の環境: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だと簡単にできるライブラリがあるっぽいね。
コメント