PoDoFo
0.9.1
|
#include <PdfXRef.h>
Public Member Functions | |
PdfXRef () | |
virtual | ~PdfXRef () |
void | AddObject (const PdfReference &rRef, pdf_uint64 offset, bool bUsed) |
void | Write (PdfOutputDevice *pDevice) |
pdf_uint32 | GetSize () const |
virtual pdf_uint64 | GetOffset () const |
Protected Member Functions | |
virtual void | BeginWrite (PdfOutputDevice *pDevice) |
virtual void | WriteSubSection (PdfOutputDevice *pDevice, pdf_objnum nFirst, pdf_uint32 nCount) |
virtual void | WriteXRefEntry (PdfOutputDevice *pDevice, pdf_uint64 offset, pdf_gennum generation, char cMode, pdf_objnum objectNumber=0) |
virtual void | EndWrite (PdfOutputDevice *pDevice) |
Create a new XRef table
PoDoFo::PdfXRef::~PdfXRef | ( | ) | [virtual] |
Destruct the XRef table
void PoDoFo::PdfXRef::AddObject | ( | const PdfReference & | rRef, |
pdf_uint64 | offset, | ||
bool | bUsed | ||
) |
Add an object to the XRef table. The object should have been written to an output device already.
rRef | reference of this object |
offset | the offset where on the device the object was written |
bUsed | specifies wether this is an used or free object. Set this value to true for all normal objects and to false for free object references. |
void PoDoFo::PdfXRef::BeginWrite | ( | PdfOutputDevice * | pDevice | ) | [protected, virtual] |
Called at the start of writing the XRef table. This method can be overwritten in subclasses to write a general header for the XRef table.
pDevice | the output device to which the XRef table should be written. |
Reimplemented in PoDoFo::PdfXRefStream.
void PoDoFo::PdfXRef::EndWrite | ( | PdfOutputDevice * | pDevice | ) | [protected, virtual] |
Called at the end of writing the XRef table. Sub classes can overload this method to finish a XRef table.
pDevice | the output device to which the XRef table should be written. |
Reimplemented in PoDoFo::PdfXRefStream.
pdf_uint64 PoDoFo::PdfXRef::GetOffset | ( | ) | const [inline, virtual] |
Reimplemented in PoDoFo::PdfXRefStream.
pdf_uint32 PoDoFo::PdfXRef::GetSize | ( | ) | const |
Get the size of the XRef table. I.e. the highest object number + 1.
void PoDoFo::PdfXRef::Write | ( | PdfOutputDevice * | pDevice | ) |
Write the XRef table to an output device.
pDevice | an output device (usually a PDF file) |
void PoDoFo::PdfXRef::WriteSubSection | ( | PdfOutputDevice * | pDevice, |
pdf_objnum | nFirst, | ||
pdf_uint32 | nCount | ||
) | [protected, virtual] |
Begin an XRef subsection. All following calls of WriteXRefEntry belong to this XRef subsection.
pDevice | the output device to which the XRef table should be written. |
nFirst | the object number of the first object in this subsection |
nCount | the number of entries in this subsection |
Reimplemented in PoDoFo::PdfXRefStream.
void PoDoFo::PdfXRef::WriteXRefEntry | ( | PdfOutputDevice * | pDevice, |
pdf_uint64 | offset, | ||
pdf_gennum | generation, | ||
char | cMode, | ||
pdf_objnum | objectNumber = 0 |
||
) | [protected, virtual] |
Write a single entry to the XRef table
pDevice | the output device to which the XRef table should be written. |
offset | the offset of the object |
generation | the generation number |
cMode | the mode 'n' for object and 'f' for free objects |
objectNumber | the object number of the currently written object if cMode = 'n' otherwise undefined |
Reimplemented in PoDoFo::PdfXRefStream.