You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by le...@apache.org on 2014/08/23 13:53:39 UTC
svn commit: r1620017 - in /pdfbox/trunk/examples: pom.xml
src/main/java/org/apache/pdfbox/examples/pdmodel/AddMetadataFromDocInfo.java
Author: lehmi
Date: Sat Aug 23 11:53:39 2014
New Revision: 1620017
URL: http://svn.apache.org/r1620017
Log:
PDFBOX-2276: switched AddMetadataFromDocInfo from jempbox to xmpbox, removed jempbox as dependency
Modified:
pdfbox/trunk/examples/pom.xml
pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/AddMetadataFromDocInfo.java
Modified: pdfbox/trunk/examples/pom.xml
URL: http://svn.apache.org/viewvc/pdfbox/trunk/examples/pom.xml?rev=1620017&r1=1620016&r2=1620017&view=diff
==============================================================================
--- pdfbox/trunk/examples/pom.xml (original)
+++ pdfbox/trunk/examples/pom.xml Sat Aug 23 11:53:39 2014
@@ -54,11 +54,6 @@
<version>${project.version}</version>
</dependency>
<dependency>
- <groupId>org.apache.pdfbox</groupId>
- <artifactId>jempbox</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
<groupId>${project.groupId}</groupId>
<artifactId>xmpbox</artifactId>
<version>${project.version}</version>
Modified: pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/AddMetadataFromDocInfo.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/AddMetadataFromDocInfo.java?rev=1620017&r1=1620016&r2=1620017&view=diff
==============================================================================
--- pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/AddMetadataFromDocInfo.java (original)
+++ pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/AddMetadataFromDocInfo.java Sat Aug 23 11:53:39 2014
@@ -16,16 +16,17 @@
*/
package org.apache.pdfbox.examples.pdmodel;
-import org.apache.jempbox.xmp.XMPMetadata;
-import org.apache.jempbox.xmp.XMPSchemaBasic;
-import org.apache.jempbox.xmp.XMPSchemaDublinCore;
-import org.apache.jempbox.xmp.XMPSchemaPDF;
-
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDDocumentCatalog;
import org.apache.pdfbox.pdmodel.PDDocumentInformation;
import org.apache.pdfbox.pdmodel.common.PDMetadata;
+import org.apache.xmpbox.XMPMetadata;
+import org.apache.xmpbox.schema.AdobePDFSchema;
+import org.apache.xmpbox.schema.DublinCoreSchema;
+import org.apache.xmpbox.schema.XMPBasicSchema;
+import org.apache.xmpbox.xml.XmpSerializer;
+import java.io.ByteArrayOutputStream;
import java.util.GregorianCalendar;
/**
@@ -33,8 +34,8 @@ import java.util.GregorianCalendar;
*
* Usage: java org.apache.pdfbox.examples.pdmodel.AddMetadataToDocument <input-pdf> <output-pdf>
*
- * @author <a href="mailto:ben@benlitchfield.com">Ben Litchfield</a>
- * @version $Revision: 1.4 $
+ * @author Ben Litchfield
+ *
*/
public class AddMetadataFromDocInfo
{
@@ -71,26 +72,30 @@ public class AddMetadataFromDocInfo
PDDocumentCatalog catalog = document.getDocumentCatalog();
PDDocumentInformation info = document.getDocumentInformation();
- XMPMetadata metadata = new XMPMetadata();
+ XMPMetadata metadata = XMPMetadata.createXMPMetadata();
- XMPSchemaPDF pdfSchema = metadata.addPDFSchema();
+ AdobePDFSchema pdfSchema = metadata.createAndAddAdobePDFSchema();
pdfSchema.setKeywords( info.getKeywords() );
pdfSchema.setProducer( info.getProducer() );
- XMPSchemaBasic basicSchema = metadata.addBasicSchema();
+ XMPBasicSchema basicSchema = metadata.createAndAddXMPBasicSchema();
basicSchema.setModifyDate( info.getModificationDate() );
basicSchema.setCreateDate( info.getCreationDate() );
basicSchema.setCreatorTool( info.getCreator() );
basicSchema.setMetadataDate( new GregorianCalendar() );
- XMPSchemaDublinCore dcSchema = metadata.addDublinCoreSchema();
+ DublinCoreSchema dcSchema = metadata.createAndAddDublinCoreSchema();
dcSchema.setTitle( info.getTitle() );
dcSchema.addCreator( "PDFBox" );
dcSchema.setDescription( info.getSubject() );
PDMetadata metadataStream = new PDMetadata(document);
- metadataStream.importXMPMetadata( metadata.asByteArray() );
catalog.setMetadata( metadataStream );
+
+ XmpSerializer serializer = new XmpSerializer();
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ serializer.serialize(metadata, baos, false);
+ metadataStream.importXMPMetadata( baos.toByteArray() );
document.save( args[1] );
}