如何检查 PDF/A 现有文档与 iText 7 的一致性?
How to check PDF/A conformance of existing document with iText 7?
我正在尝试检查现有 PDF 文档与 iText 的一致性 (PDF/A-1B)。不幸的是,它只检查文档中新创建元素的一致性,而忽略了文档的现有部分。
byte[] pdf = ...; // pdf document which claims to be conform but is not conform (1 font is not embedded)
final PdfADocument pdfADocument = new PdfADocument(new PdfReader(new ByteArrayInputStream(pdf)),
new PdfWriter(new ByteArrayOutputStream()));
pdfADocument.close();
如果我添加不符合 pdfADocument
的内容,那么对 close()
的调用将抛出 PdfAConformanceException
.
我只找到有关创建符合 PDF/A 的文档的示例,但没有找到仅验证现有文档的示例。
有没有办法检查现有文档是否符合 iText 7?
最初作为评论发布(因为感觉太短而不能成为真正的答案),但现在应 OP 的要求添加为答案:
@mkl 写道:AFAIK iText 只是试图确保它本身不会引入任何问题,但它不包含 PDF/A 验证器。
我回答:我确认。 iText 不是 PDF 验证器。
欧盟正在赞助开源 PDF/A 验证器的开发
iText 正在通过 PDF Association 跟进其开发。
iText 没有计划开发另一个验证器来与之竞争
由欧盟资助的。
有关详细信息,请参阅 verapdf.org。
我正在尝试检查现有 PDF 文档与 iText 的一致性 (PDF/A-1B)。不幸的是,它只检查文档中新创建元素的一致性,而忽略了文档的现有部分。
byte[] pdf = ...; // pdf document which claims to be conform but is not conform (1 font is not embedded)
final PdfADocument pdfADocument = new PdfADocument(new PdfReader(new ByteArrayInputStream(pdf)),
new PdfWriter(new ByteArrayOutputStream()));
pdfADocument.close();
如果我添加不符合 pdfADocument
的内容,那么对 close()
的调用将抛出 PdfAConformanceException
.
我只找到有关创建符合 PDF/A 的文档的示例,但没有找到仅验证现有文档的示例。
有没有办法检查现有文档是否符合 iText 7?
最初作为评论发布(因为感觉太短而不能成为真正的答案),但现在应 OP 的要求添加为答案:
@mkl 写道:AFAIK iText 只是试图确保它本身不会引入任何问题,但它不包含 PDF/A 验证器。
我回答:我确认。 iText 不是 PDF 验证器。
欧盟正在赞助开源 PDF/A 验证器的开发 iText 正在通过 PDF Association 跟进其开发。 iText 没有计划开发另一个验证器来与之竞争 由欧盟资助的。
有关详细信息,请参阅 verapdf.org。