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:48:45 UTC

svn commit: r1620016 - /pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdfa/CreatePDFA.java

Author: lehmi
Date: Sat Aug 23 11:48:44 2014
New Revision: 1620016

URL: http://svn.apache.org/r1620016
Log:
PDFBOX-2276: switched CreatePDFA from jempbox to xmpbox

Modified:
    pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdfa/CreatePDFA.java

Modified: pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdfa/CreatePDFA.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdfa/CreatePDFA.java?rev=1620016&r1=1620015&r2=1620016&view=diff
==============================================================================
--- pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdfa/CreatePDFA.java (original)
+++ pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdfa/CreatePDFA.java Sat Aug 23 11:48:44 2014
@@ -16,12 +16,11 @@
  */
 package org.apache.pdfbox.examples.pdfa;
 
+import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 
-import org.apache.jempbox.xmp.XMPMetadata;
-import org.apache.jempbox.xmp.pdfa.XMPSchemaPDFAId;
 import org.apache.pdfbox.pdmodel.PDDocument;
 import org.apache.pdfbox.pdmodel.PDDocumentCatalog;
 import org.apache.pdfbox.pdmodel.PDPage;
@@ -30,6 +29,11 @@ import org.apache.pdfbox.pdmodel.edit.PD
 import org.apache.pdfbox.pdmodel.font.PDFont;
 import org.apache.pdfbox.pdmodel.font.PDTrueTypeFont;
 import org.apache.pdfbox.pdmodel.graphics.color.PDOutputIntent;
+import org.apache.xmpbox.XMPMetadata;
+import org.apache.xmpbox.schema.PDFAIdentificationSchema;
+import org.apache.xmpbox.type.BadFieldValueException;
+import org.apache.xmpbox.xml.XmpSerializationException;
+import org.apache.xmpbox.xml.XmpSerializer;
 
 import javax.xml.transform.TransformerException;
 
@@ -91,16 +95,26 @@ public class CreatePDFA
             PDMetadata metadata = new PDMetadata(doc);
             cat.setMetadata(metadata);
 
-            // jempbox version
-            XMPMetadata xmp = new XMPMetadata();
-            XMPSchemaPDFAId pdfaid = new XMPSchemaPDFAId(xmp);
-            xmp.addSchema(pdfaid);
-            pdfaid.setConformance("B");
-            pdfaid.setPart(1);
-            pdfaid.setAbout("");
-            
-            metadata.importXMPMetadata( xmp.asByteArray() );
-            
+            XMPMetadata xmp = XMPMetadata.createXMPMetadata();
+            try
+            {
+                PDFAIdentificationSchema pdfaid = xmp.createAndAddPFAIdentificationSchema();
+                pdfaid.setConformance("B");
+                pdfaid.setPart(1);
+                pdfaid.setAboutAsSimple("PDFBox PDFA sample");
+                XmpSerializer serializer = new XmpSerializer();
+                ByteArrayOutputStream baos = new ByteArrayOutputStream();
+                serializer.serialize(xmp, baos, false);
+                metadata.importXMPMetadata( baos.toByteArray() );
+            }
+            catch(BadFieldValueException badFieldexception)
+            {
+                // can't happen here, as the provided value is valid
+            }
+            catch(XmpSerializationException xmpException)
+            {
+                System.err.println(xmpException.getMessage());
+            }
             InputStream colorProfile = CreatePDFA.class.getResourceAsStream("/org/apache/pdfbox/resources/pdfa/sRGB Color Space Profile.icm");
             // create output intent
             PDOutputIntent oi = new PDOutputIntent(doc, colorProfile);