#include <PdfDocument.h>
Public Member Functions | |
virtual | ~PdfDocument () |
virtual EPdfVersion | GetPdfVersion () const =0 |
virtual bool | IsLinearized () const =0 |
PdfInfo * | GetInfo () const |
PdfOutlines * | GetOutlines (bool bCreate=ePdfCreateObject) |
PdfNamesTree * | GetNamesTree (bool bCreate=ePdfCreateObject) |
PdfAcroForm * | GetAcroForm (bool bCreate=ePdfCreateObject, PdfAcroForm::EPdfAcroFormDefaulAppearance eDefaultAppearance=PdfAcroForm::ePdfAcroFormDefaultAppearance_BlackText12pt) |
PdfPagesTree * | GetPagesTree () const |
int | GetPageCount () const |
PdfPage * | GetPage (int nIndex) const |
PdfFont * | CreateFont (const char *pszFontName, const PdfEncoding *const pEncoding=PdfEncodingFactory::GlobalWinAnsiEncodingInstance(), bool bEmbedd=true) |
PdfFont * | CreateFont (const char *pszFontName, bool bBold, bool bItalic, const PdfEncoding *const pEncoding=PdfEncodingFactory::GlobalWinAnsiEncodingInstance(), bool bEmbedd=true, const char *pszFileName=NULL) |
PdfFont * | CreateFont (FT_Face face, const PdfEncoding *const pEncoding=PdfEncodingFactory::GlobalWinAnsiEncodingInstance(), bool bEmbedd=true) |
PdfFont * | CreateDuplicateFontType1 (PdfFont *pFont, const char *pszSuffix) |
PdfFont * | CreateFontSubset (const char *pszFontName, bool bBold, bool bItalic, const PdfEncoding *const =PdfEncodingFactory::GlobalWinAnsiEncodingInstance(), const char *pszFileName=NULL) |
FT_Library | GetFontLibrary () const |
PdfPage * | CreatePage (const PdfRect &rSize) |
const PdfDocument & | Append (const PdfMemDocument &rDoc, bool bAppendAll=true) |
PdfRect | FillXObjectFromDocumentPage (PdfXObject *pXObj, const PdfMemDocument &rDoc, int nPage) |
void | AttachFile (const PdfFileSpec &rFileSpec) |
void | AddNamedDestination (const PdfDestination &rDest, const PdfString &rsName) |
void | SetPageMode (EPdfPageMode inMode) |
EPdfPageMode | GetPageMode (void) const |
void | SetUseFullScreen (void) |
void | SetPageLayout (EPdfPageLayout inLayout) |
void | SetHideToolbar (void) |
void | SetHideMenubar (void) |
void | SetHideWindowUI (void) |
void | SetFitWindow (void) |
void | SetCenterWindow (void) |
void | SetDisplayDocTitle (void) |
void | SetPrintScaling (PdfName &inScalingType) |
void | SetBaseURI (const std::string &inBaseURI) |
void | SetLanguage (const std::string &inLanguage) |
void | SetBindingDirection (PdfName &inDirection) |
virtual bool | IsPrintAllowed () const =0 |
virtual bool | IsEditAllowed () const =0 |
virtual bool | IsCopyAllowed () const =0 |
virtual bool | IsEditNotesAllowed () const =0 |
virtual bool | IsFillAndSignAllowed () const =0 |
virtual bool | IsAccessibilityAllowed () const =0 |
virtual bool | IsDocAssemblyAllowed () const =0 |
virtual bool | IsHighPrintAllowed () const =0 |
PdfVecObjects * | GetObjects () |
const PdfVecObjects * | GetObjects () const |
Protected Member Functions | |
PdfDocument () | |
void | SetInfo (PdfInfo *pInfo) |
PdfObject * | GetCatalog () |
const PdfObject * | GetCatalog () const |
void | SetCatalog (PdfObject *pObject) |
PdfObject * | GetTrailer () |
const PdfObject * | GetTrailer () const |
void | SetTrailer (PdfObject *pObject) |
PdfObject * | GetNamedObjectFromCatalog (const char *pszName) const |
void | InitPagesTree () |
void | FixObjectReferences (PdfObject *pObject, int difference) |
void | SetViewerPreference (const PdfName &whichPref, const PdfObject &valueObj) |
void | Clear () |
PdfDocument is the core interface for working with PDF documents.
PdfDocument provides easy access to the individual pages in the PDF file and to certain special dictionaries.
PdfDocument cannot be used directly. Use PdfMemDocument whenever you want to change the object structure of a PDF file.
When you are only creating PDF files, please use PdfStreamedDocument which is usually faster for creating PDFs.
PoDoFo::PdfDocument::~PdfDocument | ( | ) | [virtual] |
Close down/destruct the PdfDocument
PoDoFo::PdfDocument::PdfDocument | ( | ) | [protected] |
Construct a new (empty) PdfDocument
void PoDoFo::PdfDocument::AddNamedDestination | ( | const PdfDestination & | rDest, | |
const PdfString & | rsName | |||
) |
Adds a PdfDestination into the global Names tree with the specified name, optionally replacing one of the same name
rDest | the destination to be assigned | |
rsName | the name for the destination |
const PdfDocument & PoDoFo::PdfDocument::Append | ( | const PdfMemDocument & | rDoc, | |
bool | bAppendAll = true | |||
) |
Appends another PdfDocument to this document
rDoc | the document to append | |
bAppendAll | specifies whether pages and outlines are appended too |
void PoDoFo::PdfDocument::AttachFile | ( | const PdfFileSpec & | rFileSpec | ) |
Attach a file to the document.
rFileSpec | a file specification |
void PoDoFo::PdfDocument::Clear | ( | ) | [protected] |
Clear all internal variables And reset PdfDocument to an intial state
Creates a duplicate Type1-PdfFont with a new Id
pFont | is the existing font | |
pszSuffix | Suffix to add to font-id The returned object is owned by the PdfDocument. |
TODO: DS: Make this generic so that it will work for any font type!
PdfFont * PoDoFo::PdfDocument::CreateFont | ( | const char * | pszFontName, | |
bool | bBold, | |||
bool | bItalic, | |||
const PdfEncoding *const | pEncoding = PdfEncodingFactory::GlobalWinAnsiEncodingInstance() , |
|||
bool | bEmbedd = true , |
|||
const char * | pszFileName = NULL | |||
) |
Creates a PdfFont object
pszFontName | name of the font as it is known to the system | |
bBold | if true search for a bold font | |
bItalic | if true search for an italic font | |
pEncoding | the encoding of the font. The font will not take ownership of this object. | |
bEmbedd | specifies whether this font should be embedded in the PDF file. Embedding fonts is usually a good idea. | |
optional,: | pszFileName path to a valid font file |
PdfFont * PoDoFo::PdfDocument::CreateFont | ( | FT_Face | face, | |
const PdfEncoding *const | pEncoding = PdfEncodingFactory::GlobalWinAnsiEncodingInstance() , |
|||
bool | bEmbedd = true | |||
) |
Creates a PdfFont object
face | a valid freetype font handle (will be free'd by PoDoFo) | |
pEncoding | the encoding of the font. The font will not take ownership of this object. | |
bEmbedd | specifies whether this font should be embedded in the PDF file. Embedding fonts is usually a good idea. |
PdfFont * PoDoFo::PdfDocument::CreateFont | ( | const char * | pszFontName, | |
const PdfEncoding *const | pEncoding = PdfEncodingFactory::GlobalWinAnsiEncodingInstance() , |
|||
bool | bEmbedd = true | |||
) |
Creates a PdfFont object
pszFontName | name of the font as it is known to the system | |
pEncoding | the encoding of the font. The font will not take ownership of this object. | |
bEmbedd | specifies whether this font should be embedded in the PDF file. Embedding fonts is usually a good idea. |
PdfFont * PoDoFo::PdfDocument::CreateFontSubset | ( | const char * | pszFontName, | |
bool | bBold, | |||
bool | bItalic, | |||
const PdfEncoding * const | pEncoding = PdfEncodingFactory::GlobalWinAnsiEncodingInstance() , |
|||
const char * | pszFileName = NULL | |||
) |
Creates a font subset which contains only a few characters and is embedded.
THIS WORKS ONLY FOR TTF FONTS!
pszFontName | name of the font as it is known to the system | |
bBold | if true search for a bold font | |
bItalic | if true search for an italic font | |
pEncoding | the encoding of the font. The font will not take ownership of this object. |
Creates a new page object and inserts it into the internal page tree. The returned page is owned by the PdfDocument and will get deleted along with it!
rSize | a PdfRect spezifying the size of the page (i.e the /MediaBox key) in 1/1000th mm |
PdfRect PoDoFo::PdfDocument::FillXObjectFromDocumentPage | ( | PdfXObject * | pXObj, | |
const PdfMemDocument & | rDoc, | |||
int | nPage | |||
) |
Fill an existing empty XObject from a page of another document
pXObj | pointer to the XOject | |
rDoc | the document to embedd into XObject | |
nPage | page-number to embedd into XObject |
void PoDoFo::PdfDocument::FixObjectReferences | ( | PdfObject * | pObject, | |
int | difference | |||
) | [protected] |
Recursively changes every PdfReference in the PdfObject and in any child that is either an PdfArray or a direct object. The reference is changed so that difference is added to the object number if the reference.
pObject | object to change | |
difference | add this value to every reference that is encountered |
PdfAcroForm * PoDoFo::PdfDocument::GetAcroForm | ( | bool | bCreate = ePdfCreateObject , |
|
PdfAcroForm::EPdfAcroFormDefaulAppearance | eDefaultAppearance = PdfAcroForm::ePdfAcroFormDefaultAppearance_BlackText12pt | |||
) |
Get access to the AcroForm dictionary
bCreate | create the object if it does not exist (ePdfCreateObject) or return NULL if it does not exist | |
eDefaultAppearance | specifies if a default appearence shall be created |
PdfObject * PoDoFo::PdfDocument::GetCatalog | ( | ) | [inline, protected] |
Get access to the internal Catalog dictionary or root object.
Reimplemented in PoDoFo::PdfMemDocument.
const PdfObject * PoDoFo::PdfDocument::GetCatalog | ( | ) | const [inline, protected] |
Get access to the internal Catalog dictionary or root object.
Reimplemented in PoDoFo::PdfMemDocument.
FT_Library PoDoFo::PdfDocument::GetFontLibrary | ( | ) | const [inline] |
Returns the font library from font cache
PdfInfo* PoDoFo::PdfDocument::GetInfo | ( | ) | const [inline] |
Get access to the internal Info dictionary You can set the author, title etc. of the document using the info dictionary.
PdfObject * PoDoFo::PdfDocument::GetNamedObjectFromCatalog | ( | const char * | pszName | ) | const [protected] |
Get a dictioary from the catalog dictionary by its name.
pszName | will be converted into a PdfName |
PdfNamesTree * PoDoFo::PdfDocument::GetNamesTree | ( | bool | bCreate = ePdfCreateObject |
) |
Get access to the Names dictionary (where all the named objects are stored) The returned PdfNamesTree object is owned by the PdfDocument.
bCreate | create the object if it does not exist (ePdfCreateObject) or return NULL if it does not exist |
PdfVecObjects * PoDoFo::PdfDocument::GetObjects | ( | ) | [inline] |
Get access to the internal vector of objects or root object.
Reimplemented in PoDoFo::PdfMemDocument.
const PdfVecObjects * PoDoFo::PdfDocument::GetObjects | ( | ) | const [inline] |
Get access to the internal vector of objects or root object.
Reimplemented in PoDoFo::PdfMemDocument.
PdfOutlines * PoDoFo::PdfDocument::GetOutlines | ( | bool | bCreate = ePdfCreateObject |
) |
Get access to the Outlines (Bookmarks) dictionary The returned outlines object is owned by the PdfDocument.
bCreate | create the object if it does not exist (ePdfCreateObject) or return NULL if it does not exist |
PdfPage * PoDoFo::PdfDocument::GetPage | ( | int | nIndex | ) | const |
Get the PdfPage for a specific page in a document The returned page is owned by the PdfDocument and will get deleted along with it!
nIndex | which page (0-based) |
int PoDoFo::PdfDocument::GetPageCount | ( | ) | const |
Get the total number of pages in a document
EPdfPageMode PoDoFo::PdfDocument::GetPageMode | ( | void | ) | const |
Gets the opening mode for a document
PdfPagesTree * PoDoFo::PdfDocument::GetPagesTree | ( | ) | const [inline] |
Get access to the pages tree. Better use GetPage and CreatePage methods.
virtual EPdfVersion PoDoFo::PdfDocument::GetPdfVersion | ( | ) | const [pure virtual] |
Get the PDF version of the document
Implemented in PoDoFo::PdfMemDocument, and PoDoFo::PdfStreamedDocument.
PdfObject * PoDoFo::PdfDocument::GetTrailer | ( | ) | [inline, protected] |
Get access to the internal trailer dictionary or root object.
const PdfObject * PoDoFo::PdfDocument::GetTrailer | ( | ) | const [inline, protected] |
Get access to the internal trailer dictionary or root object.
Reimplemented in PoDoFo::PdfMemDocument.
void PoDoFo::PdfDocument::InitPagesTree | ( | ) | [protected] |
Internal method for initializing the pages tree for this document
virtual bool PoDoFo::PdfDocument::IsAccessibilityAllowed | ( | ) | const [pure virtual] |
Checks if it is allowed to extract text and graphics to support users with disabillities Every PDF consuming applications has to adhere this value!
Implemented in PoDoFo::PdfMemDocument, and PoDoFo::PdfStreamedDocument.
virtual bool PoDoFo::PdfDocument::IsCopyAllowed | ( | ) | const [pure virtual] |
Checks if text and graphics extraction is allowed. Every PDF consuming applications has to adhere this value!
Implemented in PoDoFo::PdfMemDocument, and PoDoFo::PdfStreamedDocument.
virtual bool PoDoFo::PdfDocument::IsDocAssemblyAllowed | ( | ) | const [pure virtual] |
Checks if it is allowed to insert, create, rotate, delete pages or add bookmarks Every PDF consuming applications has to adhere this value!
Implemented in PoDoFo::PdfMemDocument, and PoDoFo::PdfStreamedDocument.
virtual bool PoDoFo::PdfDocument::IsEditAllowed | ( | ) | const [pure virtual] |
Checks if modifiying this document (besides annotations, form fields or changing pages) is allowed. Every PDF consuming applications has to adhere this value!
Implemented in PoDoFo::PdfMemDocument, and PoDoFo::PdfStreamedDocument.
virtual bool PoDoFo::PdfDocument::IsEditNotesAllowed | ( | ) | const [pure virtual] |
Checks if it is allowed to add or modify annotations or form fields Every PDF consuming applications has to adhere this value!
Implemented in PoDoFo::PdfMemDocument, and PoDoFo::PdfStreamedDocument.
virtual bool PoDoFo::PdfDocument::IsFillAndSignAllowed | ( | ) | const [pure virtual] |
Checks if it is allowed to fill in existing form or signature fields Every PDF consuming applications has to adhere this value!
Implemented in PoDoFo::PdfMemDocument, and PoDoFo::PdfStreamedDocument.
virtual bool PoDoFo::PdfDocument::IsHighPrintAllowed | ( | ) | const [pure virtual] |
Checks if it is allowed to print a high quality version of this document Every PDF consuming applications has to adhere this value!
Implemented in PoDoFo::PdfMemDocument, and PoDoFo::PdfStreamedDocument.
virtual bool PoDoFo::PdfDocument::IsLinearized | ( | ) | const [pure virtual] |
Returns wether this PDF document is linearized, aka weboptimized
Implemented in PoDoFo::PdfMemDocument, and PoDoFo::PdfStreamedDocument.
virtual bool PoDoFo::PdfDocument::IsPrintAllowed | ( | ) | const [pure virtual] |
Checks if printing this document is allowed. Every PDF consuming applications has to adhere this value!
Implemented in PoDoFo::PdfMemDocument, and PoDoFo::PdfStreamedDocument.
void PoDoFo::PdfDocument::SetBaseURI | ( | const std::string & | inBaseURI | ) |
Set the document's Viewer Preferences: Set the base URI of the document
TODO: DS document value!
void PoDoFo::PdfDocument::SetBindingDirection | ( | PdfName & | inDirection | ) |
Set the document's Viewer Preferences:
void PoDoFo::PdfDocument::SetCatalog | ( | PdfObject * | pObject | ) | [inline, protected] |
Set the catalog of this PdfDocument deleting the old one.
pObject | the new catalog object It will be owned by PdfDocument. |
void PoDoFo::PdfDocument::SetCenterWindow | ( | void | ) |
Set the document's Viewer Preferences: Center the document in the viewers window
void PoDoFo::PdfDocument::SetDisplayDocTitle | ( | void | ) |
Set the document's Viewer Preferences: Display the title from the document information in the title of the viewer.
void PoDoFo::PdfDocument::SetFitWindow | ( | void | ) |
Set the document's Viewer Preferences: Fit the document in the viewers window
void PoDoFo::PdfDocument::SetHideMenubar | ( | void | ) |
Set the document's Viewer Preferences: Hide the menubar in the viewer
void PoDoFo::PdfDocument::SetHideToolbar | ( | void | ) |
Set the document's Viewer Preferences: Hide the toolbar in the viewer
void PoDoFo::PdfDocument::SetHideWindowUI | ( | void | ) |
Set the document's Viewer Preferences: Show only the documents contents and no controll elements such as buttons and scrollbars in the viewer
void PoDoFo::PdfDocument::SetInfo | ( | PdfInfo * | pInfo | ) | [protected] |
Set the info object containing meta information. Deletes any old info object.
pInfo | the new info object (will be owned by PdfDocument) |
void PoDoFo::PdfDocument::SetLanguage | ( | const std::string & | inLanguage | ) |
Set the document's Viewer Preferences: Set the language of the document
void PoDoFo::PdfDocument::SetPageLayout | ( | EPdfPageLayout | inLayout | ) |
Sets the page layout for a document
void PoDoFo::PdfDocument::SetPageMode | ( | EPdfPageMode | inMode | ) |
Sets the opening mode for a document
inMode | which mode to set |
void PoDoFo::PdfDocument::SetPrintScaling | ( | PdfName & | inScalingType | ) |
Set the document's Viewer Preferences: Set the default print scaling of the document
TODO: DS use an enum here!
void PoDoFo::PdfDocument::SetTrailer | ( | PdfObject * | pObject | ) | [protected] |
Set the trailer of this PdfDocument deleting the old one.
pObject | the new trailer object It will be owned by PdfDocument. |
void PoDoFo::PdfDocument::SetUseFullScreen | ( | void | ) |
Sets the opening mode for a document to be in full screen