@@ -13,55 +13,50 @@ public ObjectExtractor(PDDocument pdfDocument) {
1313 this .pdfDocument = pdfDocument ;
1414 }
1515
16+ // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - //
1617 protected Page extractPage (Integer pageNumber ) throws IOException {
17-
18- if (pageNumber > this .pdfDocument .getNumberOfPages () || pageNumber < 1 ) {
19- throw new java .lang .IndexOutOfBoundsException (
20- "Page number does not exist" );
18+ if (pageNumber > pdfDocument .getNumberOfPages () || pageNumber < 1 ) {
19+ throw new java .lang .IndexOutOfBoundsException ("Page number does not exist." );
2120 }
21+ PDPage page = pdfDocument .getPage (pageNumber - 1 );
2222
23- PDPage p = this .pdfDocument .getPage (pageNumber - 1 );
24-
25- ObjectExtractorStreamEngine se = new ObjectExtractorStreamEngine (p );
26- se .processPage (p );
27-
28-
29- TextStripper pdfTextStripper = new TextStripper (this .pdfDocument , pageNumber );
23+ ObjectExtractorStreamEngine streamEngine = new ObjectExtractorStreamEngine (page );
24+ streamEngine .processPage (page );
3025
31- pdfTextStripper .process ();
26+ TextStripper textStripper = new TextStripper (pdfDocument , pageNumber );
27+ textStripper .process ();
3228
33- Utils .sort (pdfTextStripper .textElements , Rectangle .ILL_DEFINED_ORDER );
29+ Utils .sort (textStripper .textElements , Rectangle .ILL_DEFINED_ORDER );
3430
35- float w , h ;
36- int pageRotation = p .getRotation ();
37- if (Math .abs (pageRotation ) == 90 || Math .abs (pageRotation ) == 270 ) {
38- w = p .getCropBox ().getHeight ();
39- h = p .getCropBox ().getWidth ();
31+ float width , height ;
32+ int rotation = page .getRotation ();
33+ if (Math .abs (rotation ) == 90 || Math .abs (rotation ) == 270 ) {
34+ width = page .getCropBox ().getHeight ();
35+ height = page .getCropBox ().getWidth ();
4036 } else {
41- w = p .getCropBox ().getWidth ();
42- h = p .getCropBox ().getHeight ();
37+ width = page .getCropBox ().getWidth ();
38+ height = page .getCropBox ().getHeight ();
4339 }
4440
45- return new Page (0 , 0 , w , h , pageRotation , pageNumber , p , this .pdfDocument , pdfTextStripper .textElements ,
46- se .rulings , pdfTextStripper .minCharWidth , pdfTextStripper .minCharHeight , pdfTextStripper .spatialIndex );
41+ return new Page (0 , 0 , width , height , rotation , pageNumber , page , pdfDocument , streamEngine , textStripper );
4742 }
4843
44+ // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - //
4945 public PageIterator extract (Iterable <Integer > pages ) {
5046 return new PageIterator (this , pages );
5147 }
5248
5349 public PageIterator extract () {
54- return extract (Utils .range (1 , this . pdfDocument .getNumberOfPages () + 1 ));
50+ return extract (Utils .range (1 , pdfDocument .getNumberOfPages () + 1 ));
5551 }
5652
5753 public Page extract (int pageNumber ) {
5854 return extract (Utils .range (pageNumber , pageNumber + 1 )).next ();
5955 }
6056
57+ // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - //
6158 public void close () throws IOException {
62- this . pdfDocument .close ();
59+ pdfDocument .close ();
6360 }
64-
65-
66-
61+
6762}
0 commit comments