Author: tilman
Date: Tue Nov 18 13:56:36 2025
New Revision: 1929833
Log:
PDFBOX-5660: close input, as suggested by Valery Bokov; closes #338
Modified:
pdfbox/branches/2.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/LosslessFactoryTest.java
Modified:
pdfbox/branches/2.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/LosslessFactoryTest.java
==============================================================================
---
pdfbox/branches/2.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/LosslessFactoryTest.java
Tue Nov 18 13:56:31 2025 (r1929832)
+++
pdfbox/branches/2.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/LosslessFactoryTest.java
Tue Nov 18 13:56:36 2025 (r1929833)
@@ -33,6 +33,7 @@ import java.awt.image.Raster;
import java.awt.image.WritableRaster;
import java.io.File;
import java.io.IOException;
+import java.io.InputStream;
import java.util.Hashtable;
import java.util.Random;
import javax.imageio.ImageIO;
@@ -70,12 +71,12 @@ public class LosslessFactoryTest extends
* Tests RGB LosslessFactoryTest#createFromImage(PDDocument document,
* BufferedImage image)
*
- * @throws java.io.IOException
+ * @throws IOException
*/
public void testCreateLosslessFromImageRGB() throws IOException
{
PDDocument document = new PDDocument();
- BufferedImage image =
ImageIO.read(this.getClass().getResourceAsStream("png.png"));
+ BufferedImage image =
ImageIO.read(this.getClass().getResource("png.png"));
PDImageXObject ximage1 = LosslessFactory.createFromImage(document,
image);
validate(ximage1, 8, image.getWidth(), image.getHeight(), "png",
PDDeviceRGB.INSTANCE.getName());
@@ -127,12 +128,12 @@ public class LosslessFactoryTest extends
* Tests INT_ARGB LosslessFactoryTest#createFromImage(PDDocument document,
* BufferedImage image)
*
- * @throws java.io.IOException
+ * @throws IOException
*/
public void testCreateLosslessFromImageINT_ARGB() throws IOException
{
PDDocument document = new PDDocument();
- BufferedImage image =
ImageIO.read(this.getClass().getResourceAsStream("png.png"));
+ BufferedImage image =
ImageIO.read(this.getClass().getResource("png.png"));
// create an ARGB image
int w = image.getWidth();
@@ -166,7 +167,7 @@ public class LosslessFactoryTest extends
* Tests INT_ARGB LosslessFactoryTest#createFromImage(PDDocument document,
* BufferedImage image) with BITMASK transparency
*
- * @throws java.io.IOException
+ * @throws IOException
*/
public void testCreateLosslessFromImageBITMASK_INT_ARGB() throws
IOException
{
@@ -177,7 +178,7 @@ public class LosslessFactoryTest extends
* Tests 4BYTE_ABGR LosslessFactoryTest#createFromImage(PDDocument
document,
* BufferedImage image) with BITMASK transparency
*
- * @throws java.io.IOException
+ * @throws IOException
*/
public void testCreateLosslessFromImageBITMASK4BYTE_ABGR() throws
IOException
{
@@ -188,12 +189,12 @@ public class LosslessFactoryTest extends
* Tests 4BYTE_ABGR LosslessFactoryTest#createFromImage(PDDocument
document,
* BufferedImage image)
*
- * @throws java.io.IOException
+ * @throws IOException
*/
public void testCreateLosslessFromImage4BYTE_ABGR() throws IOException
{
PDDocument document = new PDDocument();
- BufferedImage image =
ImageIO.read(this.getClass().getResourceAsStream("png.png"));
+ BufferedImage image =
ImageIO.read(this.getClass().getResource("png.png"));
// create an ARGB image
int w = image.getWidth();
@@ -238,12 +239,12 @@ public class LosslessFactoryTest extends
* image). This should create an 8-bit-image; prevent the problems from
PDFBOX-4674 in case
* image creation is modified in the future.
*
- * @throws java.io.IOException
+ * @throws IOException
*/
public void testCreateLosslessFromImageUSHORT_555_RGB() throws IOException
{
PDDocument document = new PDDocument();
- BufferedImage image =
ImageIO.read(this.getClass().getResourceAsStream("png.png"));
+ BufferedImage image =
ImageIO.read(this.getClass().getResource("png.png"));
// create an USHORT_555_RGB image
int w = image.getWidth();
@@ -276,12 +277,12 @@ public class LosslessFactoryTest extends
* Tests LosslessFactoryTest#createFromImage(PDDocument document,
* BufferedImage image) with transparent GIF
*
- * @throws java.io.IOException
+ * @throws IOException
*/
public void testCreateLosslessFromTransparentGIF() throws IOException
{
PDDocument document = new PDDocument();
- BufferedImage image =
ImageIO.read(this.getClass().getResourceAsStream("gif.gif"));
+ BufferedImage image =
ImageIO.read(this.getClass().getResource("gif.gif"));
assertEquals(Transparency.BITMASK,
image.getColorModel().getTransparency());
@@ -305,12 +306,12 @@ public class LosslessFactoryTest extends
* BufferedImage image) with a transparent 1 bit GIF. (PDFBOX-4672)
* This ends up as RGB because the 1 bit fast path doesn't support
transparency.
*
- * @throws java.io.IOException
+ * @throws IOException
*/
public void testCreateLosslessFromTransparent1BitGIF() throws IOException
{
PDDocument document = new PDDocument();
- BufferedImage image =
ImageIO.read(this.getClass().getResourceAsStream("gif-1bit-transparent.gif"));
+ BufferedImage image =
ImageIO.read(this.getClass().getResource("gif-1bit-transparent.gif"));
assertEquals(Transparency.BITMASK,
image.getColorModel().getTransparency());
assertEquals(BufferedImage.TYPE_BYTE_BINARY, image.getType());
@@ -333,7 +334,7 @@ public class LosslessFactoryTest extends
/**
* Test file that had a predictor encoding bug in PDFBOX-4184.
*
- * @throws java.io.IOException
+ * @throws IOException
*/
public void testCreateLosslessFromGovdocs032163() throws IOException
{
@@ -536,14 +537,17 @@ public class LosslessFactoryTest extends
/**
* Test lossless encoding of CMYK images
+ *
+ * @throws IOException
*/
public void testCreateLosslessFromImageCMYK() throws IOException
{
PDDocument document = new PDDocument();
- BufferedImage image =
ImageIO.read(this.getClass().getResourceAsStream("png.png"));
+ BufferedImage image =
ImageIO.read(this.getClass().getResource("png.png"));
- final ColorSpace targetCS = new ICC_ColorSpace(ICC_Profile
-
.getInstance(this.getClass().getResourceAsStream("/org/apache/pdfbox/resources/icc/ISOcoated_v2_300_bas.icc")));
+ InputStream is =
this.getClass().getResourceAsStream("/org/apache/pdfbox/resources/icc/ISOcoated_v2_300_bas.icc");
+ final ColorSpace targetCS = new
ICC_ColorSpace(ICC_Profile.getInstance(is));
+ is.close();
ColorConvertOp op = new
ColorConvertOp(image.getColorModel().getColorSpace(), targetCS, null);
BufferedImage imageCMYK = op.filter(image, null);
@@ -559,7 +563,7 @@ public class LosslessFactoryTest extends
public void testCreateLosslessFrom16Bit() throws IOException
{
PDDocument document = new PDDocument();
- BufferedImage image =
ImageIO.read(this.getClass().getResourceAsStream("png.png"));
+ BufferedImage image =
ImageIO.read(this.getClass().getResource("png.png"));
ColorSpace targetCS = ColorSpace.getInstance(ColorSpace.CS_sRGB);
int dataBufferType = DataBuffer.TYPE_USHORT;
@@ -580,7 +584,7 @@ public class LosslessFactoryTest extends
public void testCreateLosslessFromImageINT_BGR() throws IOException
{
PDDocument document = new PDDocument();
- BufferedImage image =
ImageIO.read(this.getClass().getResourceAsStream("png.png"));
+ BufferedImage image =
ImageIO.read(this.getClass().getResource("png.png"));
BufferedImage imgBgr = new BufferedImage(image.getWidth(),
image.getHeight(), BufferedImage.TYPE_INT_BGR);
Graphics2D graphics = imgBgr.createGraphics();
@@ -594,7 +598,7 @@ public class LosslessFactoryTest extends
public void testCreateLosslessFromImageINT_RGB() throws IOException
{
PDDocument document = new PDDocument();
- BufferedImage image =
ImageIO.read(this.getClass().getResourceAsStream("png.png"));
+ BufferedImage image =
ImageIO.read(this.getClass().getResource("png.png"));
BufferedImage imgRgb = new BufferedImage(image.getWidth(),
image.getHeight(), BufferedImage.TYPE_INT_RGB);
Graphics2D graphics = imgRgb.createGraphics();
@@ -608,7 +612,7 @@ public class LosslessFactoryTest extends
public void testCreateLosslessFromImageBYTE_3BGR() throws IOException
{
PDDocument document = new PDDocument();
- BufferedImage image =
ImageIO.read(this.getClass().getResourceAsStream("png.png"));
+ BufferedImage image =
ImageIO.read(this.getClass().getResource("png.png"));
BufferedImage imgRgb = new BufferedImage(image.getWidth(),
image.getHeight(), BufferedImage.TYPE_3BYTE_BGR);
Graphics2D graphics = imgRgb.createGraphics();