convertコマンドを使って、大量のJPGファイルをPDF変換しようとしたら以下のエラーが出力されPDF変換に失敗しました。
本資料では、ImageMagickのconvertコマンドのエラー対処方法を記します。
$ lsb_release -cd Description: Ubuntu 18.04.2 LTS Codename: bionic
以下のエラーが発生し、JPGからPDF変換に失敗しました。
上記で発生したエラーは policy.xml の設定を変更することにより対応することができます。
他のディストリビューションやImageMagickのバージョンが異なる場合は、ImageMagick-6を読み替えてください。
以下のコマンドで設定ファイルをコピーしてバックアップしてください。
sudo cp -p /etc/ImageMagick-6/policy.xml /etc/ImageMagick-6/policy.xml.org
慣れたエディタで/etc/ImageMagick-6/policy.xmlファイルを開きます。
管理者権限が必要なので、sudoコマンドやrootになって作業を行ってください。
ターミナル(端末)を起動して、以下のようにして/etc/ImageMagick-6/policy.xmlを開いてください。
sudo nano /etc/ImageMagick-6/policy.xml
sudo vim /etc/ImageMagick-6/policy.xml
sudo gedit /etc/ImageMagick-6/policy.xml
使用できるメモリサイズを設定します。
以下の例は一例です。エラーが消えないようであればメモリサイズを増やしてください。
<policy domain="resource" name="memory" value="256MiB"/>修正後
<policy domain="resource" name="memory" value="2GiB"/>
<policy domain="resource" name="disk" value="1GiB"/>修正後
<policy domain="resource" name="disk" value="2GiB"/>
PDFを有効にするため、コメントアウトしました。
PDF以外の場合は、対応する拡張子の行をコメントアウトしてください。
修正前
<policy domain="coder" rights="none" pattern="PDF" />
修正後
<!-- <policy domain="coder" rights="none" pattern="PDF" /> -->
上記の設定を保存し、再度convertコマンドを実行してみてください。
meldコマンドを使って差分を確認しました。
以上、ImageMagickのconvertコマンドでエラーが出る場合の対処方法でした。