Java – how to add metadata to PDF documents using pdfbox?
•
Java
I have an input stream of PDF documents for me to use I want to add the topic metadata to the document and save it I don't know what to do
Here I see an example recipe: https://pdfbox.apache.org/1.8/cookbook/workingwithmetadata.html
However, it is still vague Here are what I'm trying to do and what I have questions about
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
Solution
This answer uses xmp@R_817_2419 @And from the addmetadatafromdocinfo example in the source code download:
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);
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码