You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pdfbox.apache.org by "Kurt M (JIRA)" <ji...@apache.org> on 2013/10/14 18:03:41 UTC

[jira] [Updated] (PDFBOX-1748) PDPage.convertToImage fails with IndexOutOfBoundsException: Index: 0, Size: 0

     [ https://issues.apache.org/jira/browse/PDFBOX-1748?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kurt M updated PDFBOX-1748:
---------------------------

    Description: 
I am trying to create jpg images from pages in a pdf document.  The following code works in most environments, but we recently installed on a new system and are experiencing a high rate of failure there.  The same files that fail there work in other environments.

Here is my code:

        PDDocument doc;
        try {           
            RandomAccess scratchFile = new RandomAccessBuffer();           
            doc = PDDocument.loadNonSeq( pdfFile, scratchFile );         

            int pageNum = 0;
            int fullRes = 96;

            List<PDPage> pages = doc.getDocumentCatalog().getAllPages();
            BufferedImage fullImg;

            for( PDPage page : pages ) {
                pageNum++;
                fullImg = page.convertToImage( BufferedImage.TYPE_INT_RGB, fullRes );

and here is the stack trace (this is from the 1.7.1 version I think):

java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
	at java.util.ArrayList.get(ArrayList.java:352)
	at org.apache.pdfbox.io.RandomAccessBuffer.seek(RandomAccessBuffer.java:84)
	at org.apache.pdfbox.io.RandomAccessFileInputStream.read(RandomAccessFileInputStream.java:96)
	at java.io.BufferedInputStream.read1(BufferedInputStream.java:267)
	at java.io.BufferedInputStream.read(BufferedInputStream.java:328)
	at java.io.BufferedInputStream.fill(BufferedInputStream.java:229)
	at java.io.BufferedInputStream.read(BufferedInputStream.java:248)
	at java.io.FilterInputStream.read(FilterInputStream.java:77)
	at java.io.PushbackInputStream.read(PushbackInputStream.java:133)
	at org.apache.pdfbox.io.PushBackInputStream.read(PushBackInputStream.java:91)
	at org.apache.pdfbox.pdfparser.BaseParser.skipSpaces(BaseParser.java:1547)
	at org.apache.pdfbox.pdfparser.PDFStreamParser.parseNextToken(PDFStreamParser.java:230)
	at org.apache.pdfbox.pdfparser.PDFStreamParser.access$000(PDFStreamParser.java:46)
	at org.apache.pdfbox.pdfparser.PDFStreamParser$1.tryNext(PDFStreamParser.java:182)
	at org.apache.pdfbox.pdfparser.PDFStreamParser$1.hasNext(PDFStreamParser.java:194)
	at org.apache.pdfbox.util.PDFStreamEngine.processSubStream(PDFStreamEngine.java:257)
	at org.apache.pdfbox.util.PDFStreamEngine.processSubStream(PDFStreamEngine.java:237)
	at org.apache.pdfbox.util.PDFStreamEngine.processStream(PDFStreamEngine.java:217)
	at org.apache.pdfbox.pdfviewer.PageDrawer.drawPage(PageDrawer.java:119)
	at org.apache.pdfbox.pdmodel.PDPage.convertToImage(PDPage.java:730)
	at generateSlideImages(PDFUtils.java:213) <-- my code




  was:
I am trying to create jpg images from pages in a pdf document.  The following code works in most environments, but we recently installed on a new system and are experiencing a high rate of failure there.  The same files that fail there work in other environments.

Here is my code:

        PDDocument doc;
        try {           
            RandomAccess scratchFile = new RandomAccessBuffer();           
            doc = PDDocument.loadNonSeq( pdfFile, scratchFile );         

            int pageNum = 0;
            int fullRes = 96;

            List<PDPage> pages = doc.getDocumentCatalog().getAllPages();
            BufferedImage fullImg;

            for( PDPage page : pages ) {
                pageNum++;
                fullImg = page.convertToImage( BufferedImage.TYPE_INT_RGB, fullRes );

and here is the stack trace (this is from the 1.7.1 version I think):
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
	at java.util.ArrayList.get(ArrayList.java:352)
	at org.apache.pdfbox.io.RandomAccessBuffer.seek(RandomAccessBuffer.java:84)
	at org.apache.pdfbox.io.RandomAccessFileInputStream.read(RandomAccessFileInputStream.java:96)
	at java.io.BufferedInputStream.read1(BufferedInputStream.java:267)
	at java.io.BufferedInputStream.read(BufferedInputStream.java:328)
	at java.io.BufferedInputStream.fill(BufferedInputStream.java:229)
	at java.io.BufferedInputStream.read(BufferedInputStream.java:248)
	at java.io.FilterInputStream.read(FilterInputStream.java:77)
	at java.io.PushbackInputStream.read(PushbackInputStream.java:133)
	at org.apache.pdfbox.io.PushBackInputStream.read(PushBackInputStream.java:91)
	at org.apache.pdfbox.pdfparser.BaseParser.skipSpaces(BaseParser.java:1547)
	at org.apache.pdfbox.pdfparser.PDFStreamParser.parseNextToken(PDFStreamParser.java:230)
	at org.apache.pdfbox.pdfparser.PDFStreamParser.access$000(PDFStreamParser.java:46)
	at org.apache.pdfbox.pdfparser.PDFStreamParser$1.tryNext(PDFStreamParser.java:182)
	at org.apache.pdfbox.pdfparser.PDFStreamParser$1.hasNext(PDFStreamParser.java:194)
	at org.apache.pdfbox.util.PDFStreamEngine.processSubStream(PDFStreamEngine.java:257)
	at org.apache.pdfbox.util.PDFStreamEngine.processSubStream(PDFStreamEngine.java:237)
	at org.apache.pdfbox.util.PDFStreamEngine.processStream(PDFStreamEngine.java:217)
	at org.apache.pdfbox.pdfviewer.PageDrawer.drawPage(PageDrawer.java:119)
	at org.apache.pdfbox.pdmodel.PDPage.convertToImage(PDPage.java:730)
	at generateSlideImages(PDFUtils.java:213)





> PDPage.convertToImage fails with IndexOutOfBoundsException: Index: 0, Size: 0
> -----------------------------------------------------------------------------
>
>                 Key: PDFBOX-1748
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-1748
>             Project: PDFBox
>          Issue Type: Bug
>    Affects Versions: 1.7.1, 1.8.2
>            Reporter: Kurt M
>
> I am trying to create jpg images from pages in a pdf document.  The following code works in most environments, but we recently installed on a new system and are experiencing a high rate of failure there.  The same files that fail there work in other environments.
> Here is my code:
>         PDDocument doc;
>         try {           
>             RandomAccess scratchFile = new RandomAccessBuffer();           
>             doc = PDDocument.loadNonSeq( pdfFile, scratchFile );         
>             int pageNum = 0;
>             int fullRes = 96;
>             List<PDPage> pages = doc.getDocumentCatalog().getAllPages();
>             BufferedImage fullImg;
>             for( PDPage page : pages ) {
>                 pageNum++;
>                 fullImg = page.convertToImage( BufferedImage.TYPE_INT_RGB, fullRes );
> and here is the stack trace (this is from the 1.7.1 version I think):
> java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
> 	at java.util.ArrayList.get(ArrayList.java:352)
> 	at org.apache.pdfbox.io.RandomAccessBuffer.seek(RandomAccessBuffer.java:84)
> 	at org.apache.pdfbox.io.RandomAccessFileInputStream.read(RandomAccessFileInputStream.java:96)
> 	at java.io.BufferedInputStream.read1(BufferedInputStream.java:267)
> 	at java.io.BufferedInputStream.read(BufferedInputStream.java:328)
> 	at java.io.BufferedInputStream.fill(BufferedInputStream.java:229)
> 	at java.io.BufferedInputStream.read(BufferedInputStream.java:248)
> 	at java.io.FilterInputStream.read(FilterInputStream.java:77)
> 	at java.io.PushbackInputStream.read(PushbackInputStream.java:133)
> 	at org.apache.pdfbox.io.PushBackInputStream.read(PushBackInputStream.java:91)
> 	at org.apache.pdfbox.pdfparser.BaseParser.skipSpaces(BaseParser.java:1547)
> 	at org.apache.pdfbox.pdfparser.PDFStreamParser.parseNextToken(PDFStreamParser.java:230)
> 	at org.apache.pdfbox.pdfparser.PDFStreamParser.access$000(PDFStreamParser.java:46)
> 	at org.apache.pdfbox.pdfparser.PDFStreamParser$1.tryNext(PDFStreamParser.java:182)
> 	at org.apache.pdfbox.pdfparser.PDFStreamParser$1.hasNext(PDFStreamParser.java:194)
> 	at org.apache.pdfbox.util.PDFStreamEngine.processSubStream(PDFStreamEngine.java:257)
> 	at org.apache.pdfbox.util.PDFStreamEngine.processSubStream(PDFStreamEngine.java:237)
> 	at org.apache.pdfbox.util.PDFStreamEngine.processStream(PDFStreamEngine.java:217)
> 	at org.apache.pdfbox.pdfviewer.PageDrawer.drawPage(PageDrawer.java:119)
> 	at org.apache.pdfbox.pdmodel.PDPage.convertToImage(PDPage.java:730)
> 	at generateSlideImages(PDFUtils.java:213) <-- my code



--
This message was sent by Atlassian JIRA
(v6.1#6144)