繁体   English   中英

java.lang.OutOfMemoryError: Java 在 apache 中读取图像时堆空间

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

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

    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 堆空间] 根本原因

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)

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

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

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

执行 ImageIO.read 时发生异常,但不是每次都发生。 它是随机发生的。 在本地机器上运行代码时同样工作正常,但在开发区域失败。

有人可以帮我解决这个问题。

谢谢,

使用较小尺寸的图像后,我能够解决此问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM