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

Reply via email to