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/22 11:45:28 UTC

svn commit: r1884696 - /pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/TextToPDF.java

Author: msahyoun
Date: Tue Dec 22 11:45:28 2020
New Revision: 1884696

URL: http://svn.apache.org/viewvc?rev=1884696&view=rev
Log:
PDFBOX-2602: change page sizes to use enum to build help text and validation

Modified:
    pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/TextToPDF.java

Modified: pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/TextToPDF.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/TextToPDF.java?rev=1884696&r1=1884695&r2=1884696&view=diff
==============================================================================
--- pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/TextToPDF.java (original)
+++ pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/TextToPDF.java Tue Dec 22 11:45:28 2020
@@ -74,8 +74,8 @@ public class TextToPDF implements Callab
     @Option(names = "-landscape", description = "set orientation to landscape")
     private boolean landscape = false;
 
-    @Option(names = "-pageSize", description = "the page size to use: Letter, Legal, A0, A1, A2, A3, A4, A5, A6 (default: ${DEFAULT-VALUE})")
-    private String pageSize = "Letter";
+    @Option(names = "-pageSize", description = "the page size to use. \nCandidates: ${COMPLETION-CANDIDATES} (default: ${DEFAULT-VALUE})")
+    private PageSizes pageSize = PageSizes.LETTER;
 
     @Option(names = "-standardFont", 
         description = "the font to use for the text. Either this or -ttf should be specified but not both.\nCandidates: ${COMPLETION-CANDIDATES} (default: ${DEFAULT-VALUE})")
@@ -93,6 +93,31 @@ public class TextToPDF implements Callab
     @Option(names = {"-h", "--help"}, usageHelp = true, description = "display this help message")
     boolean usageHelpRequested;
 
+    private enum PageSizes
+    {
+        LETTER(PDRectangle.LETTER),
+        LEGAL(PDRectangle.LEGAL),
+        A0(PDRectangle.A0),
+        A1(PDRectangle.A1),
+        A2(PDRectangle.A2),
+        A3(PDRectangle.A3),
+        A4(PDRectangle.A4),
+        A5(PDRectangle.A5),
+        A6(PDRectangle.A6);
+
+        final PDRectangle pageSize;
+
+        private PageSizes(PDRectangle pageSize)
+        {
+            this.pageSize = pageSize;
+        }
+
+        public PDRectangle getPageSize()
+        {
+            return this.pageSize;
+        }
+    }
+
     private enum Standard14Fonts
     {
         TIMES_ROMAN(PDType1Font.TIMES_ROMAN.getBaseFont(), PDType1Font.TIMES_ROMAN),
@@ -162,7 +187,7 @@ public class TextToPDF implements Callab
 
             setFont(font);
             setFontSize(fontSize);
-            setMediaBox(createRectangle(pageSize));
+            setMediaBox(pageSize.getPageSize());
             setLandscape(landscape);
 
             try (FileReader fileReader = new FileReader(infile))
@@ -173,7 +198,7 @@ public class TextToPDF implements Callab
         }
         catch (IOException ioe)
         {
-            SYSERR.println( "Error converting image to PDF: " + ioe.getMessage());
+            SYSERR.println( "Error converting text to PDF: " + ioe.getMessage());
             return 4;
         }
         return 0;
@@ -361,50 +386,6 @@ public class TextToPDF implements Callab
         }
     }
 
-    private static PDRectangle createRectangle( String paperSize )
-    {
-        if ("letter".equalsIgnoreCase(paperSize))
-        {
-            return PDRectangle.LETTER;
-        }
-        else if ("legal".equalsIgnoreCase(paperSize))
-        {
-            return PDRectangle.LEGAL;
-        }
-        else if ("A0".equalsIgnoreCase(paperSize))
-        {
-            return PDRectangle.A0;
-        }
-        else if ("A1".equalsIgnoreCase(paperSize))
-        {
-            return PDRectangle.A1;
-        }
-        else if ("A2".equalsIgnoreCase(paperSize))
-        {
-            return PDRectangle.A2;
-        }
-        else if ("A3".equalsIgnoreCase(paperSize))
-        {
-            return PDRectangle.A3;
-        }
-    	else if ("A4".equalsIgnoreCase(paperSize))
-        {
-            return PDRectangle.A4;
-        }
-        else if ("A5".equalsIgnoreCase(paperSize))
-        {
-            return PDRectangle.A5;
-        }
-        else if ("A6".equalsIgnoreCase(paperSize))
-        {
-            return PDRectangle.A6;
-        }
-        else
-        {
-            return null;
-        }
-    }
-
     /**
      * @return Returns the font.
      */