如何使用 Ghostscript 检查 pdf 是否已转换为 pdf/a?

nvk*_*vko -1 pdf itext ghostscript pdfbox aspose.pdf

我寻找答案,但我能找到的只是如何将 pdf 转换为 pdf/a,这就是我已经在做的事情。现在我需要查找pdf是否已转换,以防止不必要的第二次转换。现在我正在使用 Aspose 来检查 pdf 是否已转换,但它并不总是正常工作。或者也许 pdfbox 或 itext 有不同的方法?

预先感谢您的所有帮助。

Ken*_*enS 5

Ghostscript 不是一个验证工具,它不会告诉您 PDF 文件是否是 PDF/a 文件。尤其是因为 Ghostscript 不在乎。

[编辑回答下面的评论]

您尚未指定 ColorConversionStrategy,指定 ProcessColorModel 是不够的(实际上不是必需的)。对于 PDF/A,您(通常)需要提供 ColorConversionStrategy,除非您绝对确定您的输入文件专门使用与设备无关的颜色空间。

您的命令行似乎不包含 pdfa_def.ps 输入文件。该文件很重要(您必须对其进行适当修改),如果您不提供该文件或等效编程,则您的 PDF/A 文件将不包含 OutputIntent,并且如果它使用任何设备颜色空间,则该文件将无效。

不要(真的,认真地,不要)使用-dNOSAFER。对于 PDF 输入,不需要这样做,而且它会让您面临安全漏洞。

您的命令行包含-c -quit哪个不正确并且应该导致错误。你是真心实意的-c quit,但你没必要这么做。把它留下吧。

有关创建 PDF/A 文件的文档可以在线找到here,也可以在 Ghostpdl/doc/VectorDevices.htm#PDFA 中找到,请注意第四个要点;

在运行输入文档之前指定 PDF/A 定义文件。