You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pdfbox.apache.org by "Jens Henrik Rauff Hansen (JIRA)" <ji...@apache.org> on 2017/06/19 07:40:00 UTC
[jira] [Commented] (PDFBOX-3830) multipdf.PDFMergerUtility error
handling large documents
[ https://issues.apache.org/jira/browse/PDFBOX-3830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16053562#comment-16053562 ]
Jens Henrik Rauff Hansen commented on PDFBOX-3830:
--------------------------------------------------
Thank you Tilman.
I will try to avoid large bookmark tree's in the future.
> multipdf.PDFMergerUtility error handling large documents
> --------------------------------------------------------
>
> Key: PDFBOX-3830
> URL: https://issues.apache.org/jira/browse/PDFBOX-3830
> Project: PDFBox
> Issue Type: Bug
> Components: Utilities
> Affects Versions: 2.0.6
> Reporter: Jens Henrik Rauff Hansen
> Attachments: 062.pdf, 06.pdf
>
>
> org.apache.pdfbox.multipdf.PDFMergerUtility are having problems merging large documents.
> I have folowing method and testcase:
> {code:java}
> public static File mergePdfFiles(List<File> files, File outputFile) throws IOException {
> PDFMergerUtility merger = new PDFMergerUtility();
> merger.setDestinationStream(new FileOutputStream(outputFile));
> for (Iterator<File> fileIt = files.iterator(); fileIt.hasNext();) {
> merger.addSource(fileIt.next().getAbsolutePath());
> }
> merger.mergeDocuments(MemoryUsageSetting.setupMixed(30000000));
> // merger.mergeDocuments(MemoryUsageSetting.setupMainMemoryOnly());
> // merger.mergeDocuments(MemoryUsageSetting.setupTempFileOnly());
> return outputFile;
> }
> {code}
> {code:java}
> @Test
> public void test() {
> File outputFile;
> try {
> outputFile = File.createTempFile("PDFMergerTest", ".pdf");
> List<File> files = new ArrayList<File>();
> files.add(new File("src/test/resources/06.pdf"));
> files.add(new File("src/test/resources/062.pdf"));
> int totalPageCount = 0;
> for (File file : files) {
> totalPageCount += PDFUtil.countPages(file);
> }
> PDFMerger.mergePdfFiles(files, outputFile);
> assertEquals("Page numbers match", totalPageCount, PDFUtil.countPages(outputFile));
> } catch (IOException e1) {
> // TODO Auto-generated catch block
> e1.printStackTrace();
> }
> }
> {code}
> This does for all three MemoryUsageSetting "setupMainMemoryOnly(), setupTempFileOnly(), setupMixed(30000000)" return the the following error:
> -------------------------------------------------------
> T E S T S
> -------------------------------------------------------
> Running dk.dataproces.utilities.pdf.test.PDFMergerTest
> Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 1.223 sec <<< FAILURE!
> test(dk.dataproces.utilities.pdf.test.PDFMergerTest) Time elapsed: 1.179 sec <<< ERROR!
> java.lang.StackOverflowError
> at org.apache.pdfbox.multipdf.PDFCloneUtility.cloneForNewDocument(PDFCloneUtility.java:76)
> at org.apache.pdfbox.multipdf.PDFCloneUtility.cloneForNewDocument(PDFCloneUtility.java:108)
> at org.apache.pdfbox.multipdf.PDFCloneUtility.cloneForNewDocument(PDFCloneUtility.java:136)
> at org.apache.pdfbox.multipdf.PDFCloneUtility.cloneForNewDocument(PDFCloneUtility.java:99)
> at org.apache.pdfbox.multipdf.PDFCloneUtility.cloneForNewDocument(PDFCloneUtility.java:136)
> at org.apache.pdfbox.multipdf.PDFCloneUtility.cloneForNewDocument(PDFCloneUtility.java:99)
> at org.apache.pdfbox.multipdf.PDFCloneUtility.cloneForNewDocument(PDFCloneUtility.java:136)
> at org.apache.pdfbox.multipdf.PDFCloneUtility.cloneForNewDocument(PDFCloneUtility.java:99)
> at org.apache.pdfbox.multipdf.PDFCloneUtility.cloneForNewDocument(PDFCloneUtility.java:136)
> at org.apache.pdfbox.multipdf.PDFCloneUtility.cloneForNewDocument(PDFCloneUtility.java:99)
> at org.apache.pdfbox.multipdf.PDFCloneUtility.cloneForNewDocument(PDFCloneUtility.java:136)
> at org.apache.pdfbox.multipdf.PDFCloneUtility.cloneForNewDocument(PDFCloneUtility.java:99)
> ....................................AND THIS GOES ON FOR LONG IN THE CONSOLE
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@pdfbox.apache.org
For additional commands, e-mail: dev-help@pdfbox.apache.org