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 2020/10/26 18:50:25 UTC

svn commit: r1882886 - /pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/CreateVisibleSignature2.java

Author: tilman
Date: Mon Oct 26 18:50:24 2020
New Revision: 1882886

URL: http://svn.apache.org/viewvc?rev=1882886&view=rev
Log:
PDFBOX-3017: make image optional, see wish / comment by IsmailSahin in SO 44311502

Modified:
    pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/CreateVisibleSignature2.java

Modified: pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/CreateVisibleSignature2.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/CreateVisibleSignature2.java?rev=1882886&r1=1882885&r2=1882886&view=diff
==============================================================================
--- pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/CreateVisibleSignature2.java (original)
+++ pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/CreateVisibleSignature2.java Mon Oct 26 18:50:24 2020
@@ -81,7 +81,7 @@ public class CreateVisibleSignature2 ext
 {
     private SignatureOptions signatureOptions;
     private boolean lateExternalSigning = false;
-    private File imageFile;
+    private File imageFile = null;
 
     /**
      * Initialize the signature creator with a keystore (pkcs12) and pin that
@@ -414,14 +414,17 @@ public class CreateVisibleSignature2 ext
                 cs.setNonStrokingColor(Color.yellow);
                 cs.addRect(-5000, -5000, 10000, 10000);
                 cs.fill();
-                
-                // show background image
-                // save and restore graphics if the image is too large and needs to be scaled
-                cs.saveGraphicsState();
-                cs.transform(Matrix.getScaleInstance(0.25f, 0.25f));
-                PDImageXObject img = PDImageXObject.createFromFileByExtension(imageFile, doc);
-                cs.drawImage(img, 0, 0);
-                cs.restoreGraphicsState();
+
+                if (imageFile != null)
+                {
+                    // show background image
+                    // save and restore graphics if the image is too large and needs to be scaled
+                    cs.saveGraphicsState();
+                    cs.transform(Matrix.getScaleInstance(0.25f, 0.25f));
+                    PDImageXObject img = PDImageXObject.createFromFileByExtension(imageFile, doc);
+                    cs.drawImage(img, 0, 0);
+                    cs.restoreGraphicsState();
+                }
 
                 // show text
                 float fontSize = 10;
@@ -507,9 +510,7 @@ public class CreateVisibleSignature2 ext
     public static void main(String[] args) throws KeyStoreException, CertificateException,
             IOException, NoSuchAlgorithmException, UnrecoverableKeyException
     {
-        // generate with
-        // keytool -storepass 123456 -storetype PKCS12 -keystore file.p12 -genkey -alias client -keyalg RSA
-        if (args.length < 4)
+        if (args.length < 3)
         {
             usage();
             System.exit(1);
@@ -546,7 +547,10 @@ public class CreateVisibleSignature2 ext
 
         CreateVisibleSignature2 signing = new CreateVisibleSignature2(keystore, pin.clone());
 
-        signing.setImageFile(new File(args[3]));
+        if (args.length >= 4)
+        {
+            signing.setImageFile(new File(args[3]));
+        }
 
         File signedDocumentFile;
         String name = documentFile.getName();
@@ -575,6 +579,9 @@ public class CreateVisibleSignature2 ext
                            "options:\n" +
                            "  -tsa <url>    sign timestamp using the given TSA server\n"+
                            "  -e            sign using external signature creation scenario");
+
+        // generate pkcs12-keystore-file with
+        // keytool -storepass 123456 -storetype PKCS12 -keystore file.p12 -genkey -alias client -keyalg RSA
     }
 
 }