ImageMagickで生成されたPDFはChromeで空白のページにレンダリングされます。

ImageMagickで生成されたPDFはChromeで空白のページにレンダリングされます。

Kritaを使用してファイルを描画しましたpng
ここに画像の説明を入力してください。

pdf次に、次を使用してこのファイルをファイルに変換しましたconvert

convert test.png test.pdf

このファイルをPDFビューアで開くと、期待どおりに上記の画像が表示されます。ただし、Webブラウザ(Chromeベース)でファイルを開くと、正しいサイズのPDFページが表示されますが、完全に空白です。
ここに画像の説明を入力してください。

私が知っている限り、この問題はChromeベースのブラウザでのみ発生します。たとえば、Firefox はファイルを正しく表示します。

ファイルがブラウザに正しく表示されるようにするにはどうすればよいですか?


$ convert --version
Version: ImageMagick 7.0.10-37 Q16 x86_64 2020-11-07 https://imagemagick.org
Copyright: © 1999-2020 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC HDRI Modules OpenMP(4.5) 
Delegates (built-in): bzlib cairo djvu fontconfig freetype heic jbig jng jp2 jpeg lcms lqr ltdl lzma openexr pangocairo png raqm raw rsvg tiff webp wmf x xml zlib

$ chromium --version                                                                                                                                                                                                                      
Chromium 86.0.4240.183 Arch Linux

答え1

Ghostscriptを介してPDFをプッシュすると、ファイルconvert test.png test.pdfにエラーがあることを示すメッセージが表示されます。

$ gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=temp.pdf test.pdf
   **** Error: ICCbased space /N value does not match the ICC profile.
                 Using the number of channels from the profile.
                 Output may be incorrect.

この情報を使用して、次に変換する色空間を追加しました。

$ convert test.png -colorspace RGB test.pdf

Ghostscriptはもはや文句を言わなくなり、Chromeはファイルを正しく表示します。

関連情報