You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2026/02/03 21:34:25 UTC
svn commit: r1931692 - pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image
Author: tilman
Date: Tue Feb 3 21:34:23 2026
New Revision: 1931692
Log:
PDFBOX-5660: close input, as suggested by Valery Bokov; closes #413
Modified:
pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/CCITTFactoryTest.java
Modified: pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/CCITTFactoryTest.java
==============================================================================
--- pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/CCITTFactoryTest.java Tue Feb 3 20:47:16 2026 (r1931691)
+++ pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/CCITTFactoryTest.java Tue Feb 3 21:34:23 2026 (r1931692)
@@ -120,47 +120,47 @@ class CCITTFactoryTest
{
String tiffPath = "src/test/resources/org/apache/pdfbox/pdmodel/graphics/image/ccittg4multi.tif";
- ImageInputStream is = ImageIO.createImageInputStream(new File(tiffPath));
- ImageReader imageReader = ImageIO.getImageReaders(is).next();
- imageReader.setInput(is);
- int countTiffImages = imageReader.getNumImages(true);
- assertTrue(countTiffImages > 1);
-
- try (PDDocument document = new PDDocument())
+ try (ImageInputStream is = ImageIO.createImageInputStream(new File(tiffPath)))
{
- int pdfPageNum = 0;
- while (true)
+ ImageReader imageReader = ImageIO.getImageReaders(is).next();
+ imageReader.setInput(is);
+ int countTiffImages = imageReader.getNumImages(true);
+ assertTrue(countTiffImages > 1);
+ try (PDDocument document = new PDDocument())
{
- PDImageXObject ximage = CCITTFactory.createFromFile(document, new File(tiffPath), pdfPageNum);
- if (ximage == null)
- {
- break;
- }
- BufferedImage bim = imageReader.read(pdfPageNum);
- validate(ximage, 1, bim.getWidth(), bim.getHeight(), "tiff", PDDeviceGray.INSTANCE.getName());
- checkIdent(bim, ximage.getOpaqueImage(null, 1));
- PDPage page = new PDPage(PDRectangle.A4);
- float fX = ximage.getWidth() / page.getMediaBox().getWidth();
- float fY = ximage.getHeight() / page.getMediaBox().getHeight();
- float factor = Math.max(fX, fY);
- document.addPage(page);
- try (PDPageContentStream contentStream = new PDPageContentStream(document, page, AppendMode.APPEND, false))
+ int pdfPageNum = 0;
+ while (true)
{
- contentStream.drawImage(ximage, 0, 0, ximage.getWidth() / factor, ximage.getHeight() / factor);
+ PDImageXObject ximage = CCITTFactory.createFromFile(document, new File(tiffPath), pdfPageNum);
+ if (ximage == null)
+ {
+ break;
+ }
+ BufferedImage bim = imageReader.read(pdfPageNum);
+ validate(ximage, 1, bim.getWidth(), bim.getHeight(), "tiff", PDDeviceGray.INSTANCE.getName());
+ checkIdent(bim, ximage.getOpaqueImage(null, 1));
+ PDPage page = new PDPage(PDRectangle.A4);
+ float fX = ximage.getWidth() / page.getMediaBox().getWidth();
+ float fY = ximage.getHeight() / page.getMediaBox().getHeight();
+ float factor = Math.max(fX, fY);
+ document.addPage(page);
+ try (PDPageContentStream contentStream = new PDPageContentStream(document, page, AppendMode.APPEND, false))
+ {
+ contentStream.drawImage(ximage, 0, 0, ximage.getWidth() / factor, ximage.getHeight() / factor);
+ }
+ ++pdfPageNum;
}
- ++pdfPageNum;
+
+ assertEquals(countTiffImages, pdfPageNum);
+
+ document.save(TESTRESULTSDIR + "/multitiff.pdf");
}
-
- assertEquals(countTiffImages, pdfPageNum);
-
- document.save(TESTRESULTSDIR + "/multitiff.pdf");
+ try (PDDocument document = Loader.loadPDF(new File(TESTRESULTSDIR, "multitiff.pdf"), (String) null))
+ {
+ assertEquals(countTiffImages, document.getNumberOfPages());
+ }
+ imageReader.dispose();
}
-
- try (PDDocument document = Loader.loadPDF(new File(TESTRESULTSDIR, "multitiff.pdf"), (String) null))
- {
- assertEquals(countTiffImages, document.getNumberOfPages());
- }
- imageReader.dispose();
}
@Test