忍者ブログ

サカ之シタ

まだ使える道具達とサヨナラするのはココロがイタイ。

ImageMagickでPDF変換失敗と対応

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

ImageMagickでPDF変換失敗と対応

環境:ubuntu 20.04
複数の画像を一つのPDFに変換するため以下のように実行。
[書式]
convert 入力ファイル 出力ファイル.PDF


[サンプル]
$ convert IMG_*.JPG 21_0415_Pict.PDF


すると以下のようなエラーメッセージ。

convert-im6.q16: attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/408.


結構有名なトラブルのようで解決事例のページが多数ヒット。

参照サイト
ask ubuntu 
imagemagick - convert not allowed [duplicate]
https://askubuntu.com/questions/1127260/imagemagick-convert-not-allowed

imagemagickのセキュリティ対策が原因。
対処方法は設定ファイルの一部を書き換え。


設定ファイルのパス。
/etc/ImageMagick-6/policy.xml

$ cd /etc/ImageMagick-6/
設定ファイルのあるディレクトリに移動。

$ sudo cp -a policy.xml{,.org}
でオリジナルファイルのコピーを作成。

$ sudo gedit policy.xml 
root権限でエディター起動。(使用するエディターは何でもいい)

設定ファイルの最後の方に  <!-- disable ghostscript format types -->という項目があり、ghostscript系のフォーマットが無効化されている。

  <!-- disable ghostscript format types -->
  <policy domain="coder" rights="none" pattern="PS" />
  <policy domain="coder" rights="none" pattern="PS2" />
  <policy domain="coder" rights="none" pattern="PS3" />
  <policy domain="coder" rights="none" pattern="EPS" />
  <policy domain="coder" rights="none" pattern="PDF" />
  <policy domain="coder" rights="none" pattern="XPS" />


参照したサイトではPDFの設定行の書き換えオススメしていました。

<policy domain="coder" rights="none" pattern="PDF" />
    ↓
<policy domain="coder" rights="read|write" pattern="PDF" />
追加
@ error/cache.c/OpenPixelCache/4083
このエラーの対処方法も同じ設定ファイルで可能なようなので一緒に編集。
キャッシュが足りないようなのでメモリの設定を変更。

オリジナル
  <policy domain="resource" name="memory" value="256MiB"/>
  <policy domain="resource" name="map" value="512MiB"/>


変更後
  <policy domain="resource" name="memory" value="2048MiB"/>
  <policy domain="resource" name="map" value="4096MiB"/>





PR

コメント

プロフィール

HN:
SakashitaTTO
性別:
非公開

P R