ImageMagick将PDF转换为图像时会改变颜色

16

我正在使用以下命令将上传的各种PDF文件转换为图像。

-density 140 -limit memory 64MB -limit map 128MB [pdffile] page.png

这是结果。在右侧是原始PDF,左侧是输出图像。正如您所看到的,颜色明显不同。

这可能是什么原因,并且如何修复?

image

5个回答

12

尝试以下命令:

-density 140 -limit memory 64MB -limit map 128MB -colorspace RGB [pdffile] page.png

4
如果那个方法不起作用,尝试使用sRGB代替RGB - joeytwiddle

6

编辑:后来我发现ImageMagick可以很好地完成这项任务,我只需要使用-colorspace sRGB

我的最终命令是:

convert -density 560 -limit memory 64MB -limit map 128MB \
        -colorspace sRGB [pdffile] -scale 25% page.png

过采样和缩小尺寸是为了对抗下面提到的差劲的抗锯齿效果。在我发现这个方法之前,这是我的早期解决方案...
在我的情况下,ImageMagick的convert生成的颜色过度饱和,就像问题中的颜色一样。我试图使用IM 6.7.7.10-6ubuntu3转换this file
  • -resample 100没有任何改变。

  • -colorspace RGB似乎产生了更准确的饱和度,但整个图像比应该的要暗。

奇怪的是,this suggestion建议使用GhostScript而不是ImageMagick进行转换,可以产生非常接近正确颜色的结果:

gs -q -sDEVICE=png16m -dSubsetFonts=true -dEmbedAllFonts=true \
      -sOutputFile=page.png -r200 -dBATCH -dNOPAUSE [pdffile]

原始建议使用了-dUseCIEColor选项,但在我的情况下,这似乎会降低伽马值:亮像素没问题,但暗像素太暗了,所以我将其移除。

之后,唯一令我烦恼的是某些地方的抗锯齿/边缘略有偏差(特别是在通过45度的曲线上明显)。为了改善这个问题,我将输出分辨率设置为所需的四倍,然后再进行缩放,从而使这些错误几乎不可察觉。请注意,我必须使用ImageMagick的-scale命令,而不是-geometry-resize命令,以避免bicubic ringing effects效应。


0

开源MuPDF工具mutool使用以下默认参数保留颜色和大小,但您需要在命令的末尾用逗号列出页面。

mutool draw -o draw%d.png abook.pdf 1,2

否则,如果使用Linux,请尝试在使用imagemagick的convert时切换到Windows以获得更好的颜色空间RGB解释。


0

使用-resample选项:

-density 140 -resample 100 -limit memory 64MB -limit map 128MB [pdffile] page.png

-1
以下图像显示了如果您以更高的分辨率采样然后缩小,反锯齿效果如何改善。
尽管1120的质量比560略好,但转换时间较长,所以我可能会选择560,以获得良好的时间和质量折中。 -colorspace sRGB -density 140

enter image description here

-colorspace sRGB -density 280 -scale 50%

-颜色空间 sRGB -密度 280 -缩放 50%

enter image description here

-colorspace sRGB -density 420 -scale 33.3333%

-colorspace sRGB -density 420 -scale 33.3333%

enter image description here

-colorspace sRGB -density 560 -scale 25%

enter image description here

-colorspace sRGB -density 1120 -scale 12.5%

的意思是“-colorspace sRGB -density 1120 -scale 12.5%”,它与图像处理有关。

enter image description here

如果您下载最后两张图片并在您喜欢的图像查看器中翻转它们,那么您将更容易地看到它们之间的差异。或者向上滚动此图像列表,而不是向下滚动。您应该会看到它们变得越来越丑陋。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接