このエントリーをはてなブックマークに追加


ImageMagickのconvertコマンドでエラーが出る場合の対処方法

convertコマンドを使って、大量のJPGファイルをPDF変換しようとしたら以下のエラーが出力されPDF変換に失敗しました。
本資料では、ImageMagickのconvertコマンドのエラー対処方法を記します。


使用したLinuxディストリビューション

$ lsb_release -cd
Description:	Ubuntu 18.04.2 LTS
Codename:	bionic

発生したエラー

以下のエラーが発生し、JPGからPDF変換に失敗しました。

  1. convert-im6.q16: DistributedPixelCache '127.0.0.1' @ error/distribute-cache.c/ConnectPixelCacheServer/244.
    メモリ不足によるエラーになります。
  2. convert-im6.q16: not authorized
    セキュリティ対策でPDF変換が許可されていなかったため発生しました。

/etc/ImageMagick-6/policy.xml を設定する

上記で発生したエラーは policy.xml の設定を変更することにより対応することができます。
他のディストリビューションやImageMagickのバージョンが異なる場合は、ImageMagick-6を読み替えてください。

設定ファイルを変更する前にバックアップ

以下のコマンドで設定ファイルをコピーしてバックアップしてください。

sudo cp -p /etc/ImageMagick-6/policy.xml /etc/ImageMagick-6/policy.xml.org

/etc/ImageMagick-6/policy.xmlの加工について

慣れたエディタで/etc/ImageMagick-6/policy.xmlファイルを開きます。
管理者権限が必要なので、sudoコマンドやrootになって作業を行ってください。

ターミナル(端末)を起動して、以下のようにして/etc/ImageMagick-6/policy.xmlを開いてください。

  • nano
    sudo nano /etc/ImageMagick-6/policy.xml
  • vim
    sudo vim /etc/ImageMagick-6/policy.xml
  • gedit
    sudo gedit /etc/ImageMagick-6/policy.xml

onvert-im6.q16: DistributedPixelCache '127.0.0.1' ... 対応

使用できるメモリサイズを設定します。
以下の例は一例です。エラーが消えないようであればメモリサイズを増やしてください。

  1. memoryの値を変更
    修正前
    <policy domain="resource" name="memory" value="256MiB"/>
    修正後
    <policy domain="resource" name="memory" value="2GiB"/>
  2. diskの値を変更
    修正前
    <policy domain="resource" name="disk" value="1GiB"/>
    修正後
    <policy domain="resource" name="disk" value="2GiB"/>

convert-im6.q16: not authorized の対応

PDFを有効にするため、コメントアウトしました。
PDF以外の場合は、対応する拡張子の行をコメントアウトしてください。

修正前

<policy domain="coder" rights="none" pattern="PDF" />

修正後

<!--  <policy domain="coder" rights="none" pattern="PDF" /> -->

上記の設定を保存し、再度convertコマンドを実行してみてください。

上記の修正の差分のキャプチャ

meldコマンドを使って差分を確認しました。

01.png
 

以上、ImageMagickのconvertコマンドでエラーが出る場合の対処方法でした。



添付ファイル: file01.png 596件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-06-10 (月) 22:32:58