#include <PdfXRefStream.h>
Public Member Functions | |
PdfXRefStream (PdfVecObjects *pParent, PdfWriter *pWriter) | |
virtual | ~PdfXRefStream () |
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) |
Creates an XRef table that is a stream object. Requires at least PDF 1.5. XRef streams are more compact than normal XRef tables.
This is an internal class of PoDoFo used by PdfWriter.
PoDoFo::PdfXRefStream::PdfXRefStream | ( | PdfVecObjects * | pParent, | |
PdfWriter * | pWriter | |||
) |
PoDoFo::PdfXRefStream::~PdfXRefStream | ( | ) | [virtual] |
Destruct the XRef table
void PoDoFo::PdfXRefStream::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 from PoDoFo::PdfXRef.
void PoDoFo::PdfXRefStream::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 from PoDoFo::PdfXRef.
pdf_uint64 PoDoFo::PdfXRefStream::GetOffset | ( | ) | const [inline, virtual] |
Reimplemented from PoDoFo::PdfXRef.
void PoDoFo::PdfXRefStream::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 from PoDoFo::PdfXRef.
void PoDoFo::PdfXRefStream::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 from PoDoFo::PdfXRef.