Return-Path: X-Original-To: apmail-pdfbox-commits-archive@www.apache.org Delivered-To: apmail-pdfbox-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id C850E11CF1 for ; Tue, 1 Jul 2014 03:56:58 +0000 (UTC) Received: (qmail 93352 invoked by uid 500); 1 Jul 2014 03:56:58 -0000 Delivered-To: apmail-pdfbox-commits-archive@pdfbox.apache.org Received: (qmail 93326 invoked by uid 500); 1 Jul 2014 03:56:58 -0000 Mailing-List: contact commits-help@pdfbox.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@pdfbox.apache.org Delivered-To: mailing list commits@pdfbox.apache.org Received: (qmail 93317 invoked by uid 99); 1 Jul 2014 03:56:58 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 01 Jul 2014 03:56:58 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 01 Jul 2014 03:56:58 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id D01F82388831; Tue, 1 Jul 2014 03:56:33 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1606974 - /pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/PDFToImage.java Date: Tue, 01 Jul 2014 03:56:33 -0000 To: commits@pdfbox.apache.org From: jahewson@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20140701035633.D01F82388831@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: jahewson Date: Tue Jul 1 03:56:33 2014 New Revision: 1606974 URL: http://svn.apache.org/r1606974 Log: PDFBOX-2172: Extra options for PDFToImage Modified: pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/PDFToImage.java 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=1606974&r1=1606973&r2=1606974&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 Tue Jul 1 03:56:33 2014 @@ -37,21 +37,23 @@ import org.apache.pdfbox.util.ImageIOUti /** * Convert a PDF document to an image. * - * @author Ben Litchfield - * @version $Revision: 1.6 $ + * @author Ben Litchfield */ public class PDFToImage { - private static final String PASSWORD = "-password"; private static final String START_PAGE = "-startPage"; private static final String END_PAGE = "-endPage"; - private static final String IMAGE_FORMAT = "-imageType"; + private static final String PAGE = "-page"; + private static final String IMAGE_TYPE = "-imageType"; + private static final String FORMAT = "-format"; private static final String OUTPUT_PREFIX = "-outputPrefix"; + private static final String PREFIX = "-prefix"; private static final String COLOR = "-color"; private static final String RESOLUTION = "-resolution"; + private static final String DPI = "-dpi"; private static final String CROPBOX = "-cropbox"; - private static final String NONSEQ = "-nonSeq"; + private static final String NON_SEQ = "-nonSeq"; /** * private constructor. @@ -120,12 +122,22 @@ public class PDFToImage } endPage = Integer.parseInt( args[i] ); } - else if( args[i].equals( IMAGE_FORMAT ) ) + else if( args[i].equals( PAGE ) ) + { + i++; + if( i >= args.length ) + { + usage(); + } + startPage = Integer.parseInt( args[i] ); + endPage = Integer.parseInt( args[i] ); + } + else if( args[i].equals(IMAGE_TYPE) || args[i].equals(FORMAT) ) { i++; imageFormat = args[i]; } - else if( args[i].equals( OUTPUT_PREFIX ) ) + else if( args[i].equals( OUTPUT_PREFIX ) || args[i].equals( PREFIX ) ) { i++; outputPrefix = args[i]; @@ -135,7 +147,7 @@ public class PDFToImage i++; color = args[i]; } - else if( args[i].equals( RESOLUTION ) ) + else if( args[i].equals( RESOLUTION ) || args[i].equals( DPI ) ) { i++; dpi = Integer.parseInt(args[i]); @@ -143,15 +155,15 @@ public class PDFToImage else if( args[i].equals( CROPBOX ) ) { i++; - cropBoxLowerLeftX = Float.valueOf(args[i]).floatValue(); + cropBoxLowerLeftX = Float.valueOf(args[i]); i++; - cropBoxLowerLeftY = Float.valueOf(args[i]).floatValue(); + cropBoxLowerLeftY = Float.valueOf(args[i]); i++; - cropBoxUpperRightX = Float.valueOf(args[i]).floatValue(); + cropBoxUpperRightX = Float.valueOf(args[i]); i++; - cropBoxUpperRightY = Float.valueOf(args[i]).floatValue(); + cropBoxUpperRightY = Float.valueOf(args[i]); } - else if( args[i].equals( NONSEQ ) ) + else if( args[i].equals(NON_SEQ) ) { useNonSeqParser = true; } @@ -276,12 +288,13 @@ public class PDFToImage { System.err.println( "Usage: java -jar pdfbox-app-x.y.z.jar PDFToImage [OPTIONS] \n" + " -password Password to decrypt document\n" + - " -imageType (" + getImageFormats() + ")\n" + - " -outputPrefix Filename prefix for image files\n" + - " -startPage The first page to start extraction(1 based)\n" + + " -format Image format: " + getImageFormats() + "\n" + + " -prefix Filename prefix for image files\n" + + " -page The only page to extract (1-based)\n" + + " -startPage The first page to start extraction (1-based)\n" + " -endPage The last page to extract(inclusive)\n" + " -color The color depth (valid: bilevel, indexed, gray, rgb, rgba)\n" + - " -resolution The bitmap resolution in dpi\n" + + " -dpi The DPI of the output image\n" + " -cropbox The page area to export\n" + " -nonSeq Enables the new non-sequential parser\n" + " The PDF document to use\n" @@ -291,15 +304,18 @@ public class PDFToImage private static String getImageFormats() { - StringBuffer retval = new StringBuffer(); + StringBuilder retval = new StringBuilder(); String[] formats = ImageIO.getReaderFormatNames(); for( int i = 0; i < formats.length; i++ ) { - retval.append( formats[i] ); - if( i + 1 < formats.length ) - { - retval.append( "," ); - } + if(formats[i].toLowerCase().equals(formats[i])) + { + retval.append( formats[i] ); + if( i + 1 < formats.length ) + { + retval.append( ", " ); + } + } } return retval.toString(); } @@ -321,5 +337,4 @@ public class PDFToImage } } - }