我正在使用以下命令将最终用户上传的各种PDF转换为图像
-density 140 -limit memory 64MB -limit map 128MB [pdffile] page.png
结果如下。在右侧,我们有原始PDF和左侧输出图像。正如您所看到的,颜色明显不同。
可能导致这种情况以及如何修复它?
答案 0 :(得分:7)
尝试以下命令:
-density 140 -limit memory 64MB -limit map 128MB -colorspace RGB [pdffile] page.png
答案 1 :(得分:3)
编辑:我后来发现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度的曲线上可见)。为了改善这一点,我以所需分辨率的四倍创建输出,然后按比例缩小,使这些错误几乎难以察觉。请注意,为了避免bicubic ringing effects,我必须使用ImageMagick的-scale
和不 -geometry
或-resize
。
答案 2 :(得分:0)
使用-resample
选项:
-density 140 -resample 100 -limit memory 64MB -limit map 128MB [pdffile] page.png
答案 3 :(得分:0)
开源MuPDF实用mutool使用以下默认参数保留颜色和大小 您仍然需要在命令末尾列出用逗号分隔的页面。
mutool draw -o draw%d.png abook.pdf 1,2
否则,如果使用Linux,请在使用imagemagick的转换时尝试Windows以获得更好的色彩空间RGB解释。
答案 4 :(得分:-1)
以下图像显示了如果以较高分辨率进行采样然后按比例缩小,抗锯齿效果会有所改善。
尽管1120的质量略好于560,但转换需要很长时间,因此我可能会选择560以获得良好的时间:质量权衡。
-colorspace sRGB -density 140
-colorspace sRGB -density 280 -scale 50%
-colorspace sRGB -density 420 -scale 33.3333%
-colorspace sRGB -density 560 -scale 25%
-colorspace sRGB -density 1120 -scale 12.5%
(如果您下载最后两张图片并在您喜欢的图片浏览器中翻转它们,则更容易看到区别。或者向上滚动此图像列表,而不是向下。您应该看起来它们变得越来越丑陋。)< / p>