Hello,
I've received PDF file with broken page table where page count is stored
as reference. Opening such file returnes zero pages instead of correct
count.
There is small patch in the attachment which solves the issue.
Any comments are welcomed...
Regards, Petr Pytelka
Index: src/doc/PdfPagesTree.cpp
===================================================================
--- src/doc/PdfPagesTree.cpp (revision 1603)
+++ src/doc/PdfPagesTree.cpp (working copy)
@@ -71,8 +71,13 @@
int PdfPagesTree::GetTotalNumberOfPages() const
{
- return ( ( this->GetObject()->GetDictionary().HasKey( "Count" ) ) ?
- static_cast<int>(this->GetObject()->GetDictionary().GetKeyAsLong(
"Count", 0LL )) : 0 );
+ const PdfObject *pObject = GetObject()->GetIndirectKey( "Count" );
+ if(pObject!=NULL) {
+ return (pObject->GetDataType()==ePdfDataType_Number) ?
+ static_cast<int>(pObject->GetNumber()):0;
+ } else {
+ return 0;
+ }
}
PdfPage* PdfPagesTree::GetPage( int nIndex )
------------------------------------------------------------------------------
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://p.sf.net/sfu/hpccsystems
_______________________________________________
Podofo-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/podofo-users