[
https://issues.apache.org/jira/browse/PDFBOX-1625?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Guillaume Bailleul updated PDFBOX-1625:
---------------------------------------
Attachment: noclose-2.patch
Here is a second patch, it contains the first one plus the modification on
COSDocument.
There is nothing to change in PDDocument (well .. I think)
I am not sure cloning is the good option. In some use case, the memory usage
will be too big.
I think the good way is to have a RandomAccess manager, that keep state of all
RandomAccess and ensure useful caching. This is hard to do with the current
version of the COS layer but it could be interesting to discuss that in when we
will rearchitect the COS layer (I am volunteer to work on that part but not
alone)
> java.lang.IndexOutOfBoundsException at writing PDF file
> -------------------------------------------------------
>
> Key: PDFBOX-1625
> URL: https://issues.apache.org/jira/browse/PDFBOX-1625
> Project: PDFBox
> Issue Type: Bug
> Components: Writing
> Affects Versions: 1.8.2
> Environment: Linux, Java 7u21
> Reporter: Jens Kapitza
> Assignee: Guillaume Bailleul
> Priority: Minor
> Attachments: noclose-2.patch, noclose.patch, pdftool.zip
>
>
> I got this error:
> i will just recreate a document with pages 1-6.
> Exception in thread "main" java.io.IOException:
> org.apache.pdfbox.exceptions.COSVisitorException:
> java.lang.IndexOutOfBoundsException: Index: 115, Size: 0
> at
> de.back2heaven.pdf.model.TargetDocumuent.save(TargetDocumuent.java:56)
> at de.back2heaven.pdf.model.Document.prozess(Document.java:76)
> at de.back2heaven.pdf.model.Document.main(Document.java:56)
> Caused by: org.apache.pdfbox.exceptions.COSVisitorException:
> java.lang.IndexOutOfBoundsException: Index: 115, Size: 0
> at
> org.apache.pdfbox.pdfwriter.COSWriter.visitFromStream(COSWriter.java:1354)
> at org.apache.pdfbox.cos.COSStream.accept(COSStream.java:217)
> at org.apache.pdfbox.cos.COSObject.accept(COSObject.java:206)
> at
> org.apache.pdfbox.pdfwriter.COSWriter.doWriteObject(COSWriter.java:525)
> at org.apache.pdfbox.pdfwriter.COSWriter.doWriteBody(COSWriter.java:435)
> at
> org.apache.pdfbox.pdfwriter.COSWriter.visitFromDocument(COSWriter.java:1122)
> at org.apache.pdfbox.cos.COSDocument.accept(COSDocument.java:552)
> at org.apache.pdfbox.pdfwriter.COSWriter.write(COSWriter.java:1501)
> at org.apache.pdfbox.pdmodel.PDDocument.save(PDDocument.java:1324)
> at org.apache.pdfbox.pdmodel.PDDocument.save(PDDocument.java:1305)
> at org.apache.pdfbox.pdmodel.PDDocument.save(PDDocument.java:1292)
> at
> de.back2heaven.pdf.model.TargetDocumuent.save(TargetDocumuent.java:54)
> ... 2 more
> Caused by: java.lang.IndexOutOfBoundsException: Index: 115, Size: 0
> at java.util.ArrayList.rangeCheck(ArrayList.java:604)
> at java.util.ArrayList.get(ArrayList.java:382)
> at
> org.apache.pdfbox.io.RandomAccessBuffer.seek(RandomAccessBuffer.java:84)
> at
> org.apache.pdfbox.io.RandomAccessFileInputStream.read(RandomAccessFileInputStream.java:96)
> at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
> at java.io.BufferedInputStream.read1(BufferedInputStream.java:275)
> at java.io.BufferedInputStream.read(BufferedInputStream.java:334)
> at
> org.apache.pdfbox.pdfwriter.COSWriter.visitFromStream(COSWriter.java:1337)
> ... 13 more
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira