We are using Aspose TotalJava license to convert input files like (word, ppt, excel, cad, image etc ) to convert to pdf file.
But any file larger than 30 MB results in out of memory error
We are using max heap size of 2048 MB.
source file contents for ppt to pdf conversion:–>
protected File generatePdf(File pdfFile) {
Presentation presentation = null;
try {
presentation = new Presentation(file.getAbsolutePath());
PdfOptions pdfOptions = new PdfOptions();
pdfOptions.setCompliance(PdfCompliance.PdfUa);
presentation.save(pdfFile.getAbsolutePath(), SaveFormat.Pdf, pdfOptions);
return pdfFile;
} catch (Exception e) {
log.error("Exception on generating pdf file from pptx/ppt", e);
} finally {
if (presentation != null) {
presentation.dispose();
}
}
return null;
}
Error logs below: →
java.lang.OutOfMemoryError: Java heap space
at java.awt.image.DataBufferByte.(DataBufferByte.java:92) ~[?:?]
at java.awt.image.ComponentSampleModel.createDataBuffer(ComponentSampleModel.java:436) ~[?:?]
at sun.awt.image.ByteInterleavedRaster.(ByteInterleavedRaster.java:89) ~[?:?]
at sun.awt.image.ByteInterleavedRaster.createCompatibleWritableRaster(ByteInterleavedRaster.java:1276) ~[?:?]
at sun.awt.image.ByteInterleavedRaster.createCompatibleWritableRaster(ByteInterleavedRaster.java:1287) ~[?:?]
at com.aspose.slides.internal.g2.int.new(Unknown Source) ~[aspose-slides-22.6-jdk16.jar:22.6]
at com.aspose.slides.internal.g2.int.do(Unknown Source) ~[aspose-slides-22.6-jdk16.jar:22.6]
at com.aspose.slides.internal.fs.if.do(Unknown Source) ~[aspose-slides-22.6-jdk16.jar:22.6]
at com.aspose.slides.internal.fs.if.do(Unknown Source) ~[aspose-slides-22.6-jdk16.jar:22.6]
at com.aspose.slides.internal.fs.if.if(Unknown Source) ~[aspose-slides-22.6-jdk16.jar:22.6]
at com.aspose.slides.internal.fs.if.do(Unknown Source) ~[aspose-slides-22.6-jdk16.jar:22.6]
at com.aspose.slides.internal.fs.if.do(Unknown Source) ~[aspose-slides-22.6-jdk16.jar:22.6]
at com.aspose.slides.internal.fs.if.do(Unknown Source) ~[aspose-slides-22.6-jdk16.jar:22.6]
at com.aspose.slides.internal.fs.if.deepClone(Unknown Source) ~[aspose-slides-22.6-jdk16.jar:22.6]
at com.aspose.slides.dj.do(Unknown Source) ~[aspose-slides-22.6-jdk16.jar:22.6]
at com.aspose.slides.dj.do(Unknown Source) ~[aspose-slides-22.6-jdk16.jar:22.6]
at com.aspose.slides.dj.do(Unknown Source) ~[aspose-slides-22.6-jdk16.jar:22.6]
at com.aspose.slides.e.do(Unknown Source) ~[aspose-slides-22.6-jdk16.jar:22.6]
at com.aspose.slides.s8.do(Unknown Source) ~[aspose-slides-22.6-jdk16.jar:22.6]
at com.aspose.slides.ain.do(Unknown Source) ~[aspose-slides-22.6-jdk16.jar:22.6]
at com.aspose.slides.ain.do(Unknown Source) ~[aspose-slides-22.6-jdk16.jar:22.6]
at com.aspose.slides.ud.do(Unknown Source) ~[aspose-slides-22.6-jdk16.jar:22.6]
at com.aspose.slides.arh.for(Unknown Source) ~[aspose-slides-22.6-jdk16.jar:22.6]
at com.aspose.slides.arh.do(Unknown Source) ~[aspose-slides-22.6-jdk16.jar:22.6]
at com.aspose.slides.arh.do(Unknown Source) ~[aspose-slides-22.6-jdk16.jar:22.6]
at com.aspose.slides.Slide.do(Unknown Source) ~[aspose-slides-22.6-jdk16.jar:22.6]
at com.aspose.slides.alf.do(Unknown Source) ~[aspose-slides-22.6-jdk16.jar:22.6]
at com.aspose.slides.alf.do(Unknown Source) ~[aspose-slides-22.6-jdk16.jar:22.6]
at com.aspose.slides.Presentation.do(Unknown Source) ~[aspose-slides-22.6-jdk16.jar:22.6]
at com.aspose.slides.Presentation.save(Unknown Source) ~[aspose-slides-22.6-jdk16.jar:22.6]
at nl.assai.ocr.service.pdfgenerator.SlidesToPdfGenerator.generatePdf(SlidesToPdfGenerator.java:30) ~[classes/:?]
can you please check it and provide solution to avoid this memory error?