You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ad...@apache.org on 2010/07/16 20:52:08 UTC

svn commit: r964902 - /pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/util/PageExtractorTest.java

Author: adam
Date: Fri Jul 16 18:52:08 2010
New Revision: 964902

URL: http://svn.apache.org/viewvc?rev=964902&view=rev
Log:
PDFBOX-777: Add utility class to easily extract a range of pages from a PDF.  Now closes the newly created document, which provides for a good example.

Modified:
    pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/util/PageExtractorTest.java

Modified: pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/util/PageExtractorTest.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/util/PageExtractorTest.java?rev=964902&r1=964901&r2=964902&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/util/PageExtractorTest.java (original)
+++ pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/util/PageExtractorTest.java Fri Jul 16 18:52:08 2010
@@ -41,6 +41,16 @@ public class PageExtractorTest extends T
     protected void tearDown() throws Exception {
     }
 
+    private void closeDoc(PDDocument doc) {
+        if(doc != null) {
+            try {
+                doc.close(); 
+            } catch(Exception e) {
+                /* Can't do much about this... */ 
+            };
+        }
+    }
+    
     /**
      * Test of extract method, of class org.apache.pdfbox.util.PageExtractor.
      */
@@ -48,6 +58,7 @@ public class PageExtractorTest extends T
         System.out.println("extract");
         
         PDDocument sourcePdf = null;
+        PDDocument result = null;
         try {
             try {
                 // this should work for most users
@@ -57,34 +68,40 @@ public class PageExtractorTest extends T
                 sourcePdf = PDDocument.load("pdfbox/pdfbox/src/test/resources/input/cweb.pdf");
             }
             PageExtractor instance = new PageExtractor(sourcePdf);
-            PDDocument result = instance.extract();
+            result = instance.extract();
             assertEquals(sourcePdf.getNumberOfPages(), result.getNumberOfPages());
+            closeDoc(result);
             
             instance = new PageExtractor(sourcePdf, 1, 1);
             result = instance.extract();
             assertEquals(1, result.getNumberOfPages());
+            closeDoc(result);
             
             instance = new PageExtractor(sourcePdf, 1, 5);
             result = instance.extract();
             assertEquals(5, result.getNumberOfPages());
+            closeDoc(result);
             
             instance = new PageExtractor(sourcePdf, 5, 10);
             result = instance.extract();
             assertEquals(6, result.getNumberOfPages());
+            closeDoc(result);
             
             instance = new PageExtractor(sourcePdf, -100, 50000);
             result = instance.extract();
             assertEquals(sourcePdf.getNumberOfPages(), result.getNumberOfPages());
+            closeDoc(result);
             
             instance = new PageExtractor(sourcePdf, 2, 1);
             result = instance.extract();
             assertEquals(0, result.getNumberOfPages());
+            closeDoc(result);
         } catch(Exception e) {
             e.printStackTrace();
             fail("Exception was thrown: " + e.getMessage());
         } finally {
-            if(sourcePdf != null)
-                try { sourcePdf.close(); } catch(Exception e) { /* Can't do much about this... */ };
+            closeDoc(sourcePdf);
+            closeDoc(result);
         }
     }    
 }