[ https://issues.apache.org/jira/browse/PDFBOX-2274?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14104413#comment-14104413 ]
John Hewson commented on PDFBOX-2274: ------------------------------------- {quote} getDecodeResult() is called and the stream is decoded then. That's happening when getting the XObjects through PDResources. I've not investigated it further, but I'm wondering whether it is really necessary to decode the image at that point. {quote} The stream has to be passed to the super constructor for PDXObject, and it needs to be repaired before it is used, which is why it's read at that point. Perhaps we could do this lazily by overriding getCOSObject(), getCOSStream(), getPDStream() in PDImageXObject(). > Decoding issue in PDImageXObject > -------------------------------- > > Key: PDFBOX-2274 > URL: https://issues.apache.org/jira/browse/PDFBOX-2274 > Project: PDFBox > Issue Type: Bug > Components: PDModel > Affects Versions: 2.0.0 > Reporter: Dominic Tubach > > I'm using JpegFactory to create an PDImageXObject from a content stream. > There the constrcutor > {code} > PDImageXObject(PDDocument document, InputStream filteredStream, > COSBase cosFilter, int width, int height, int bitsPerComponent, > PDColorSpace initColorSpace) > {code} > is used. > I've found the following issue: > The method getUnfilteredStream() of the COSStream in the PDImageXObject > returns an input stream containing a RandomAccessFileInputStream with > {{currentPosition = 50814}} and {{endPosition = 1440000}} and my following > operation fails. > If the method doDecode() of the COSStream is called before the filter is set > in the COSStream the input stream returned by getUnfilteredStream() contains > a RandomAccessFileInputStream with {{currentPosition = 0}} and {{endPosition > = 50814}} and the result is as expected. > I've achieved this by adding > {code} > getStream().getStream().getDecodeResult(); > {code} > before > {code} > getCOSStream().setItem(COSName.FILTER, cosFilter); > {code} > in the PDImageXObject contructor. -- This message was sent by Atlassian JIRA (v6.2#6252)