如何使用itext知道文档是否声称是PDF/A

ale*_*z78 4 java itext pdfa

我至少会检查一份文件是否声称它符合PDF/A.

我怎么能用iText做到这一点?

Mar*_*rer 8

啊.PDF/A规范包含答案(除非有人付钱才能获得答案).您可以从iText的源代码中挖掘相同的信息......实际上可能更容易.如果可能的话,阅读该规范是值得避免的.;)

首先,iText将为您提供元数据xml,但"xmp"包仅用于读取XMP,以便iText可以根据需要对其进行修改,然后再将其保存.它实际上不包含任何"get"函数.替换,设置,保存......没有"得到".

因此,您可以获得XMP元数据:

PdfReader reader = new PdfReader(pdfPath);
byte metaBytes[] = reader.getMetadata();
Run Code Online (Sandbox Code Playgroud)

由您选择的XML解析库取决于"pdfaid:conformance"值("A"或"B").XPath会很好.我不确定这是元素正文的值还是属性.我倾向于元素: <pdfaid:conformance>A</pdfaid:conformance>

如果你愿意偷工减料,而且如果文档声明了pdfaid名称空间(http://www.aiim.org/pdfa/ns/id),那么可以肯定它会用它来声明A或B .