没有dUseCIEColor

时间:2017-05-31 07:15:24

标签: pdf ghostscript pdfa ghost4j

我的目标是从用户那里获取任意PDF,并将其保存为PDF / A-2b。

目前的方法是使用Ghostscript 9.21(通过ghost4j)来创建转换后的文件。这有效但不是没有一些问题。我让它使用两组不同的Ghostscript参数。

首先

使用如下所示的选项-dUseCIEColor将起作用,并生成带有几个不同测试文件的有效PDF / A-2b。但是,这会将错误页面打印到日志中,表示不建议使用。

这些是完整的论据:

-dBATCH
-dNOPAUSE
-dPrinted=true
-sDEVICE=pdfwrite
-dPDFACompatibilityPolicy=1
-sColorConversionStrategy=/UseDeviceIndependentColor
-sProcessColorModel=DeviceCMYK
-sOutputICCProfile=/tmp/icc.icc
-sOutputFile=/tmp/result.pdf
-dPDFA=2
-dUseCIEColor
/tmp/PDFA_def.ps
/tmp/test.pdf

PDFA_def.ps是默认供应商9.21,指向相同的ICC配置文件,底部显示此行:

<</NeverEmbed []>> setdistillerparams

ICC配置文件是由Adobe发布的随机(CMYK)配置文件。

除日志中的错误外,这是有效的。

其次

然后我将尝试按日志错误告知,并删除-dUseCIEColor

现在有些测试文件有效,有些则不行。我怀疑这与原始PDF的颜色配置文件有关,或类似的东西。

3-height提供验证错误:使用没有适当输出意图的设备特定颜色空间(DeviceRGB)。

可以通过切换-sProcessColorModel=DeviceRGB并将ICC配置文件切换为随机RGB配置文件来纠正此问题。

然后,对于另一个文档,您会收到错误:使用没有适当输出意图的设备特定颜色空间(DeviceCMYK)。

我有什么遗漏吗?看起来我需要根据原始PDF文件切换选项,这远远不是首选的样式。如果它有帮助,我也可以使用黑白PDF / A-2b。谢谢!

2 个答案:

答案 0 :(得分:1)

如果不看文件就不可能说出问题所在。 UseCIEColor是一个非常糟糕的PostScript黑客,可以尝试进行色彩管理,它不可靠(在颜色方面)并且会有效地击败任何真正的色彩管理。显然,由于您使用的是随机配置文件,因此您无法进行色彩管理,但所有相同....

由于您并不真正关心色彩管理,我建议您选择CMYK而不是UseDeviceIndependentColor(因为您使用的是ProcessColorModel)。请注意,如果您选择ColorConversionStrategy = / CMYK,那么您不需要设置ProcessColorModel,这是转换中假设的。

除此之外,我不得不建议您打开错误报告。如果人们没有报告问题,那么他们就不会得到修复......

答案 1 :(得分:0)

UseCIEColor的正确的PDF / A兼容替换似乎是以下两个选项的组合:

 -sProcessColorModel=DeviceCMYK
 -sColorConversionStrategy=UseDeviceIndependentColor

DeviceCMYKDeviceRGB都为我工作。