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