You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pdfbox.apache.org by "Kosta Krauth (JIRA)" <ji...@apache.org> on 2011/02/14 00:11:57 UTC
[jira] Issue Comment Edited: (PDFBOX-831) PDPage.convertToImage
throwing an uncaught IOException internally
[ https://issues.apache.org/jira/browse/PDFBOX-831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12994160#comment-12994160 ]
Kosta Krauth edited comment on PDFBOX-831 at 2/13/11 11:11 PM:
---------------------------------------------------------------
Just tried the attached document again with 1.5.0 revision 1070125.
Upon calling the following code snippet:
PDFTextStripper textStripper = new PDFTextStripper();
textStripper.setShouldSeparateByBeads(false);
textStripper.setSortByPosition(true);
String text = textStripper.getText(doc);
It produced a different exception:
Exception in thread "main" java.lang.IllegalArgumentException: fromIndex(0) > toIndex(-2)
at java.util.SubList.<init>(AbstractList.java:604)
at java.util.RandomAccessSubList.<init>(AbstractList.java:758)
at java.util.RandomAccessSubList.subList(AbstractList.java:762)
at org.apache.fontbox.cff.CharStringConverter.handleType2Command(CharStringConverter.java:259)
at org.apache.fontbox.cff.CharStringConverter.handleCommand(CharStringConverter.java:81)
at org.apache.fontbox.cff.CharStringHandler.handleSequence(CharStringHandler.java:53)
at org.apache.fontbox.cff.CharStringConverter.convert(CharStringConverter.java:64)
at org.apache.fontbox.cff.CFFFont$Mapping.toType1Sequence(CFFFont.java:374)
at org.apache.fontbox.cff.AFMFormatter.renderFont(AFMFormatter.java:126)
at org.apache.fontbox.cff.AFMFormatter.printFontMetrics(AFMFormatter.java:64)
at org.apache.fontbox.cff.AFMFormatter.printFont(AFMFormatter.java:57)
at org.apache.fontbox.cff.AFMFormatter.format(AFMFormatter.java:50)
at org.apache.pdfbox.pdmodel.font.PDType1CFont.prepareFontMetric(PDType1CFont.java:502)
at org.apache.pdfbox.pdmodel.font.PDType1CFont.load(PDType1CFont.java:381)
at org.apache.pdfbox.pdmodel.font.PDType1CFont.<init>(PDType1CFont.java:104)
at org.apache.pdfbox.pdmodel.font.PDType1Font.<init>(PDType1Font.java:162)
at org.apache.pdfbox.pdmodel.font.PDFontFactory.createFont(PDFontFactory.java:108)
at org.apache.pdfbox.pdmodel.font.PDFontFactory.createFont(PDFontFactory.java:75)
at org.apache.pdfbox.pdmodel.PDResources.getFonts(PDResources.java:115)
at org.apache.pdfbox.util.PDFStreamEngine.processSubStream(PDFStreamEngine.java:243)
at org.apache.pdfbox.util.PDFStreamEngine.processStream(PDFStreamEngine.java:225)
at org.apache.pdfbox.util.PDFTextStripper.processPage(PDFTextStripper.java:447)
at org.apache.pdfbox.util.PDFTextStripper.processPages(PDFTextStripper.java:371)
at org.apache.pdfbox.util.PDFTextStripper.writeText(PDFTextStripper.java:327)
at org.apache.pdfbox.util.PDFTextStripper.getText(PDFTextStripper.java:247)
was (Author: kosta):
Just tried the attached document again with 1.5.0 revision 1070125. It produced a different exception:
Exception in thread "main" java.lang.IllegalArgumentException: fromIndex(0) > toIndex(-2)
at java.util.SubList.<init>(AbstractList.java:604)
at java.util.RandomAccessSubList.<init>(AbstractList.java:758)
at java.util.RandomAccessSubList.subList(AbstractList.java:762)
at org.apache.fontbox.cff.CharStringConverter.handleType2Command(CharStringConverter.java:259)
at org.apache.fontbox.cff.CharStringConverter.handleCommand(CharStringConverter.java:81)
at org.apache.fontbox.cff.CharStringHandler.handleSequence(CharStringHandler.java:53)
at org.apache.fontbox.cff.CharStringConverter.convert(CharStringConverter.java:64)
at org.apache.fontbox.cff.CFFFont$Mapping.toType1Sequence(CFFFont.java:374)
at org.apache.fontbox.cff.AFMFormatter.renderFont(AFMFormatter.java:126)
at org.apache.fontbox.cff.AFMFormatter.printFontMetrics(AFMFormatter.java:64)
at org.apache.fontbox.cff.AFMFormatter.printFont(AFMFormatter.java:57)
at org.apache.fontbox.cff.AFMFormatter.format(AFMFormatter.java:50)
at org.apache.pdfbox.pdmodel.font.PDType1CFont.prepareFontMetric(PDType1CFont.java:502)
at org.apache.pdfbox.pdmodel.font.PDType1CFont.load(PDType1CFont.java:381)
at org.apache.pdfbox.pdmodel.font.PDType1CFont.<init>(PDType1CFont.java:104)
at org.apache.pdfbox.pdmodel.font.PDType1Font.<init>(PDType1Font.java:162)
at org.apache.pdfbox.pdmodel.font.PDFontFactory.createFont(PDFontFactory.java:108)
at org.apache.pdfbox.pdmodel.font.PDFontFactory.createFont(PDFontFactory.java:75)
at org.apache.pdfbox.pdmodel.PDResources.getFonts(PDResources.java:115)
at org.apache.pdfbox.util.PDFStreamEngine.processSubStream(PDFStreamEngine.java:243)
at org.apache.pdfbox.util.PDFStreamEngine.processStream(PDFStreamEngine.java:225)
at org.apache.pdfbox.util.PDFTextStripper.processPage(PDFTextStripper.java:447)
at org.apache.pdfbox.util.PDFTextStripper.processPages(PDFTextStripper.java:371)
at org.apache.pdfbox.util.PDFTextStripper.writeText(PDFTextStripper.java:327)
at org.apache.pdfbox.util.PDFTextStripper.getText(PDFTextStripper.java:247)
> PDPage.convertToImage throwing an uncaught IOException internally
> -----------------------------------------------------------------
>
> Key: PDFBOX-831
> URL: https://issues.apache.org/jira/browse/PDFBOX-831
> Project: PDFBox
> Issue Type: Bug
> Components: PDModel
> Affects Versions: 1.2.1, 1.3.1, 1.5.0
> Environment: Windows 7, jdk1.6.0_21
> Reporter: Kosta Krauth
> Attachments: document.pdf
>
>
> After successfully loading a PDF document and extracting pages from it using the following snippet:
> doc = PDDocument.load(f);
> pages = doc.getDocumentCatalog().getAllPages();
> I try and convert the front page to an image as follows:
> PDPage page = (PDPage) pages.get(0);
> BufferedImage image = page.convertToImage();
> The page.convertToImage() causes a RuntimeException to be thrown due to an uncaught internal IOException. Otherwise, the extracting of text/images and all other functions I tried work correctly on this document.
> Here is the stack trace:
> Exception in thread "main" java.lang.RuntimeException: java.io.IOException: The handle is invalid
> at org.apache.pdfbox.pdfparser.PDFStreamParser$1.tryNext(PDFStreamParser.java:149)
> at org.apache.pdfbox.pdfparser.PDFStreamParser$1.hasNext(PDFStreamParser.java:158)
> at org.apache.pdfbox.util.PDFStreamEngine.processSubStream(PDFStreamEngine.java:241)
> at org.apache.pdfbox.util.PDFStreamEngine.processStream(PDFStreamEngine.java:208)
> at org.apache.pdfbox.pdfviewer.PageDrawer.drawPage(PageDrawer.java:112)
> at org.apache.pdfbox.pdmodel.PDPage.convertToImage(PDPage.java:722)
> at org.apache.pdfbox.pdmodel.PDPage.convertToImage(PDPage.java:693)
> at pdfboxtestant.Main.getFrontPageImage(Main.java:44)
> at pdfboxtestant.Main.main(Main.java:25)
> Caused by: java.io.IOException: The handle is invalid
> at java.io.RandomAccessFile.seek(Native Method)
> at org.apache.pdfbox.io.RandomAccessFile.seek(RandomAccessFile.java:59)
> at org.apache.pdfbox.io.RandomAccessFileInputStream.read(RandomAccessFileInputStream.java:96)
> at java.io.BufferedInputStream.read1(BufferedInputStream.java:256)
> at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
> at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
> at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
> at java.io.FilterInputStream.read(FilterInputStream.java:66)
> at java.io.PushbackInputStream.read(PushbackInputStream.java:122)
> at org.apache.pdfbox.io.PushBackInputStream.read(PushBackInputStream.java:84)
> at org.apache.pdfbox.pdfparser.BaseParser.skipSpaces(BaseParser.java:1296)
> at org.apache.pdfbox.pdfparser.PDFStreamParser.parseNextToken(PDFStreamParser.java:197)
> at org.apache.pdfbox.pdfparser.PDFStreamParser.access$000(PDFStreamParser.java:47)
> at org.apache.pdfbox.pdfparser.PDFStreamParser$1.tryNext(PDFStreamParser.java:146)
> ... 8 more
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira