@@ -119,47 +119,47 @@ void testCreateFromRandomAccessMulti() throws IOException
119119 {
120120 String tiffPath = "src/test/resources/org/apache/pdfbox/pdmodel/graphics/image/ccittg4multi.tif" ;
121121
122- ImageInputStream is = ImageIO .createImageInputStream (new File (tiffPath ));
123- ImageReader imageReader = ImageIO .getImageReaders (is ).next ();
124- imageReader .setInput (is );
125- int countTiffImages = imageReader .getNumImages (true );
126- assertTrue (countTiffImages > 1 );
127-
128- try (PDDocument document = new PDDocument ())
122+ try (ImageInputStream is = ImageIO .createImageInputStream (new File (tiffPath )))
129123 {
130- int pdfPageNum = 0 ;
131- while (true )
124+ ImageReader imageReader = ImageIO .getImageReaders (is ).next ();
125+ imageReader .setInput (is );
126+ int countTiffImages = imageReader .getNumImages (true );
127+ assertTrue (countTiffImages > 1 );
128+ try (PDDocument document = new PDDocument ())
132129 {
133- PDImageXObject ximage = CCITTFactory .createFromFile (document , new File (tiffPath ), pdfPageNum );
134- if (ximage == null )
135- {
136- break ;
137- }
138- BufferedImage bim = imageReader .read (pdfPageNum );
139- validate (ximage , 1 , bim .getWidth (), bim .getHeight (), "tiff" , PDDeviceGray .INSTANCE .getName ());
140- checkIdent (bim , ximage .getOpaqueImage (null , 1 ));
141- PDPage page = new PDPage (PDRectangle .A4 );
142- float fX = ximage .getWidth () / page .getMediaBox ().getWidth ();
143- float fY = ximage .getHeight () / page .getMediaBox ().getHeight ();
144- float factor = Math .max (fX , fY );
145- document .addPage (page );
146- try (PDPageContentStream contentStream = new PDPageContentStream (document , page , AppendMode .APPEND , false ))
130+ int pdfPageNum = 0 ;
131+ while (true )
147132 {
148- contentStream .drawImage (ximage , 0 , 0 , ximage .getWidth () / factor , ximage .getHeight () / factor );
133+ PDImageXObject ximage = CCITTFactory .createFromFile (document , new File (tiffPath ), pdfPageNum );
134+ if (ximage == null )
135+ {
136+ break ;
137+ }
138+ BufferedImage bim = imageReader .read (pdfPageNum );
139+ validate (ximage , 1 , bim .getWidth (), bim .getHeight (), "tiff" , PDDeviceGray .INSTANCE .getName ());
140+ checkIdent (bim , ximage .getOpaqueImage (null , 1 ));
141+ PDPage page = new PDPage (PDRectangle .A4 );
142+ float fX = ximage .getWidth () / page .getMediaBox ().getWidth ();
143+ float fY = ximage .getHeight () / page .getMediaBox ().getHeight ();
144+ float factor = Math .max (fX , fY );
145+ document .addPage (page );
146+ try (PDPageContentStream contentStream = new PDPageContentStream (document , page , AppendMode .APPEND , false ))
147+ {
148+ contentStream .drawImage (ximage , 0 , 0 , ximage .getWidth () / factor , ximage .getHeight () / factor );
149+ }
150+ ++pdfPageNum ;
149151 }
150- ++pdfPageNum ;
152+
153+ assertEquals (countTiffImages , pdfPageNum );
154+
155+ document .save (TESTRESULTSDIR + "/multitiff.pdf" );
151156 }
152-
153- assertEquals (countTiffImages , pdfPageNum );
154-
155- document .save (TESTRESULTSDIR + "/multitiff.pdf" );
157+ try (PDDocument document = Loader .loadPDF (new File (TESTRESULTSDIR , "multitiff.pdf" ), (String ) null ))
158+ {
159+ assertEquals (countTiffImages , document .getNumberOfPages ());
160+ }
161+ imageReader .dispose ();
156162 }
157-
158- try (PDDocument document = Loader .loadPDF (new File (TESTRESULTSDIR , "multitiff.pdf" ), (String ) null ))
159- {
160- assertEquals (countTiffImages , document .getNumberOfPages ());
161- }
162- imageReader .dispose ();
163163 }
164164
165165 @ Test
0 commit comments