java – 如何使用PDFbox将元数据添加到PDF文档?
发布时间:2020-12-15 04:36:27 所属栏目:Java 来源:网络整理
导读:我有一个PDF文档的输入流可供我使用.我想将主题元数据添加到文档中,然后保存它.我不知道该怎么做. 我在这里看到了一个示例食谱:https://pdfbox.apache.org/1.8/cookbook/workingwithmetadata.html 但是,它仍然是模糊的.以下是我正在尝试的地方以及我有疑问
我有一个PDF文档的输入流可供我使用.我想将主题元数据添加到文档中,然后保存它.我不知道该怎么做.
我在这里看到了一个示例食谱:https://pdfbox.apache.org/1.8/cookbook/workingwithmetadata.html 但是,它仍然是模糊的.以下是我正在尝试的地方以及我有疑问的地方 PDDocument doc = PDDocument.load(myInputStream); PDDocumentCatalog catalog = doc.getDocumentCatalog(); InputStream newXMPData = ...; //what goes here? How can I add subject tag? PDMetadata newMetadata = new PDMetadata(doc,newXMLData,false ); catalog.setMetadata( newMetadata ); //does anything else need to happen to save the document?? //I would like an outputstream of the document (with metadata) so that I can save it to an S3 bucket 解决方法
这个答案使用xmpbox并来自源代码下载中的
AddMetadataFromDocInfo example:
XMPMetadata xmp = XMPMetadata.createXMPMetadata(); DublinCoreSchema dc = xmp.createAndAddDublinCoreSchema(); dc.setDescription("descr"); XmpSerializer serializer = new XmpSerializer(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); serializer.serialize(xmp,baos,true); PDMetadata metadata = new PDMetadata(doc); metadata.importXMPMetadata(baos.toByteArray()); doc.getDocumentCatalog().setMetadata(metadata); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |