2013-07-25 94 views
2

我正在处理一个大问题:我必须从PDF文件创建一个完美的彩色JPEG。但是在绿色或蓝色方面仍然存在很小的差异。我在Debian系统上使用Ghostscript版本8.71。ImageMagick或Ghostscript:从PDF创建图像

原文PDF文件:

最简单的方法通过

convert output.pdf -density 600 -quality 100 output.jpg 

结果:

创建一个非常浅绿色,与PDF中的颜色无关。

之后,我尝试了其他两种方法有更好的效果,但并不完美:

通过ImageMagick的:

convert output.pdf -profile sRGB_v4_ICC_preference.icc \ 
        -density 600 -quality 100 test.jpg 

convert -profile ISOcoated_v2_eci.icc -profile eciRGB_v2.icc \ 
     -quality 100 test-1.jpg finish-1.png 

结果:链接像以前一样与文件名“精0.png”(我可以只写两个链接)。

通过Ghostscript的:

gs -dNOPAUSE -sDEVICE=jpegcmyk -dFirstPage=1 -dLastPage=237 \ 
    -sOutputFile=image%d.jpg -dJPEGQ=95 -dUseCIEColor -g850x610 \ 
    -dPDFFitPage -r300 -q output.pdf -c quit 

结果:链接喜欢用文件名 “image1.jpg”(我可以只写两个环节)前。

任何人都有一个想法来获得完美的结果?

回答

1

首先,使用最新版本的Ghostscript,8.71是3岁。 9.0之前的版本将使用标准的PostScript颜色转换,9.0以后使用小CMS。您的PDF文件使用基于ICC配置文件的3色组件(RGB)色彩空间,PostScritp RGB-> CMYK速度快但不准确,所以最好不要这样做。

我相信如果你使用的是一个体面的最新版本,你会发现没有任何进一步调整的结果足够。不要使用-dUseCIEColor!这是一个可怕的PostScript kludge。

它看起来像jpegcmyk设备没有做适当的颜色管理,有没有一个原因,你不能使用jpeg设备?

+0

没有dUseCIEColor的结果是更丑陋。我不知道是否可以将我们的系统更新到9.0或更高版本。它可用于debian吗?使用jpegcmyk的结果比使用jpeg设备更好。这是我使用它的唯一原因。 – BeeJay

+0

使用jpegcmyk强制进行颜色转换(原始图像为RGB),这会导致颜色问题。 Ghostscript是开源的,所以你可以自己构建它。 – KenS

+0

您尚未指定命令行,因此无法比较结果。 9.05 *仍然*近18个月过时,我会使用当前的代码(即将是9.09)。没有详细查看这些文件,我不能完全确定,但是您需要知道,如果您正在查看PDF文件,输入颜色很可能会被PDF查看应用程序转换(和颜色管理)对于你的(可能是RGB)显示器来说是正确的。不同的应用程序查看CMYK可能会对RGB进行不同的转换,因此颜色会显得不同 – KenS