Skip to content

Commit 3cf2410

Browse files
committed
PDFBOX-5660: close input, as suggested by Valery Bokov; closes #413
git-svn-id: https://svn.apache.org/repos/asf/pdfbox/trunk@1931693 13f79535-47bb-0310-9956-ffa450edef68
1 parent 5f776e3 commit 3cf2410

1 file changed

Lines changed: 35 additions & 35 deletions

File tree

pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/CCITTFactoryTest.java

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)