我有以下问题:我想将 PDF/A-1A 文档转换为 PDF/A-3A。原始文档由 Arobat Reader Pro 验证,因此我可以假设它符合 PDF/A-1A。
我尝试使用以下代码转换 PDF 元数据:
private PDDocumentCatalog makeA3compliant(PDDocument doc) throws IOException, TransformerException {
PDDocumentCatalog cat = doc.getDocumentCatalog();
PDMetadata metadata = new PDMetadata(doc);
cat.setMetadata(metadata);
XMPMetadata xmp = new XMPMetadata();
XMPSchemaPDFAId pdfaid = new XMPSchemaPDFAId(xmp);
xmp.addSchema(pdfaid);
XMPSchemaDublinCore dc = xmp.addDublinCoreSchema();
String creator = "TestCr";
String producer = "testPr";
dc.addCreator(creator);
dc.setAbout("");
XMPSchemaBasic xsb = xmp.addBasicSchema();
xsb.setAbout("");
xsb.setCreatorTool(creator);
xsb.setCreateDate(GregorianCalendar.getInstance());
PDDocumentInformation pdi = new PDDocumentInformation();
pdi.setProducer(producer);
pdi.setAuthor(creator);
doc.setDocumentInformation(pdi);
XMPSchemaPDF pdf = xmp.addPDFSchema();
pdf.setProducer(producer);
pdf.setAbout("");
PDMarkInfo markinfo = new PDMarkInfo();
markinfo.setMarked(true);
doc.getDocumentCatalog().setMarkInfo(markinfo);
pdfaid.setPart(3);
pdfaid.setConformance("A");
pdfaid.setAbout("");
metadata.importXMPMetadata(xmp);
return cat;
}
如果我再次尝试使用 Acrobat 验证新文件,则会收到验证错误:
子集字体中的 CIDset 不完整(字体包含未列出的字形)
如果我尝试使用此在线验证器(http://www.pdf-tools.com/pdf/validate-pdfa-online.aspx)验证文件,它是有效的 PDF/A-3A....
我错过了什么吗?
没有人能帮忙吗?
编辑:这是PDF文件