#author("2019-06-10T22:31:21+09:00","","")
#navi(../)
* ImageMagickのconvertコマンドでエラーが出る場合の対処方法 [#faebcd09]
convertコマンドを使って、大量のJPGファイルをPDF変換しようとしたら以下のエラーが出力されPDF変換に失敗しました。~
本資料では、ImageMagickのconvertコマンドのエラー対処方法を記します。

#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)
#contents

* 使用したLinuxディストリビューション [#z7f2dadb]
 $ lsb_release -cd
 Description:	Ubuntu 18.04.2 LTS
 Codename:	bionic

* 発生したエラー [#ed4335e0]
以下のエラーが発生し、JPGからPDF変換に失敗しました。
+ convert-im6.q16: DistributedPixelCache '127.0.0.1' @ error/distribute-cache.c/ConnectPixelCacheServer/244.~
メモリ不足によるエラーになります。
+ convert-im6.q16: not authorized~
セキュリティ対策でPDF変換が許可されていなかったため発生しました。

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

* 設定ファイルを変更する前にバックアップ [#pf69cbba]
以下のコマンドで設定ファイルをコピーしてバックアップしてください。
 sudo cp -p /etc/ImageMagick-6/policy.xml /etc/ImageMagick-6/policy.xml.org

* /etc/ImageMagick-6/policy.xmlの加工について [#gcf1fe4b]
慣れたエディタで/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' ... 対応 [#g5b20ff3]
使用できるメモリサイズを設定します。~
以下の例は一例です。エラーが消えないようであればメモリサイズを増やしてください。
+memoryの値を変更~
修正前
 <policy domain="resource" name="memory" value="256MiB"/>
修正後
 <policy domain="resource" name="memory" value="2GiB"/>
+diskの値を変更~
修正前
 <policy domain="resource" name="disk" value="1GiB"/>
修正後
 <policy domain="resource" name="disk" value="2GiB"/>

* convert-im6.q16: not authorized の対応 [#v73d5983]
PDFを有効にするため、コメントアウトしました。~
PDF以外の場合は、対応する拡張子の行をコメントアウトしてください。

修正前
 <policy domain="coder" rights="none" pattern="PDF" />
修正後
 <!--  <policy domain="coder" rights="none" pattern="PDF" /> -->

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

* 上記の修正の差分のキャプチャ [#b7029f37]
meldコマンドを使って差分を確認しました。~
#ref(01.png)
#br

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

#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS