Hi,
Found a problem with podofo (svn r1231 and older versions) which I cannot fix
by myself: It's located in PdfFilter.cpp (line 366) where it is required that
the array elements of /Filter have to be names:
> if (! (*it).IsName() )
> {
> PODOFO_RAISE_ERROR_INFO( ePdfError_InvalidDataType, "Filter array
> contained unexpected non-name type" );
> ...
However, according to the PDF spec it is not forbidden to have references in
the filter array. For example, the following PDF code with the reference "487 0
R" is valid by the spec (and by Acrobat preflight for syntax errors):
> 485 0 obj
> <<
> /Range [0 1 0 1 0 1 0 1]
> /Filter [487 0 R]
> /Domain [0 1 0 1 0 1 0 1]
> /FunctionType 4
> /Length 28
> >>
> stream
> x<9c>«V0PP0U0T(ÊÏÉ!<8a>]<90>_<80><82>k^A<s^R<91>
> endstream
> endobj
>
> 487 0 obj
> /FlateDecode
> endobj
Still, this PDF code is rejected by podofo! To fix it, the file
PdfFilter.cpp:366 has to be extended by some kind of dereferencing in case of
(*it).IsReference(). This is usually done by code fragments like this:
> const PdfObject* pElem = *it;
> while ( pElem && pElem->IsReference() )
> {
> pElem = pParent->GetObject( pElem->GetReference() );
> }
However, how do get the parent object pParent into the PdfFilter class. It is
required to apply GetObject() to it, isn't it? Could you please help me, to fix
this?
Thank you,
Amin
------------------------------------------------------------------------------
_______________________________________________
Podofo-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/podofo-users