#include <PdfXRef.h>
Creates an XRef table.
This is an internal class of PoDoFo used by PdfWriter.
◆ PdfXRef()
PoDoFo::PdfXRef::PdfXRef |
( |
| ) |
|
◆ ~PdfXRef()
PoDoFo::PdfXRef::~PdfXRef |
( |
| ) |
|
|
virtual |
◆ AddObject()
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.
- Parameters
-
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. |
◆ BeginWrite()
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.
- Parameters
-
pDevice | the output device to which the XRef table should be written. |
Reimplemented in PoDoFo::PdfXRefStream.
◆ EndWrite()
Called at the end of writing the XRef table. Sub classes can overload this method to finish a XRef table.
- Parameters
-
pDevice | the output device to which the XRef table should be written. |
Reimplemented in PoDoFo::PdfXRefStream.
◆ GetOffset()
pdf_uint64 PoDoFo::PdfXRef::GetOffset |
( |
| ) |
const |
|
inlinevirtual |
- Returns
- the offset in the file at which the XRef table starts after it was written
Reimplemented in PoDoFo::PdfXRefStream.
◆ GetSize()
pdf_uint32 PoDoFo::PdfXRef::GetSize |
( |
| ) |
const |
Get the size of the XRef table. I.e. the highest object number + 1.
- Returns
- the size of the xref table
◆ SetFirstEmptyBlock()
void PoDoFo::PdfXRef::SetFirstEmptyBlock |
( |
| ) |
|
◆ Write()
Write the XRef table to an output device.
- Parameters
-
pDevice | an output device (usually a PDF file) |
◆ WriteSubSection()
void PoDoFo::PdfXRef::WriteSubSection |
( |
PdfOutputDevice * |
pDevice, |
|
|
pdf_objnum |
nFirst, |
|
|
pdf_uint32 |
nCount |
|
) |
| |
|
protectedvirtual |
Begin an XRef subsection. All following calls of WriteXRefEntry belong to this XRef subsection.
- Parameters
-
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.
◆ WriteXRefEntry()
void PoDoFo::PdfXRef::WriteXRefEntry |
( |
PdfOutputDevice * |
pDevice, |
|
|
pdf_uint64 |
offset, |
|
|
pdf_gennum |
generation, |
|
|
char |
cMode, |
|
|
pdf_objnum |
objectNumber = 0 |
|
) |
| |
|
protectedvirtual |
Write a single entry to the XRef table
- Parameters
-
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.