年末調整で控除証明書のpdfをjpgに変換しようとしたら、以下のようなエラーが出る:
% mogrify -format jpg -density 400 -quality 95 *.pdf mogrify-im6.q16: attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/421.
Ghostscriptの脆弱性があったため、pdfなどGhostscriptを使う変換を禁止したようだ。
ImageMagick security policy ‘PDF’ blocking conversion (Stack Overflow)によればgsの9.24で修正されているバグのようだ。(深刻な脆弱性に対処した「Ghostscript 9.24」が前倒しで公開 – アップデートを強く推奨 のことだろう。)
自分の環境だと
% gs --version 9.54.0
なので脆弱性は修正されているはず。
この問題のWorkaroundはImagemagickのpolicyを変更することらしい。 さっそく編集する。
sudo jed /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" /> -->