You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2017/06/24 11:56:09 UTC

svn commit: r1799766 - /pdfbox/branches/2.0/examples/src/main/java/org/apache/pdfbox/examples/signature/CreateVisibleSignature.java

Author: tilman
Date: Sat Jun 24 11:56:09 2017
New Revision: 1799766

URL: http://svn.apache.org/viewvc?rev=1799766&view=rev
Log:
PDFBOX-3820: add methods for signing existing signature fields, as suggested by Lonzak

Modified:
    pdfbox/branches/2.0/examples/src/main/java/org/apache/pdfbox/examples/signature/CreateVisibleSignature.java

Modified: pdfbox/branches/2.0/examples/src/main/java/org/apache/pdfbox/examples/signature/CreateVisibleSignature.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/examples/src/main/java/org/apache/pdfbox/examples/signature/CreateVisibleSignature.java?rev=1799766&r1=1799765&r2=1799766&view=diff
==============================================================================
--- pdfbox/branches/2.0/examples/src/main/java/org/apache/pdfbox/examples/signature/CreateVisibleSignature.java (original)
+++ pdfbox/branches/2.0/examples/src/main/java/org/apache/pdfbox/examples/signature/CreateVisibleSignature.java Sat Jun 24 11:56:09 2017
@@ -73,6 +73,17 @@ public class CreateVisibleSignature exte
         this.lateExternalSigning = lateExternalSigning;
     }
 
+    /**
+     * Set visible signature designer for a new signature field.
+     * 
+     * @param filename
+     * @param x position of the signature field
+     * @param y position of the signature field
+     * @param zoomPercent
+     * @param imageStream
+     * @param page the signature should be placed on
+     * @throws IOException
+     */
     public void setVisibleSignDesigner(String filename, int x, int y, int zoomPercent, 
             FileInputStream imageStream, int page) 
             throws IOException
@@ -81,6 +92,31 @@ public class CreateVisibleSignature exte
         visibleSignDesigner.xAxis(x).yAxis(y).zoom(zoomPercent).adjustForRotation();
     }
     
+    /**
+     * Set visible signature designer for an existing signature field.
+     * 
+     * @param zoomPercent
+     * @param imageStream
+     * @throws IOException
+     */
+    public void setVisibleSignDesigner(int zoomPercent, FileInputStream imageStream) 
+            throws IOException
+    {
+        visibleSignDesigner = new PDVisibleSignDesigner(imageStream);
+        visibleSignDesigner.zoom(zoomPercent);
+    }
+    
+    /**
+     * Set visible signature properties for new signature fields.
+     * 
+     * @param name
+     * @param location
+     * @param reason
+     * @param preferredSize
+     * @param page
+     * @param visualSignEnabled
+     * @throws IOException
+     */
     public void setVisibleSignatureProperties(String name, String location, String reason, int preferredSize, 
             int page, boolean visualSignEnabled) throws IOException
     {
@@ -88,6 +124,22 @@ public class CreateVisibleSignature exte
                 preferredSize(preferredSize).page(page).visualSignEnabled(visualSignEnabled).
                 setPdVisibleSignature(visibleSignDesigner);
     }
+    
+    /**
+     * Set visible signature properties for existing signature fields.
+     * 
+     * @param name
+     * @param location
+     * @param reason
+     * @param visualSignEnabled
+     * @throws IOException
+     */
+    public void setVisibleSignatureProperties(String name, String location, String reason,
+            boolean visualSignEnabled) throws IOException
+    {
+        visibleSignatureProperties.signerName(name).signerLocation(location).signatureReason(reason).
+                visualSignEnabled(visualSignEnabled).setPdVisibleSignature(visibleSignDesigner);
+    }
 
     /**
      * Initialize the signature creator with a keystore (pkcs12) and pin that