[
https://issues.apache.org/jira/browse/PDFBOX-5392?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
黄文杰 updated PDFBOX-5392:
------------------------
private static byte[] mergePdf(List<byte[]> souPdfList) {
try {
PDFMergerUtility pdfMerger = new PDFMergerUtility();
for (byte[] bytes : souPdfList) {
pdfMerger.addSource(new ByteArrayInputStream(bytes));
}
MemoryUsageSetting setting = MemoryUsageSetting.setupMainMemoryOnly();
ByteArrayOutputStream bos = new ByteArrayOutputStream();
pdfMerger.setDestinationStream(bos);
pdfMerger.mergeDocuments(setting);
return bos.toByteArray();
} catch (Exception e) {
e.printStackTrace();
}
}
> java.lang.OutOfMemoryError: Java heap space during ScratchFileBuffer#addPage
> ----------------------------------------------------------------------------
>
> Key: PDFBOX-5392
> URL: https://issues.apache.org/jira/browse/PDFBOX-5392
> Project: PDFBox
> Issue Type: Bug
> Reporter: 黄文杰
> Priority: Major
>
> 在对一个73页的pdf文件,进行拆分单页pdf文件,再重新进行合并时,内存溢出了
> java.lang.OutOfMemoryError: Java heap space
> at
> org.apache.pdfbox.io.ScratchFileBuffer.addPage(ScratchFileBuffer.java:132)
> at
> org.apache.pdfbox.io.ScratchFileBuffer.ensureAvailableBytesInPage(ScratchFileBuffer.java:184)
> at
> org.apache.pdfbox.io.ScratchFileBuffer.write(ScratchFileBuffer.java:236)
> at org.apache.pdfbox.io.ScratchFile.createBuffer(ScratchFile.java:423)
> at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:970)
> at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:891)
> at
> org.apache.pdfbox.multipdf.PDFMergerUtility.mergeDocuments(PDFMergerUtility.java:259)
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]