[ 
https://issues.apache.org/jira/browse/PDFBOX-2274?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14110484#comment-14110484
 ] 

Tilman Hausherr commented on PDFBOX-2274:
-----------------------------------------

Look in the sources for getPartiallyFilteredStream() and its uses, this does 
what you need.

> 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)

Reply via email to