]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
enable setting creator
authorKeiron Liddle <keiron@apache.org>
Wed, 20 Nov 2002 07:51:35 +0000 (07:51 +0000)
committerKeiron Liddle <keiron@apache.org>
Wed, 20 Nov 2002 07:51:35 +0000 (07:51 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@195570 13f79535-47bb-0310-9956-ffa450edef68

src/org/apache/fop/pdf/PDFDocument.java
src/org/apache/fop/pdf/PDFInfo.java
src/org/apache/fop/render/AbstractRenderer.java
src/org/apache/fop/render/Renderer.java
src/org/apache/fop/render/pdf/PDFRenderer.java

index f4b115770438030bd29258211db3dde3777cce67..4c62c85fbe71dd1bfdc82bfb1eceb5a127ac5cd6 100644 (file)
@@ -192,6 +192,15 @@ public class PDFDocument {
         this.info.setProducer(producer);
     }
 
+    /**
+     * set the creator of the document
+     *
+     * @param creator string indicating application creating the document
+     */
+    public void setCreator(String creator) {
+        this.info.setCreator(creator);
+    }
+
     /**
      * Set the filter map to use for filters in this document.
      *
index 1004389f9212fb61cee1efd99317b288e5cf510b..9193648abcbd746594b0273469bfb12ab211f5f1 100644 (file)
@@ -47,6 +47,15 @@ public class PDFInfo extends PDFObject {
         this.producer = producer;
     }
 
+    /**
+     * set the creator string
+     *
+     * @param creator the document creator
+     */
+    public void setCreator(String creator) {
+        this.creator = creator;
+    }
+
     public void setTitle(String t) {
         this.title = t;
     }
@@ -84,6 +93,10 @@ public class PDFInfo extends PDFObject {
             p += "/Keywords (" + this.keywords + ")\n";
         }
 
+        if (creator != null) {
+            p += "/Creator (" + this.creator + ")\n";
+        }
+
         p += "/Producer (" + this.producer + ")\n";
 
         // creation date in form (D:YYYYMMDDHHmmSSOHH'mm')
index bf489acf66bb214cf0812ed69212c55d8f68c2c3..4c0823b1a8b48a4556e3ae1b3ec2523c25909a70 100644 (file)
@@ -95,6 +95,13 @@ public abstract class AbstractRenderer extends AbstractLogEnabled
      */
     protected int containingIPPosition = 0;
 
+    /** @see org.apache.fop.render.Renderer */
+    public void setProducer(String producer) {
+    }
+
+    /** @see org.apache.fop.render.Renderer */
+    public void setCreator(String creator) {
+    }
 
     /** @see org.apache.fop.render.Renderer */
     public void setUserAgent(FOUserAgent agent) {
index 9a489c7d7a3fdb2d81e1af77d44b6f10ed78bdc1..2fe1a3f0c999bfc69a58b525d1cbca0565aceb20 100644 (file)
@@ -47,6 +47,9 @@ public interface Renderer {
 
     /**
      * Initiates the rendering phase.
+     * This must only be called once for a rendering. If
+     * stopRenderer is called then this may be called again
+     * for a new document rendering.
      *
      * @param outputStream     The OutputStream to use for output
      * @exception IOException  If an I/O error occurs
@@ -56,6 +59,8 @@ public interface Renderer {
 
     /**
      * Signals the end of the rendering phase.
+     * The renderer should reset to an initial state and dispose of
+     * any resources for the completed rendering.
      *
      * @exception IOException  If an I/O error occurs
      */
@@ -92,6 +97,15 @@ public interface Renderer {
      */
     void setProducer(String producer);
 
+    /**
+     * Set the creator of the document to be rendered. If this method
+     * isn't called the renderer uses a default.
+     * Note: Not all renderers support this feature.
+     *
+     * @param creator  The name of the document creator
+     */
+    void setCreator(String creator);
+
     /**
      * Reports if out of order rendering is supported. <p>
      *
index 609023e1aeca5176e5e140ca15ee1077f56a817c..16d23e79a0ead0e91215e0b8f4637e7b6e0de6d1 100644 (file)
@@ -112,7 +112,9 @@ public class PDFRenderer extends PrintRenderer {
     protected HashMap pageReferences = new HashMap();
     protected HashMap pvReferences = new HashMap();
 
-    private String producer;
+    private String producer = "FOP";
+
+    private String creator = null;
 
     /**
      * The output stream to write the document to
@@ -221,6 +223,15 @@ public class PDFRenderer extends PrintRenderer {
 
     }
 
+    /**
+     * set the document creator
+     *
+     * @param creator string indicating application that is creating the document
+     */
+    public void setCreator(String crea) {
+        creator = crea;
+    }
+
     /**
      * set the PDF document's producer
      *
@@ -240,8 +251,9 @@ public class PDFRenderer extends PrintRenderer {
 
     public void startRenderer(OutputStream stream) throws IOException {
         ostream = stream;
-        this.pdfDoc = new PDFDocument(Version.getVersion());
-        this.pdfDoc.setProducer(producer);
+        producer = "FOP " + Version.getVersion();
+        this.pdfDoc = new PDFDocument(producer);
+        this.pdfDoc.setCreator(creator);
         this.pdfDoc.setFilterMap(filterMap);
         pdfDoc.outputHeader(stream);
     }