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

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

{quote}
Another thing I thought about when looking at the code: Should it be ensured in 
COSStream.setFilters() that unfilteredStream is not null by decoding the stream 
before setting the filter? Otherwise the stream's content is lost and a call of 
getFilteredStream() or getUnfilteredStream() would trigger a 
NullPointerException.
{quote}
Can't tell... you're welcome to provide some new code that fails (but open a 
new issue).

> 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