#include <PdfWriter.h>
Public Member Functions | |
PdfWriter (PdfParser *pParser) | |
PdfWriter (PdfVecObjects *pVecObjects, const PdfObject *pTrailer) | |
void | Write (const char *pszFilename) |
void | Write (PdfOutputDevice *pDevice) |
void | SetWriteMode (EPdfWriteMode eWriteMode) |
EPdfWriteMode | GetWriteMode () const |
void | SetPdfVersion (EPdfVersion eVersion) |
EPdfVersion | GetPdfVersion () const |
void | SetLinearized (bool bLinearize) |
bool | GetLinearized () const |
void | SetUseXRefStream (bool bStream) |
bool | GetUseXRefStream () const |
const char * | GetPdfVersionString () const |
void | SetEncrypted (const PdfEncrypt &rEncrypt) |
bool | GetEncrypted () const |
void | GetByteOffset (PdfObject *pObject, pdf_long *pulOffset) |
void | WriteToBuffer (char **ppBuffer, pdf_long *pulLen) |
void | FillTrailerObject (PdfObject *pTrailer, pdf_long lSize, bool bPrevEntry, bool bOnlySizeKey) const |
Protected Member Functions | |
PdfWriter (PdfVecObjects *pVecObjects) | |
void PODOFO_LOCAL | WritePdfHeader (PdfOutputDevice *pDevice) |
void | WritePdfObjects (PdfOutputDevice *pDevice, const PdfVecObjects &vecObjects, PdfXRef *pXref) PODOFO_LOCAL |
void | CreateFileIdentifier (PdfString &identifier, const PdfObject *pTrailer) const PODOFO_LOCAL |
Protected Attributes | |
PdfVecObjects * | m_vecObjects |
PdfEncrypt * | m_pEncrypt |
If not NULL encrypt all strings and streams and create an encryption dictionary in the trailer. | |
PdfObject * | m_pEncryptObj |
Used to temporarly store the encryption dictionary. |
It does not know about pages but only about PdfObjects.
Most users will want to use PdfDocument.
PoDoFo::PdfWriter::PdfWriter | ( | PdfParser * | pParser | ) |
PoDoFo::PdfWriter::PdfWriter | ( | PdfVecObjects * | pVecObjects, | |
const PdfObject * | pTrailer | |||
) |
Create a new pdf file, from an vector of PdfObjects and a trailer object.
pVecObjects | the vector of objects | |
pTrailer | a valid trailer object |
PoDoFo::PdfWriter::PdfWriter | ( | PdfVecObjects * | pVecObjects | ) | [protected] |
Create a PdfWriter from a PdfVecObjects
void PoDoFo::PdfWriter::CreateFileIdentifier | ( | PdfString & | identifier, | |
const PdfObject * | pTrailer | |||
) | const [protected] |
Creates a file identifier which is required in several PDF workflows. All values from the files document information dictionary are used to create a unique MD5 key which is added to the trailer dictionary.
identifier | write the identifier to this string | |
pTrailer | trailer object |
void PoDoFo::PdfWriter::FillTrailerObject | ( | PdfObject * | pTrailer, | |
pdf_long | lSize, | |||
bool | bPrevEntry, | |||
bool | bOnlySizeKey | |||
) | const |
Add required keys to a trailer object
pTrailer | add keys to this object | |
lSize | number of objects in the PDF file | |
bPrevEntry | if true a prev entry is added to the trailer object with a value of 0 | |
bOnlySizeKey | write only the size key |
void PoDoFo::PdfWriter::GetByteOffset | ( | PdfObject * | pObject, | |
pdf_long * | pulOffset | |||
) |
Calculate the byte offset of the object pObject in the PDF file if the file was written to disk at the moment of calling this function.
This function is very calculation intensive!
pObject | object to calculate the byte offset (has to be a child of this PdfWriter) | |
pulOffset | pointer to an unsigned long to save the offset |
bool PoDoFo::PdfWriter::GetEncrypted | ( | ) | const [inline] |
bool PoDoFo::PdfWriter::GetLinearized | ( | ) | const [inline] |
EPdfVersion PoDoFo::PdfWriter::GetPdfVersion | ( | ) | const [inline] |
Get the PDF version of the document
const char* PoDoFo::PdfWriter::GetPdfVersionString | ( | ) | const [inline] |
Get the file format version of the pdf
bool PoDoFo::PdfWriter::GetUseXRefStream | ( | ) | const [inline] |
EPdfWriteMode PoDoFo::PdfWriter::GetWriteMode | ( | ) | const [inline] |
Get the write mode used for wirting the PDF
void PoDoFo::PdfWriter::SetEncrypted | ( | const PdfEncrypt & | rEncrypt | ) |
Set the written document to be encrypted using a PdfEncrypt object
rEncrypt | an encryption object which is used to encrypt the written PDF file |
void PoDoFo::PdfWriter::SetLinearized | ( | bool | bLinearize | ) | [inline] |
Enabled linearization for this document. I.e. optimize it for web usage. Default is false.
bLinearize | if true create a web optimized PDF file |
void PoDoFo::PdfWriter::SetPdfVersion | ( | EPdfVersion | eVersion | ) | [inline] |
Set the PDF Version of the document. Has to be called before Write() to have an effect.
eVersion | version of the pdf document |
void PoDoFo::PdfWriter::SetUseXRefStream | ( | bool | bStream | ) | [inline] |
Create a XRef stream which is in some case more compact but requires at least PDF 1.5 Default is false.
bStream | if true a XRef stream object will be created |
void PoDoFo::PdfWriter::SetWriteMode | ( | EPdfWriteMode | eWriteMode | ) | [inline] |
Set the write mode to use when writing the PDF.
eWriteMode | write mode |
void PoDoFo::PdfWriter::Write | ( | PdfOutputDevice * | pDevice | ) |
void PoDoFo::PdfWriter::Write | ( | const char * | pszFilename | ) |
Writes the complete document to a PDF file.
pszFilename | filename of a PDF file. |
void PoDoFo::PdfWriter::WritePdfHeader | ( | PdfOutputDevice * | pDevice | ) | [protected] |
Writes the pdf header to the current file.
pDevice | write to this output device |
void PoDoFo::PdfWriter::WritePdfObjects | ( | PdfOutputDevice * | pDevice, | |
const PdfVecObjects & | vecObjects, | |||
PdfXRef * | pXref | |||
) | [protected] |
Write pdf objects to file
pDevice | write to this output device | |
vecObjects | write all objects in this vector to the file | |
pXref | add all written objects to this XRefTable |
void PoDoFo::PdfWriter::WriteToBuffer | ( | char ** | ppBuffer, | |
pdf_long * | pulLen | |||
) |
Write the whole document to a buffer in memory.
Better use a PdfOutputDevice that writes to a PdfRefCountedBuffer.
ppBuffer | will be malloc'ed and the document will be written to this buffer. | |
pulLen | the length of the buffer will be returned in this parameter |
PdfVecObjects* PoDoFo::PdfWriter::m_vecObjects [protected] |
Fill all keys in the linearization dictionary with their values
pLinearize | a linearization dictionary | |
pHint | the hint stream | |
pPage | the first page in the linerarized PDF file | |
pLast | pointer of the last object belonging to the first page | |
pVecXRefOffset | xref table entries for previous entry |