[ 
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]

Reply via email to