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

How to use ghostscript to check if pdf is already converted to pdf/a?

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

在此先感谢您的所有帮助。

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

[编辑以回答下面的评论]

您没有指定 ColorConversionStrategy,指定 ProcessColorModel 是不够的(实际上也不需要)。对于 PDF/A,您(通常)需要提供一个 ColorConversionStrategy,除非您绝对确定您的输入文件只使用与设备无关的颜色 spaces。

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

不要(真的,认真地,不要)使用 -dNOSAFER。对于 PDF 输入,不需要执行此操作,这会让您面临安全漏洞。

您的命令行包含 -c -quit,这是不正确的,应该会导致错误。你的意思是 -c quit 并且你不需要那样做。别管它了。

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

Specify a PDF/A definition file before running the input document.