首页 > 解决方案 > 如何使用ghostscript检查pdf是否已经转换为pdf/a?

问题描述

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

提前感谢所有帮助。

标签: pdfitextpdfboxghostscriptaspose.pdf

解决方案


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

[编辑回答下面的评论]

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

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

不要(真的,认真,不要)使用-dNOSAFER。对于 PDF 输入,应该没有任何必要这样做,这会使您面临安全漏洞。

您的命令行包括-c -quit哪些不正确,应该会导致错误。你的意思是-c quit,无论如何你都不需要这样做。把它放在外面。

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

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


推荐阅读