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