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 &lt;input-pdf&gt; &lt;output-pdf&gt;
  *
- * @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] );
             }