Hi,
I'm using PoDoFo (svn version) to extract page thumbnails from pdfs
and run into ePdfError_ValueOutOfRange exception in
podofo.dll!PoDoFo::PdfLZWFilter::DecodeBlockImpl(const char *
pBuffer=0x0029f58b, int lLen=1) Line 710 C++
podofo.dll!PoDoFo::PdfFilter::DecodeBlock(const char *
pBuffer=0x0029f588, int lLen=4) Line 374 + 0x17 bytes C++
podofo.dll!PoDoFo::PdfFilteredDecodeStream::Write(const char *
pBuffer=0x0029f588, int lLen=4) Line 162 C++
podofo.dll!PoDoFo::PdfAscii85Filter::WidePut(unsigned long
tuple=3772987464, int bytes=4) Line 414 + 0x22 bytes C++
podofo.dll!PoDoFo::PdfAscii85Filter::DecodeBlockImpl(const char *
pBuffer=0x024b37ed, int lLen=452) Line 347 C++
podofo.dll!PoDoFo::PdfFilter::DecodeBlock(const char *
pBuffer=0x024b37d0, int lLen=481) Line 374 + 0x17 bytes C++
podofo.dll!PoDoFo::PdfFilteredDecodeStream::Write(const char *
pBuffer=0x024b37d0, int lLen=481) Line 162 C++
podofo.dll!PoDoFo::PdfStream::GetFilteredCopy(PoDoFo::PdfOutputStream
* pStream=0x0029f8a8) Line 56 + 0x3d bytes C++
thumb.exe!main(int argc=1, char * * argv=0x00fb57e0) Line 29 C++
the code is quite simple
<code>
using namespace PoDoFo;
PdfMemDocument doc;
doc.Load( file_path );
PdfPage* page = doc.GetPage( 0 );
PdfObject* page_obj = page->GetObject();
PdfObject* thumb_obj = page_obj->GetIndirectKey( "Thumb" ); // 252 0 obj
PdfObject* cs_obj = thumb_obj->GetIndirectKey( "ColorSpace" ); // 258 0 obj
PdfArray cs_arr = cs_obj->GetArray();
PdfObject stream_ref_obj = cs_arr[3]; // 257 0 R
PdfVecObjects* owner = cs_obj->GetOwner();
PdfObject* stream_obj = owner->GetObject(
stream_ref_obj.GetReference() ); // 257 0 obj
PdfRefCountedBuffer buffer;
PdfBufferOutputStream stream( &buffer );
PdfStream* pdf_stream = stream_obj->GetStream(); // << /Filter [
/ASCII85Decode /LZWDecode ] /Length 256 0 R >>
pdf_stream->GetFilteredCopy( &stream ); // failed here
</code>
It looks like the bug for me somewhere on the filters boundary or in
LZW decoding but I'm not sure. Could somebody clarify that this is the
bug?
--
Best regards,
Aleksey Chernoraenko
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Podofo-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/podofo-users