You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ms...@apache.org on 2020/12/28 14:39:50 UTC

svn commit: r1884877 - in /pdfbox/trunk: debugger/src/main/java/org/apache/pdfbox/debugger/ tools/src/main/java/org/apache/pdfbox/tools/

Author: msahyoun
Date: Mon Dec 28 14:39:50 2020
New Revision: 1884877

URL: http://svn.apache.org/viewvc?rev=1884877&view=rev
Log:
PDFBOX-2602: add option to input password(s) interactively

Modified:
    pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java
    pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/Decrypt.java
    pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/Encrypt.java
    pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/ExtractImages.java
    pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/ExtractText.java
    pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/PDFSplit.java
    pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/PDFToImage.java
    pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/PrintPDF.java
    pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/Version.java
    pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/WriteDecodedDoc.java

Modified: pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java?rev=1884877&r1=1884876&r2=1884877&view=diff
==============================================================================
--- pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java (original)
+++ pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java Mon Dec 28 14:39:50 2020
@@ -186,7 +186,7 @@ public class PDFDebugger extends JFrame
     @Option(names = { "-h", "--help" }, usageHelp = true, description = "display this help message")
     boolean usageHelpRequested;
 
-    @Option(names = "-password", description = "the password for the PDF or certificate in keystore.")
+    @Option(names = "-password", description = "the password for the PDF or certificate in keystore.", arity = "0..1", interactive = true)
     private String password;
 
     @Option(names = "-viewstructure", description = "activate structure mode on startup")

Modified: pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/Decrypt.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/Decrypt.java?rev=1884877&r1=1884876&r2=1884877&view=diff
==============================================================================
--- pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/Decrypt.java (original)
+++ pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/Decrypt.java Mon Dec 28 14:39:50 2020
@@ -58,7 +58,7 @@ public final class Decrypt implements Ca
         "This is only required if the document is encrypted with a certificate, otherwise only the password is required.")
     private String keyStore;
 
-    @Option(names = "-password", description = "the password for the PDF or certificate in keystore.")    
+    @Option(names = "-password", arity="0..1", interactive = true, description = "the password for the PDF or certificate in keystore.")    
     private String password;
 
     @Parameters(paramLabel = "inputfile", index = "0", arity = "1", description = "the PDF file to decrypt.")

Modified: pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/Encrypt.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/Encrypt.java?rev=1884877&r1=1884876&r2=1884877&view=diff
==============================================================================
--- pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/Encrypt.java (original)
+++ pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/Encrypt.java Mon Dec 28 14:39:50 2020
@@ -62,10 +62,10 @@ public final class Encrypt implements Ca
     @SuppressWarnings("squid:S106")
     private static final PrintStream SYSERR = System.err;
 
-    @Option(names = "-O", description = "set the owner password (ignored if certFile is set)")
+    @Option(names = "-O", description = "set the owner password (ignored if certFile is set)", arity = "0..1", interactive = true)
     private String ownerPassword;
 
-    @Option(names = "-U", description = "set the user password (ignored if certFile is set)")
+    @Option(names = "-U", description = "set the user password (ignored if certFile is set)", arity = "0..1", interactive = true)
     private String userPassword;
 
     @Option(names = "-certFile", paramLabel="certFile", description = "Path to X.509 certificate (repeat both if needed)")
@@ -104,10 +104,6 @@ public final class Encrypt implements Ca
     @Parameters(paramLabel = "outputfile", index = "1", arity="0..1", description = "the encrypted PDF file. If left blank the original file will be overwritten.")
     private File outfile;
 
-    private Encrypt()
-    {
-    }
-
     /**
      * This is the entry point for the application.
      *

Modified: pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/ExtractImages.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/ExtractImages.java?rev=1884877&r1=1884876&r2=1884877&view=diff
==============================================================================
--- pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/ExtractImages.java (original)
+++ pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/ExtractImages.java Mon Dec 28 14:39:50 2020
@@ -79,7 +79,7 @@ public final class ExtractImages impleme
             COSName.DCT_DECODE.getName(),
             COSName.DCT_DECODE_ABBREVIATION.getName());
 
-    @Option(names = "-password", description = "the password for the PDF or certificate in keystore.")    
+    @Option(names = "-password", description = "the password for the PDF or certificate in keystore.", arity = "0..1", interactive = true)    
     private String password;
 
     @Option(names = "-prefix", description = "the image prefix (default to pdf name).")    

Modified: pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/ExtractText.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/ExtractText.java?rev=1884877&r1=1884876&r2=1884877&view=diff
==============================================================================
--- pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/ExtractText.java (original)
+++ pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/ExtractText.java Mon Dec 28 14:39:50 2020
@@ -94,7 +94,7 @@ public final class ExtractText  implemen
     @Option(names = "-ignoreBeads", description = "Disables the separation by beads")
     private boolean ignoreBeads = false;
 
-    @Option(names = "-password", description = "the password for the PDF or certificate in keystore.")    
+    @Option(names = "-password", description = "the password for the PDF or certificate in keystore.", arity = "0..1", interactive = true)    
     private String password = "";
 
     @Option(names = "-rotationMagic", description = "Analyze each page for rotated/skewed text, rotate to 0° " +

Modified: pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/PDFSplit.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/PDFSplit.java?rev=1884877&r1=1884876&r2=1884877&view=diff
==============================================================================
--- pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/PDFSplit.java (original)
+++ pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/PDFSplit.java Mon Dec 28 14:39:50 2020
@@ -46,7 +46,7 @@ public final class PDFSplit implements C
     @SuppressWarnings("squid:S106")
     private static final PrintStream SYSERR = System.err;
 
-    @Option(names = "-password", description = "the password to decrypt the document.")    
+    @Option(names = "-password", description = "the password to decrypt the document.", arity = "0..1", interactive = true)    
     private String password;
 
     @Option(names = "-split", description = "split after this many pages (default 1, if startPage and endPage are unset).")    

Modified: pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/PDFToImage.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/PDFToImage.java?rev=1884877&r1=1884876&r2=1884877&view=diff
==============================================================================
--- pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/PDFToImage.java (original)
+++ pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/PDFToImage.java Mon Dec 28 14:39:50 2020
@@ -53,7 +53,7 @@ public final class PDFToImage implements
     @SuppressWarnings("squid:S106")
     private static final PrintStream SYSERR = System.err;
 
-    @Option(names = "-password", description = "the password to decrypt the document")
+    @Option(names = "-password", description = "the password to decrypt the document", arity = "0..1", interactive = true)
     private String password;
 
     @Option(names = {"-format"}, description = "the image file format (default: ${DEFAULT-VALUE})")    

Modified: pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/PrintPDF.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/PrintPDF.java?rev=1884877&r1=1884876&r2=1884877&view=diff
==============================================================================
--- pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/PrintPDF.java (original)
+++ pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/PrintPDF.java Mon Dec 28 14:39:50 2020
@@ -49,7 +49,7 @@ public final class PrintPDF implements C
     @SuppressWarnings("squid:S106")
     private static final PrintStream SYSERR = System.err;
 
-    @Option(names = "-password", description = "the password to decrypt the document.")    
+    @Option(names = "-password", description = "the password to decrypt the document.", arity = "0..1", interactive = true)    
     private String password;
 
     @Option(names = "-silentPrint", description = "print without printer dialog box.")    

Modified: pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/Version.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/Version.java?rev=1884877&r1=1884876&r2=1884877&view=diff
==============================================================================
--- pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/Version.java (original)
+++ pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/Version.java Mon Dec 28 14:39:50 2020
@@ -39,11 +39,6 @@ final class Version implements Callable<
 
     @Spec CommandSpec spec;
 
-    private Version()
-    {
-        //should not be constructed.
-    }
-
     /**
      * Get the version of PDFBox or unknown if it is not known.
      *

Modified: pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/WriteDecodedDoc.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/WriteDecodedDoc.java?rev=1884877&r1=1884876&r2=1884877&view=diff
==============================================================================
--- pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/WriteDecodedDoc.java (original)
+++ pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/WriteDecodedDoc.java Mon Dec 28 14:39:50 2020
@@ -48,7 +48,7 @@ public class WriteDecodedDoc implements
     @SuppressWarnings("squid:S106")
     private static final PrintStream SYSERR = System.err;
 
-    @Option(names = "-password", description = "the password to decrypt the document")
+    @Option(names = "-password", description = "the password to decrypt the document", arity = "0..1", interactive = true)
     private String password;
 
     @Option(names = "-skipImages", description = "don't uncompress images")