0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Imagemagick(display)でpdfが使えない

Posted at

問題

displayコマンドでpdfを確認しようとすると次のようなメッセージが出て確認できない場合があります.

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

この問題はdisplayコマンドに限らず,Imagemagick関連のコマンドでpdfを扱うときに起こるようです.

解決法

この問題はGhostscript(postscriptを扱うソフト)の脆弱性対策のためにImagemagickがpostscriptやpdfファイルを無効化しているために起こるとのことです.次の手順で,postscriptファイル(ps, eps)とpdfファイルの無効化設定を無効化してやればpostscriptやpdfファイルがImagemagick関連のコマンドで使えるようになります.

  • /etc/ImageMagick-6/policy.xmlを次のコマンドで開く.
sudo nano /etc/ImageMagick-6/policy.xml
  • この部分
  <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" />

を次のように変更します.

  <!-- <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" /> -->

この対策方法は単純にpostscriptやpdfファイルを無効化している部分をコメントアウトしただけです.

補足

Ghostscriptの脆弱性が心配な方は,

gs --version

でGhostscriptでバージョンを確認してください.9.24以上であれば今回の問題と関係する脆弱性は修正されているとのことです.

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?