I'm using 1.8.0_05. Running the same code I get this:
java.lang.IndexOutOfBoundsException: Index: 344, Size: 344
at java.util.ArrayList.rangeCheck(ArrayList.java:638)
at java.util.ArrayList.get(ArrayList.java:414)
at
org.apache.pdfbox.io.RandomAccessBuffer.seek(RandomAccessBuffer.java:112)
at
org.apache.pdfbox.io.RandomAccessFileOutputStream.write(RandomAccessFileOutputStream.java:108)
at
java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
at java.io.FilterOutputStream.close(FilterOutputStream.java:158)
at
org.apache.pdfbox.pdfparser.NonSequentialPDFParser.parseCOSStream(NonSequentialPDFParser.java:1890)
at
org.apache.pdfbox.pdfparser.NonSequentialPDFParser.parseObjectDynamically(NonSequentialPDFParser.java:1514)
at
org.apache.pdfbox.pdfparser.NonSequentialPDFParser.parseObjectDynamically(NonSequentialPDFParser.java:1441)
at
org.apache.pdfbox.pdfparser.NonSequentialPDFParser.parseDictObjects(NonSequentialPDFParser.java:1417)
at
org.apache.pdfbox.pdfparser.NonSequentialPDFParser.initialParse(NonSequentialPDFParser.java:544)
at
org.apache.pdfbox.pdfparser.NonSequentialPDFParser.parse(NonSequentialPDFParser.java:1013)
at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:1035)
at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:966)
at
org.apache.pdfbox.util.PDFMergerUtility.mergeDocuments(PDFMergerUtility.java:187)
at src.MergerTest.main(MergerTest.java:17)
Could this be a bug in the JVM?
On Sun, Dec 7, 2014 at 12:50 AM, Tilman Hausherr <[email protected]>
wrote:
> I tried with this code without trouble:
>
> try
> {
> PDFMergerUtility pdfMerger = new PDFMergerUtility();
> for (int i = 0; i < 30; ++i)
> {
> String pdfFilename = "test.pdf";
> pdfMerger.addSource(pdfFilename);
> }
> pdfMerger.setDestinationFileName("dest.pdf");
> pdfMerger.mergeDocuments();
> System.out.println("merged documents");
> }
> catch (Exception ex)
> {
> ex.printStackTrace();
> }
>
> What JDK are you using? I'm using 1.7.0_71.
> Tilman
>
>
>
>
> Am 07.12.2014 um 00:05 schrieb Gilad Denneboom:
>
>> New issue with PDFMergerUtility: Take the attached file and make 25
>> identical copies of it and merge them. Works fine. Add 5 more copies and
>> you get the following (or something similar):
>>
>> java.lang.IndexOutOfBoundsException: Index: 728, Size: 728
>> at java.util.ArrayList.rangeCheck(Unknown Source)
>> at java.util.ArrayList.get(Unknown Source)
>> at
>> org.apache.pdfbox.io.RandomAccessBuffer.seek(RandomAccessBuffer.java:
>> 112)
>> at
>> org.apache.pdfbox.io.RandomAccessFileOutputStream.write(RandomAccessF
>> ileOutputStream.java:108)
>> at java.io.BufferedOutputStream.flushBuffer(Unknown Source)
>> at java.io.BufferedOutputStream.flush(Unknown Source)
>> at java.io.FilterOutputStream.close(Unknown Source)
>> at
>> org.apache.pdfbox.pdfparser.NonSequentialPDFParser.parseCOSStream(Non
>> SequentialPDFParser.java:1890)
>> at
>> org.apache.pdfbox.pdfparser.NonSequentialPDFParser.parseObjectDynamic
>> ally(NonSequentialPDFParser.java:1514)
>> at
>> org.apache.pdfbox.pdfparser.NonSequentialPDFParser.parseObjectDynamic
>> ally(NonSequentialPDFParser.java:1441)
>> at
>> org.apache.pdfbox.pdfparser.NonSequentialPDFParser.parseDictObjects(N
>> onSequentialPDFParser.java:1417)
>> at
>> org.apache.pdfbox.pdfparser.NonSequentialPDFParser.initialParse(NonSe
>> quentialPDFParser.java:544)
>> at
>> org.apache.pdfbox.pdfparser.NonSequentialPDFParser.parse(NonSequentia
>> lPDFParser.java:1013)
>> at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.
>> java:1035)
>> at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.
>> java:966)
>> at
>> org.apache.pdfbox.util.PDFMergerUtility.mergeDocuments(PDFMergerUtili
>> ty.java:187)
>>
>> I tried to pin-point the exact number of files that cause the error but it
>> sometimes with 26 and failed with 27, but other times 27 worked and 28
>> failed... Very odd behaivour, but it always happens around the 500MB mark.
>>
>> test.pdf
>> <https://docs.google.com/file/d/0B_eBFHMNjkhsTE90dnctN0R5LUk/
>> edit?usp=drive_web>
>>
>>
>
>