pdf
然后我使用以下命令将此文件转换为文件convert
:
convert test.png test.pdf
当我在 PDF 查看器 (Evince) 中打开此文件时,我看到了上面的图像,正如我所预期的那样。但是当我在网络浏览器(基于 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 将正确显示该文件。