PoDoFo 0.9.6
PoDoFo::PdfXRefStreamParserObject Class Reference

#include <PdfXRefStreamParserObject.h>

Inheritance diagram for PoDoFo::PdfXRefStreamParserObject:
PoDoFo::PdfParserObject PoDoFo::PdfObject PoDoFo::PdfTokenizer PoDoFo::PdfVariant

Public Member Functions

 PdfXRefStreamParserObject (PdfVecObjects *pCreator, const PdfRefCountedInputDevice &rDevice, const PdfRefCountedBuffer &rBuffer, PdfParser::TVecOffsets *pOffsets)
bool HasPrevious ()
pdf_long GetPreviousOffset ()
Public Member Functions inherited from PoDoFo::PdfParserObject
 PdfParserObject (PdfVecObjects *pCreator, const PdfRefCountedInputDevice &rDevice, const PdfRefCountedBuffer &rBuffer, pdf_long lOffset=-1)
 PdfParserObject (const PdfRefCountedBuffer &rBuffer)
void ParseFile (PdfEncrypt *pEncrypt, bool bIsTrailer=false)
bool HasStreamToParse () const
bool IsLoadOnDemand () const
void SetLoadOnDemand (bool bDelayed)
void SetObjectNumber (unsigned int nObjNo)
void FreeObjectMemory (bool bForce=false)
pdf_int64 GetOffset (void) const
Public Member Functions inherited from PoDoFo::PdfObject
 PdfObject ()
 PdfObject (const PdfReference &rRef, const char *pszType)
 PdfObject (const PdfReference &rRef, const PdfVariant &rVariant)
 PdfObject (const PdfVariant &var)
 PdfObject (bool b)
 PdfObject (pdf_int64 l)
 PdfObject (double d)
 PdfObject (const PdfString &rsString)
 PdfObject (const PdfName &rName)
 PdfObject (const PdfReference &rRef)
 PdfObject (const PdfArray &tList)
 PdfObject (const PdfDictionary &rDict)
 PdfObject (const PdfObject &rhs)
PdfObjectGetIndirectKey (const PdfName &key) const
PdfObjectMustGetIndirectKey (const PdfName &key) const
void WriteObject (PdfOutputDevice *pDevice, EPdfWriteMode eWriteMode, PdfEncrypt *pEncrypt, const PdfName &keyStop=PdfName::KeyNull) const
pdf_long GetObjectLength (EPdfWriteMode eWriteMode)
const PdfReferenceReference () const
PdfStreamGetStream ()
const PdfStreamGetStream () const
bool HasStream () const
PODOFO_NOTHROW bool operator< (const PdfObject &rhs) const
PODOFO_NOTHROW bool operator== (const PdfObject &rhs) const
PdfVecObjects * GetOwner () const
const PdfObjectoperator= (const PdfObject &rhs)
void FlateCompressStream ()
pdf_long GetByteOffset (const char *pszKey, EPdfWriteMode eWriteMode)
void DelayedStreamLoad () const
Public Member Functions inherited from PoDoFo::PdfVariant
 PdfVariant ()
 PdfVariant (bool b)
 PdfVariant (pdf_int64 l)
 PdfVariant (double d)
 PdfVariant (const PdfString &rsString)
 PdfVariant (const PdfName &rName)
 PdfVariant (const PdfReference &rRef)
 PdfVariant (const PdfArray &tList)
 PdfVariant (const PdfDictionary &rDict)
 PdfVariant (const PdfData &rData)
 PdfVariant (const PdfVariant &rhs)
bool IsEmpty () const
void Clear ()
EPdfDataType GetDataType () const
const char * GetDataTypeString () const
bool IsBool () const
bool IsNumber () const
bool IsReal () const
bool IsString () const
bool IsHexString () const
bool IsName () const
bool IsArray () const
bool IsDictionary () const
bool IsRawData () const
bool IsNull () const
bool IsReference () const
void Write (PdfOutputDevice *pDevice, EPdfWriteMode eWriteMode, const PdfEncrypt *pEncrypt=NULL) const
virtual void Write (PdfOutputDevice *pDevice, EPdfWriteMode eWriteMode, const PdfEncrypt *pEncrypt, const PdfName &keyStop) const
void ToString (std::string &rsData, EPdfWriteMode eWriteMode=ePdfWriteMode_Clean) const
void SetBool (bool b)
bool GetBool () const
void SetNumber (long l)
pdf_int64 GetNumber () const
void SetReal (double d)
double GetReal () const
void SetString (const PdfString &str)
const PdfStringGetString () const
const PdfNameGetName () const
const PdfArray & GetArray () const
PdfArray & GetArray ()
const PdfDictionary & GetDictionary () const
PdfDictionary & GetDictionary ()
const PdfReferenceGetReference () const
const PdfDataGetRawData () const
PdfDataGetRawData ()
const PdfVariantoperator= (const PdfVariant &rhs)
bool operator== (const PdfVariant &rhs) const
bool operator!= (const PdfVariant &rhs) const
bool IsDirty () const
void SetImmutable (bool bImmutable)
bool GetImmutable () const
Public Member Functions inherited from PoDoFo::PdfTokenizer
virtual bool GetNextToken (const char *&pszToken, EPdfTokenType *peType=NULL)
bool IsNextToken (const char *pszToken)
pdf_long GetNextNumber ()
void GetNextVariant (PdfVariant &rVariant, PdfEncrypt *pEncrypt)

Additional Inherited Members

Static Public Member Functions inherited from PoDoFo::PdfTokenizer
static PODOFO_NOTHROW bool IsWhitespace (const unsigned char ch)
static PODOFO_NOTHROW bool IsDelimiter (const unsigned char ch)
static PODOFO_NOTHROW bool IsRegular (const unsigned char ch)
static PODOFO_NOTHROW bool IsPrintable (const unsigned char ch)
static PODOFO_NOTHROW int GetHexValue (const unsigned char ch)
Static Public Attributes inherited from PoDoFo::PdfTokenizer
static const unsigned int HEX_NOT_FOUND = std::numeric_limits<unsigned int>::max()
Protected Member Functions inherited from PoDoFo::PdfParserObject
virtual void DelayedLoadImpl ()
virtual void DelayedStreamLoadImpl ()
void ParseStream ()
Protected Member Functions inherited from PoDoFo::PdfObject
void EnableDelayedStreamLoading ()
PdfStreamGetStream_NoDL ()
virtual void AfterDelayedLoad (EPdfDataType eDataType)
void SetVariantOwner (EPdfDataType eDataType)
Protected Member Functions inherited from PoDoFo::PdfVariant
void AssertMutable () const
void SetDirty (bool bDirty)
void DelayedLoad () const
void EnableDelayedLoading ()
PODOFO_NOTHROW bool DelayedLoadDone () const
const PdfDictionary & GetDictionary_NoDL () const
PdfDictionary & GetDictionary_NoDL ()
const PdfArray & GetArray_NoDL () const
PdfArray & GetArray_NoDL ()
Protected Member Functions inherited from PoDoFo::PdfTokenizer
void GetNextVariant (const char *pszToken, EPdfTokenType eType, PdfVariant &rVariant, PdfEncrypt *pEncrypt)
EPdfDataType DetermineDataType (const char *pszToken, EPdfTokenType eType, PdfVariant &rVariant)
void ReadDictionary (PdfVariant &rVariant, PdfEncrypt *pEncrypt)
void ReadArray (PdfVariant &rVariant, PdfEncrypt *pEncrypt)
void ReadString (PdfVariant &rVariant, PdfEncrypt *pEncrypt)
void ReadHexString (PdfVariant &rVariant, PdfEncrypt *pEncrypt)
void ReadHexString (std::vector< char > &rVecBuffer)
void ReadName (PdfVariant &rVariant)
void QuequeToken (const char *pszToken, EPdfTokenType eType)

Detailed Description

A utility class for PdfParser that can parse an XRef stream object.

It is mainly here to make PdfParser more modular. This is only marked PODOFO_API for the benefit of the tests, the class is for internal use only. It is deprecated, so don't ever rely on it (i.e. externally or in PoDoFo tools).

Constructor & Destructor Documentation

◆ PdfXRefStreamParserObject()

PoDoFo::PdfXRefStreamParserObject::PdfXRefStreamParserObject ( PdfVecObjects * pCreator,
const PdfRefCountedInputDevice & rDevice,
const PdfRefCountedBuffer & rBuffer,
PdfParser::TVecOffsets * pOffsets )

Parse the object data from the given file handle starting at the current position.

Parameters
pCreatorpointer to a PdfVecObjects to resolve object references
rDevicean open reference counted input device which is positioned in front of the object which is going to be parsed.
rBufferbuffer to use for parsing to avoid reallocations
pOffsetsXRef entries are stored into this array

Member Function Documentation

◆ GetPreviousOffset()

pdf_long PoDoFo::PdfXRefStreamParserObject::GetPreviousOffset ( )
inline
Returns
the offset of the previous XRef table

◆ HasPrevious()

bool PoDoFo::PdfXRefStreamParserObject::HasPrevious ( )
inline
Returns
true if there is a previous XRefStream