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

Tilman Hausherr commented on PDFBOX-4763:
-----------------------------------------

Yeah something is wrong, from looking at the source code, it would indeed 
return an empty stream if hitting a filter
{code:java}
public InputStream createInputStream(List<String> stopFilters) throws 
IOException
{
    List<String> filters = getFilters();
    ByteArrayInputStream in = new ByteArrayInputStream(rawData);
    ByteArrayOutputStream out = new ByteArrayOutputStream(rawData.length);
    for (int i = 0; filters != null && i < filters.size(); i++)
    {
        // TODO handling of abbreviated names belongs here, rather than in 
other classes
        out.reset();
        if (stopFilters.contains(filters.get(i)))
        {
            break;
        }
        else
        {
            Filter filter = FilterFactory.INSTANCE.getFilter(filters.get(i));
            filter.decode(in, out, parameters, i);
            in = new ByteArrayInputStream(out.toByteArray());
        }
    }
    return new ByteArrayInputStream(out.toByteArray());
}
 {code}

> Can't get inline image raw data
> -------------------------------
>
>                 Key: PDFBOX-4763
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-4763
>             Project: PDFBox
>          Issue Type: Bug
>          Components: PDModel
>    Affects Versions: 2.0.15
>            Reporter: Constantine Dokolas
>            Priority: Minor
>
> I'm trying to "clone" an inline image (having the original {{PDInlineImage}} 
> object) and I can't find a way to access the raw image data. The reason I 
> want the raw data is because I'm copying the dictionary as it is, including 
> the filters, and using the {{PDInlineImage}} constructor (not going via a 
> {{BufferdImage}} and {{LosslessFactory}}).
> It would seem to me that {{createInputStream(List<String> stopFilters)}} 
> should return the un-decoded stream when provided with a list blocking all 
> filters, but all it returns is an empty stream. The source code suggests that 
> {{PDImageXObject}} has the same behavior. This should not be the case. When 
> decoding is blocked, the raw data should be returned.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to