Chrome

ImageMagick 生成的 PDF 在 Chrome 中呈現為空白頁

  • November 10, 2020

png使用 Krita 繪製了一個文件:

在此處輸入圖像描述

然後我使用以下方法將此文件轉換為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

如果您convert test.png test.pdf通過 ghostscript 推送 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 將正確顯示文件。

引用自:https://unix.stackexchange.com/questions/618616