java.lang.OutOfMemoryError: Java heap space while reading image in apache pdfbox

java.lang.OutOfMemoryError: Java heap space while reading image in apache pdfbox

我正在使用 Apache Pdfbox 创建一个 pdf api。在尝试读取图像时,在以下代码中出现堆 Space 问题:

    PDXObjectImage ximage = null;

    InputStream is1 = new ClassPathResource(appProp.getProperty("fon1")).getInputStream();
    InputStream is2 = new ClassPathResource(appProp.getProperty("font2")).getInputStream();

    font = PDTrueTypeFont.loadTTF(doc,is1);
    font1 = PDTrueTypeFont.loadTTF(doc,is2);
    BufferedImage awtImage = ImageIO.read(new ClassPathResource(appProp.getProperty("Logo")).getInputStream());
    ximage = new PDPixelMap(doc, awtImage);
    float scale = 0.009f;

堆栈跟踪:

java.lang.OutOfMemoryError: Java heap space] with root cause

java.lang.OutOfMemoryError: Java heap space at java.awt.image.DataBufferByte.(DataBufferByte.java:92) at java.awt.image.ComponentSampleModel.createDataBuffer(ComponentSampleModel.java:445) at java.awt.image.Raster.createWritableRaster(Raster.java:941) at javax.imageio.ImageTypeSpecifier.createBufferedImage(ImageTypeSpecifier.java:1074) at javax.imageio.ImageReader.getDestination(ImageReader.java:2892) at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(JPEGImageReader.java:1090)

at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(JPEGImageReader.java:1058)

at javax.imageio.ImageIO.read(ImageIO.java:1462)

 at javax.imageio.ImageIO.read(ImageIO.java:1357)

执行 ImageIO.read 时出现异常,但并非每次都如此。它是随机发生的。 运行 本地计算机中的代码同样工作正常,但在开发区域中失败。

谁能帮我解决这个问题。

谢谢,

我在使用较小尺寸的图片后解决了这个问题。