【发布时间】:2020-07-13 05:10:13
【问题描述】:
我搜索了一个答案,但我能找到的只是如何将 pdf 转换为 pdf/a,这是我已经在做的。现在我需要查找pdf是否被转换以防止不必要的第二次转换。 现在我正在使用 Aspose 来检查 pdf 是否被转换,但它并不总是正常工作。或者,pdfbox 或 itext 可能有不同的方法?
提前感谢所有帮助。
【问题讨论】:
标签: pdf itext pdfbox ghostscript aspose.pdf
我搜索了一个答案,但我能找到的只是如何将 pdf 转换为 pdf/a,这是我已经在做的。现在我需要查找pdf是否被转换以防止不必要的第二次转换。 现在我正在使用 Aspose 来检查 pdf 是否被转换,但它并不总是正常工作。或者,pdfbox 或 itext 可能有不同的方法?
提前感谢所有帮助。
【问题讨论】:
标签: pdf itext pdfbox ghostscript aspose.pdf
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 注意第 4 个要点;
在运行输入文档之前指定一个 PDF/A 定义文件。
【讨论】: