やるきなし

2020/09/09 21:09 / ImageMagick で空の PDF 作成に失敗する

以下のようなコマンドで通常は A4 サイズの空の PDF を作成出来るのであるが(pdftk とかで空のページを挿入するなどの時に便利),まさに以下のようにコケる.

 % convert xc:none -page A4 empty.pdf
convert-im6.q16: attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/408.

Debian GNU/Linux buster で imagemagick の version は 8:6.9.10.23+dfsg-2.1+deb10u1

原因は /etc/ImageMagick-6/policy.xml に以下の様に記載されていること.

  <!-- 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="read|write" pattern="PDF" />

に修正すれば解決する./etc/ImageMagick-6/policy.xml を直接修正するか,それを ~/.magick/policy.xml にコピーして自分用のそれを修正するか.