简体   繁体   English

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

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

I am creating a pdf using Apache Pdfbox api.我正在使用 Apache Pdfbox api 创建 pdf。 While trying to read image, getting Heap Space issue on the below code:在尝试读取图像时,在以下代码中出现堆空间问题:

    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;

StackTrace:堆栈跟踪:

java.lang.OutOfMemoryError: Java heap space] with root cause 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) 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)在 com.sun.imageio.plugins.jpeg.JPEGImageReader.read(JPEGImageReader.java:1058)

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

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

Exception occurred while doing ImageIO.read, but not every-time.执行 ImageIO.read 时发生异常,但不是每次都发生。 It's occurring randomly.它是随机发生的。 Same is working fine while running the code in local machine but it's failing in Dev region.在本地机器上运行代码时同样工作正常,但在开发区域失败。

Can somebody help me in resolving the issue.有人可以帮我解决这个问题。

Thanks,谢谢,

I was able to resolve this issue after using the image of lesser size.使用较小尺寸的图像后,我能够解决此问题。

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

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