我面临着一个非常类似的问题,因为在这个thread讨论色彩空间的问题。使用GhostScript 9.14我试图从Postscript文件创建一个有效的PDF/A。我正在调用以下命令:通过Ghostscript的转换PS文件转换为PDF/A,
"gswin64.exe" -dPDFA=1 -dBATCH -dNOPAUSE -dNOOUTERSAVE
-sColorConversionStrategy=/RGB -sOutputICCProfile=AdobeRGB1998.icc -sDEVICE=pdfwrite
-sOutputFile=output.pdf -dPDFACompatibilityPolicy=2 "PDFA_defRGB.ps" input.ps
这样做后,我通过Apache的PDFBox和在线通过www.pdf-tools.com进行验证。 PDF工具却对我说:
Validating file "output.pdf" for conformance level pdfa-1b
A device-specific color space (DeviceCMYK) without an appropriate output intent is used.
The document does not conform to the requested standard.
The document contains device-specific color spaces.
如果我使用-sColorConversionStrategy=/CMYK
和适当的CMYK-.icc.file和PDFA_def的验证失败了。这里你去:
Validating file "output.pdf" for conformance level pdfa-1b
The value of the key N is 3 but must be 4.
A device-specific color space (DeviceCMYK) without an appropriate output intent is used.
The document does not conform to the requested standard.
The document doesn't conform to the PDF reference (missing required entries, wrong value
types, etc.).
The document contains device-specific color spaces.
Java PDFBox验证返回真正令人惊讶(PDF/A有效)。
如果我使用-sColorConversionStrategy=/UseDeviceIndependentColor
而不是/ CMYK,联机验证失败,如上结果。 PDFBox再次返回一个有效的文件。 如果我使用-sColorConversionStrategy=/UseDeviceIndependentColor
与RGB的设置在顶部如图所示,在线验证失败等同于第一错误消息:
Validating file "output.pdf" for conformance level pdfa-1b
A device-specific color space (DeviceCMYK) without an appropriate output intent is used.
The document does not conform to the requested standard.
The document contains device-specific color spaces.
PDFBox的验证失败以及。
当使用-sProcessColorModel=DeviceCMYK
而不是-sColorConversionStrategy
联机验证和PDFBox都检测到有效的PDF/A。
output.pdf validated successfully.
Status Information
output.pdf (pdfa-1b)
那么,什么问题?据我了解GhostScript命令,-sColorConversionStrategy应确保将输入PS的色彩空间转换为输出PDF的所需色彩空间,而无需知道输入文件具有何种色彩空间。显然这是不可能的,因为我还测试了一个PS文件带有明显的色彩空间CMYK以相同的结果张贴以上。
我需要从Java代码中调用GhostScript获取未知的ps文件作为输入将其转换为有效的PDF/A文件。那么是否有可能使用GhostScript做到这一点,唯一保证输入文件格式将是Postscript?
感谢您的帮助,
克里斯托弗
要确定这不是PDFBox问题:1)尝试最新版本的预检https://repository.apache.org/content/groups/snapshots/org/apache/pdfbox/preflight-app/2.0 .0-SNAPSHOT/2)使用不同的软件进行验证,例如http://www.pdf-tools.com/pdf/validate-pdfa-online.aspx –