Public Types | |
enum | DataType { e_Forms = 0x0001, e_Annots = 0x0002, e_NoLinks = 0x0004 } |
Enumeration for data type used to decide which object(s) will be imported from or exported to FDF/XFDF document. More... | |
enum | DisplayMode { e_DisplayUseNone = 0, e_DisplayUseOutlines = 1, e_DisplayUseThumbs = 2, e_DisplayFullScreen = 3, e_DisplayUseOC = 4, e_DisplayUseAttachment = 5 } |
Enumeration for display mode which specifies how the document should be displayed when opened. More... | |
enum | EncryptType { e_EncryptUnknown = -1, e_EncryptNone = 0, e_EncryptPassword = 1, e_EncryptCertificate = 2, e_EncryptFoxitDRM = 3, e_EncryptCustom = 4, e_EncryptRMS = 5, e_EncryptCDRM = 6 } |
Enumeration for encryption type. More... | |
enum | ImportPageFlags { e_ImportFlagNormal = 0, e_ImportFlagWithLayers = 0x0001, e_ImportFlagShareStream = 0x0002 } |
Enumeration for flags used for importing pages. More... | |
enum | PasswordType { e_PwdInvalid = 0, e_PwdNoPassword = 1, e_PwdUser = 2, e_PwdOwner = 3 } |
Enumeration for the type of current used password in a PDF document. More... | |
enum | SaveFlags { e_SaveFlagNormal = 0, e_SaveFlagIncremental = 0x0001, e_SaveFlagNoOriginal = 0x0002, e_SaveFlagXRefStream = 0x0008, e_SaveFlagLinearized = 0x1000 } |
Enumeration for PDF document saving flags. More... | |
enum | UserPermissions { e_PermPrint = 0x0004, e_PermModify = 0x0008, e_PermExtract = 0x0010, e_PermAnnotForm = 0x0020, e_PermFillForm = 0x0100, e_PermExtractAccess = 0x0200, e_PermAssemble = 0x0400, e_PermPrintHigh = 0x0800 } |
Enumeration for user access permissions in a PDF document. More... | |
enum | WrapperType { e_WrapperNone = 0, e_WrapperFoxit = 1, e_WrapperPDFV2 = 2 } |
Enumeration for wrapper type. More... | |
Public Member Functions | |
PDFDoc () | |
Constructor. More... | |
PDFDoc (const char *path) | |
Constructor, from an existing PDF file path. More... | |
PDFDoc (const wchar_t *path) | |
Constructor, from an existing PDF file path. More... | |
PDFDoc (const void *buffer, size_t size) | |
Constructor, from a memory buffer. More... | |
PDFDoc (common::file::ReaderCallback *file_read, bool is_async=false) | |
Constructor, with a file read callback object. More... | |
PDFDoc (std::ifstream *input_file_stream) | |
Constructor, with std::ifstream. More... | |
PDFDoc (const PDFDoc &) | |
Constructor, with another PDF document object. | |
~PDFDoc () | |
Destructor. | |
uint32 | AddIndirectObject (objects::PDFObject *pdf_object) |
Add a PDF object to current PDF document, to be an indirect object. More... | |
PasswordType | CheckPassword (const String &password) |
Check the type of a specified password. More... | |
PasswordType | CheckPassword (const foxit::WString &password) |
(Only supported in PDF 2.0) Check the type of a specified unicode password. More... | |
void | ClearRenderCache () |
Clear the cache used during rendering, to reduce the memory usage. More... | |
Bookmark | CreateRootBookmark () |
Create new bookmark root node. More... | |
void | DeleteIndirectObject (uint32 object_number) |
Delete an indirect object by indirect object number. More... | |
bool | DoJSOpenAction () |
Perform JavaScript actions when the document is opened. More... | |
bool | ExportAnnotToFDF (const annots::Annot &pdf_annot, const fdf::FDFDoc &fdf_doc) |
Export specified annotation to a FDF/XFDF document. More... | |
bool | ExportToFDF (const fdf::FDFDoc &fdf_doc, int types=pdf::PDFDoc::e_Forms|pdf::PDFDoc::e_Annots, const common::Range &page_range=common::Range()) |
Export form fields and annotations to a FDF/XFDF document. More... | |
objects::PDFDictionary * | GetCatalog () const |
Get the catalog dictionary. More... | |
CertificateEncryptData | GetCertificateEncryptData () const |
Get encrypt data of certificate encryption. More... | |
CustomEncryptData | GetCustomEncryptData () const |
Get encrypt data of custom encryption. More... | |
DisplayMode | GetDisplayMode () const |
Get the display mode. More... | |
String | GetDocURI () |
Get the URI of connected PDF if current PDF is a connected PDF. More... | |
DRMEncryptData | GetDRMEncryptData () const |
Get encrypt data of Foxit DRM encryption. More... | |
objects::PDFDictionary * | GetEncryptDict () const |
Get the encrypt dictionary. More... | |
EncryptType | GetEncryptionType () const |
Get the encryption type. More... | |
String | GetEndpoint () |
Get the URL of ConnectedPDF Web services if current PDF is a connected PDF. More... | |
uint64 | GetFileSize () |
Get file size. More... | |
int | GetFileVersion () |
Get PDF file version stored in PDF header section. More... | |
int | GetFirstAvailPageIndex () const |
Get the page index of the fist available page. More... | |
common::Font | GetFont (int index) |
Get a font by index. More... | |
int | GetFontCount () |
Count all the PDF fonts used in current PDF document. More... | |
String | GetHeader () const |
Get PDF header identifying the version of the PDF specification to which the file conforms. More... | |
objects::PDFObject * | GetIndirectObject (uint32 object_number) |
Get an indirect object by indirect object number. More... | |
objects::PDFDictionary * | GetInfo () const |
Get the information dictionary. More... | |
actions::Action | GetOpenAction () |
Get the action to be performed when the document is opened. More... | |
PDFPage | GetPage (int index) |
Get a PDF page by index. More... | |
PageBasicInfo | GetPageBasicInfo (int index) |
Get the basic information of a page specified by index. More... | |
int | GetPageCount () const |
Get the count of pages. More... | |
objects::PDFDictionary * | GetPagesDict () const |
Get the dictionary of "Pages". More... | |
PasswordType | GetPasswordType () const |
Get the type of current used password. More... | |
PayLoadData | GetPayLoadData () |
Get payload data if current document's wrapper type is PDFDoc::e_WrapperPDFV2. More... | |
ReadingBookmark | GetReadingBookmark (int index) |
Get a reading bookmark by index. More... | |
int | GetReadingBookmarkCount () |
Get the count of reading bookmarks. More... | |
RMSEncryptData | GetRMSEncryptData () const |
Get encrypt data of RMS encryption. More... | |
Bookmark | GetRootBookmark () |
Get bookmark root node. More... | |
SecurityHandler | GetSecurityHandler () |
Get current PDF security handler of current document. More... | |
Signature | GetSignature (int index) |
Get a signature by index. More... | |
int | GetSignatureCount () |
Get the count of signature. More... | |
StdEncryptData | GetStdEncryptData () const |
Get encrypt data of standard encryption (known as password encryption). More... | |
objects::PDFDictionary * | GetTrailer () const |
Get the trailer dictionary. More... | |
String | GetUserPassword (const String &owner_password) |
Get the user password based on owner password. More... | |
uint32 | GetUserPermissions () const |
Get user access permissions. More... | |
WrapperData | GetWrapperData () const |
Get wrapper data if current document's wrapper type is PDFDoc::e_WrapperFoxit. More... | |
int64 | GetWrapperOffset () const |
Get wrapper offset if current document's wrapper type is PDFDoc::e_WrapperFoxit. More... | |
WrapperType | GetWrapperType () const |
Get Wrapper type. More... | |
bool | HasForm () const |
Check whether current PDF document has interactive form (also known as AcroForm). More... | |
bool | ImportFromFDF (const fdf::FDFDoc &fdf_doc, int types=pdf::PDFDoc::e_Forms|pdf::PDFDoc::e_Annots, const common::Range &page_range=common::Range()) |
Import form fields and annotations from a FDF/XFDF document. More... | |
PDFPage | InsertPage (int index, float width, float height) |
Insert a new blank PDF page to document, by index. More... | |
PDFPage | InsertPage (int index, foxit::pdf::PDFPage::Size size=PDFPage::e_SizeLetter) |
Insert a new blank PDF page to document, by index. More... | |
ReadingBookmark | InsertReadingBookmark (int reading_bookmark_index, const WString &title, int dest_page_index) |
Insert a reading bookmark to current PDF document. More... | |
bool | IsCDRM () const |
Check whether the loaded document is a ConnectedPDF DRM document or not. More... | |
bool | IsCPDF () const |
Check whether the loaded document is a ConnectedPDF document or not. More... | |
bool | IsEmpty () const |
Check whether current object is empty or not. More... | |
bool | IsEncrypted () const |
Check whether current document is an encrypted file or not. More... | |
bool | IsLinearized () const |
Check if current PDF document is a linearized file. More... | |
bool | IsPortfolio () |
Check whether current PDF document is a portfolio file or not. More... | |
bool | IsTaggedPDF () const |
Check if current PDF document is a Tagged PDF file. More... | |
bool | IsWrapper () const |
Check whether current document is a wrapper file or not. More... | |
bool | IsXFA () const |
Check whether current PDF document is an XFA document. More... | |
ErrorCode | Load (const String &password="") |
Load current document content by using a specified password. More... | |
ErrorCode | LoadW (const WString &password=WString()) |
Load current document content by using a specified password. More... | |
bool | MovePagesTo (const common::Range &page_range, int dest_index) |
Move one or more pages (specified by index) to a new index position. More... | |
bool | MovePageTo (const PDFPage &page, int dest_index) |
Move a specified page to a new index position. More... | |
bool | operator!= (const PDFDoc &other) const |
Not equal operator. More... | |
PDFDoc & | operator= (const PDFDoc &other) |
Assign operator. More... | |
bool | operator== (const PDFDoc &other) const |
Equal operator. More... | |
bool | RemoveBookmark (const Bookmark &bookmark) |
Remove a specified bookmark. More... | |
bool | RemoveOpenAction () |
Remove the action to be performed when the document is opened. More... | |
bool | RemovePage (int index) |
Remove a PDF page by page index. More... | |
bool | RemovePage (const foxit::pdf::PDFPage &page) |
Remove a specified PDF page. More... | |
bool | RemoveReadingBookmark (const ReadingBookmark &reading_bookmark) |
Remove a reading bookmark from current PDF document. More... | |
bool | RemoveSecurity () |
Remove the security handler from current document, so that the later saved document will be unencrypted. More... | |
void | RemoveSignature (const Signature &signature) |
Remove a signature. More... | |
bool | SaveAs (const char *file_path, uint32 save_flags=PDFDoc::e_SaveFlagNormal) |
Save current PDF document as another PDF file. More... | |
bool | SaveAs (const wchar_t *file_path, uint32 save_flags=PDFDoc::e_SaveFlagNormal) |
Save current PDF document as another PDF file. More... | |
bool | SaveAsWrapperFile (const wchar_t *file_path, const WrapperData *wrapper_data=0, uint32 user_permissions=0xFFFFFFFC, const char *owner_password="") |
Save current PDF document as a wrapper file. More... | |
void | SetDisplayMode (DisplayMode display_mode) |
Set the display mode. More... | |
void | SetFileVersion (int version) |
Set the PDF file version which will be stored in PDF header section of the saved PDF file. More... | |
bool | SetOpenAction (actions::Action &action) |
Set the action to be performed when the document is opened. More... | |
bool | SetSecurityHandler (const SecurityHandler &handler) |
Set a PDF security handler for encryption, such as standard encryption(password), certificate encryption, and so on. More... | |
common::Progressive | StartGetPayloadFile (foxit::common::file::WriterCallback *payload_file, common::PauseCallback *pause=0) |
Start to get payload file. More... | |
common::Progressive | StartImportPages (int dest_index, const PDFDoc &src_doc, uint32 flags=PDFDoc::e_ImportFlagNormal, const char *layer_name="", const common::Range &page_range=common::Range(), common::PauseCallback *pause=0) |
Start to import pages from another PDF document (via PDF document object). More... | |
common::Progressive | StartImportPagesFromFilePath (int dest_index, const wchar_t *src_file_path, const String &password, uint32 flags=PDFDoc::e_ImportFlagNormal, const char *layer_name="", const common::Range &page_range=common::Range(), common::PauseCallback *pause=0) |
Start to import pages from another PDF document (via file path). More... | |
common::Progressive | StartImportPagesFromFilePath (int dest_index, const wchar_t *src_file_path, const WString &password, uint32 flags=PDFDoc::e_ImportFlagNormal, const char *layer_name="", const common::Range &page_range=common::Range(), common::PauseCallback *pause=0) |
Start to import pages from another PDF document (via file path). More... | |
common::Progressive | StartLoad (const String &password="", bool is_cache_stream=true, common::PauseCallback *pause=0) |
Start to loading current document content by using a specified password. More... | |
common::Progressive | StartLoadW (const WString &password=WString(), bool is_cache_stream=true, common::PauseCallback *pause=0) |
Start to loading current document content by using a specified password. More... | |
common::Progressive | StartSaveAs (const char *file_path, uint32 save_flags=PDFDoc::e_SaveFlagNormal, common::PauseCallback *pause=0) |
Start to save current PDF document as another PDF file. More... | |
common::Progressive | StartSaveAs (const wchar_t *file_path, uint32 save_flags=PDFDoc::e_SaveFlagNormal, common::PauseCallback *pause=0) |
Start to save current PDF document as another PDF file. More... | |
common::Progressive | StartSaveAs (foxit::common::file::WriterCallback *file, foxit::uint32 save_flags=PDFDoc::e_SaveFlagNormal, foxit::common::PauseCallback *pause=0) |
Start to save current PDF document as another PDF file. More... | |
common::Progressive | StartSaveAsPayloadFile (const wchar_t *file_path, const wchar_t *payload_file_path, const wchar_t *crypto_filter, const wchar_t *description, float version, uint32 save_flags=PDFDoc::e_SaveFlagNormal, common::PauseCallback *pause=0) |
Start to save current PDF document as a wrapper document with a payload document (defined in PDF 2.0). More... | |
![]() | |
FS_HANDLE | Handle () const |
Get the handle of current object. More... | |
A PDF document object can be constructed with an existing PDF file from file path, memory buffer, a custom implemented ReaderCallback object and an input file stream. And then call function pdf::PDFDoc::Load or pdf::PDFDoc::StartLoad to load document content. This class offers functions to retrieve different part of a PDF document. For example:
This class also offers functions for features, such as saving current document as another PDF file, importing pages from another PDF file, setting security handler in order to save encrypted PDF file, and so on.
This class object can also be used to construct objects of other classes in order to access specified information in PDF document:
Enumeration for data type used to decide which object(s) will be imported from or exported to FDF/XFDF document.
Values of this enumeration can be used alone or in combination.
Enumeration for display mode which specifies how the document should be displayed when opened.
Values of this enumeration should be used alone.
Enumeration for encryption type.
Values of this enumeration should be used alone.
Enumeration for flags used for importing pages.
Values of this enumeration can be used alone or in combination.
Enumeration for the type of current used password in a PDF document.
Values of this enumeration should be used alone.
Enumeration for PDF document saving flags.
Values of this enumeration can be used alone or in combination.
Enumerator | |
---|---|
e_SaveFlagNormal | Save document normally, without using any special flag. This can only be used alone. |
e_SaveFlagIncremental | Save document incrementally. This can be used alone or be combined with other saving flags except PDFDoc::e_SaveFlagNormal. Especially, if this is combined with PDFDoc::e_SaveFlagNoOriginal, only the increment data will be saved. |
e_SaveFlagNoOriginal | Save document without original data or unchanged objects. This can be used alone or be combined with other saving flags except PDFDoc::e_SaveFlagNormal. Especially, if this is combined with PDFDoc::e_SaveFlagIncremental, only the increment data will be saved. |
e_SaveFlagXRefStream | Save document by using XRef stream. This can be used alone or be combined with other saving flags except PDFDoc::e_SaveFlagNormal. |
e_SaveFlagLinearized | Save document as a linearized file. This should be used alone and cannot be used with other saving flags. This can only be used for function pdf::PDFDoc::SaveAs or pdf::PDFDoc::StartSaveAs. |
Enumeration for user access permissions in a PDF document.
Values of this enumeration can be used alone or in combination.
Enumerator | |
---|---|
e_PermPrint | Print PDF document with normal mode. (Bit 3 in permission value) If user wants to print a higher quality level of PDF document, please set current value with value PDFDoc::e_PermPrintHigh together. |
e_PermModify | Modify PDF contents. (Bit 4 in permission value) If this value is set, user can modify contents of PDF document by operations other than those controlled by values PDFDoc::e_PermAnnotForm, PDFDoc::e_PermFillForm and PDFDoc::e_PermAssemble. |
e_PermExtract | Extract PDF contents. (Bit 5 in permission value) If this value is set, user can copy or otherwise extract text and graphics from the document by operations other than that controlled by value PDFDoc::e_PermExtractAccess. |
e_PermAnnotForm | Operate text annotations and fill in interactive form fields. (Bit 6 in permission value) If value PDFDoc::e_PermModify is also set, user can create or modify interactive form fields (including signature fields). |
e_PermFillForm | Fill PDF form. (Bit 9 in permission value) If this value is set, user can fill in interactive form fields (including signature fields), even if value PDFDoc::e_PermAnnotForm is not used. |
e_PermExtractAccess | Disabilities support. (Bit 10 in permission value) If this value is set, user can extract text and graphics in support of accessibility to users with disabilities or for other purposes. |
e_PermAssemble | Assemble PDF document. (Bit 11 in permission value) If this value is set, it enables to assemble the document (Insert, rotate, or delete pages and create bookmarks or thumbnail images), regardless if value PDFDoc::e_PermModify is set or not. |
e_PermPrintHigh | Print PDF document with higher qualities. (Bit 12 in permission value) If this value is not set (and value PDFDoc::e_PermPrint is set), printing is limited to a low-level representation of the appearance, possibly of degraded quality. |
foxit::pdf::PDFDoc::PDFDoc | ( | ) |
Constructor.
This constructor is to construct a new PDF document (without any data). The file version value would be 17 (as PDF version 1.7) by default.
|
explicit |
Constructor, from an existing PDF file path.
After constructing such a PDF document object, please ensure the document object has been loaded before using most functions in class pdf::PDFDoc.
[in] | path | A full path of an existing PDF file. It should not be an empty string. |
|
explicit |
Constructor, from an existing PDF file path.
After constructing such a PDF document object, please ensure the document object has been loaded before using most functions in class pdf::PDFDoc.
[in] | path | A full path of an existing PDF file. It should not be an empty string. |
|
explicit |
Constructor, from a memory buffer.
After constructing such a PDF document object, please ensure the document object has been loaded before using most functions in class pdf::PDFDoc.
[in] | buffer | A memory buffer, containing the serialized document. The PDF document data should be fully loaded in this memory buffer. It should not be NULL. |
[in] | size | The size of memory buffer. It should be above 0. |
|
explicit |
Constructor, with a file read callback object.
After constructing such a PDF document object, please ensure the document object has been loaded before using most functions in class pdf::PDFDoc.
[in] | file_read | A ReaderCallback object which is implemented by user to load a PDF document. It should not be NULL. If the input callback object is a AsyncReaderCallback, and is_async is true that means the PDF document will be loaded by asynchronous method; otherwise, the document will be loaded in common way. |
[in] | is_async | Whether the input ReaderCallback object is for asynchronously loading or not. Default value: false. |
|
explicit |
Constructor, with std::ifstream.
After constructing such a PDF document object, please ensure the document object has been loaded before using most functions in class pdf::PDFDoc.
[in] | input_file_stream | A std::ifstream object. It should not be NULL. Please ensure this stream has been associated with an image file by calling std::ifstream::open() successfully with parameter mode containing "ios_base::binary". |
uint32 foxit::pdf::PDFDoc::AddIndirectObject | ( | objects::PDFObject * | pdf_object | ) |
Add a PDF object to current PDF document, to be an indirect object.
[in] | pdf_object | A PDFObject object. It should not be NULL. |
PasswordType foxit::pdf::PDFDoc::CheckPassword | ( | const String & | password | ) |
Check the type of a specified password.
This function can be used to check the type of any password string, including the password string used for loading document content.
[in] | password | A password string to be detected. |
PasswordType foxit::pdf::PDFDoc::CheckPassword | ( | const foxit::WString & | password | ) |
(Only supported in PDF 2.0) Check the type of a specified unicode password.
This function can be used to check the type of any password string, including the password string used for loading document content.
[in] | password | A unicode password string to be detected. |
void foxit::pdf::PDFDoc::ClearRenderCache | ( | ) |
Clear the cache used during rendering, to reduce the memory usage.
Bookmark foxit::pdf::PDFDoc::CreateRootBookmark | ( | ) |
Create new bookmark root node.
If current PDF document already has the bookmark root node, this function will remove the old bookmark tree and create a new root node instead.
void foxit::pdf::PDFDoc::DeleteIndirectObject | ( | uint32 | object_number | ) |
Delete an indirect object by indirect object number.
[in] | object_number | The indirect object number. It should be above 0. |
bool foxit::pdf::PDFDoc::DoJSOpenAction | ( | ) |
Perform JavaScript actions when the document is opened.
bool foxit::pdf::PDFDoc::ExportAnnotToFDF | ( | const annots::Annot & | pdf_annot, |
const fdf::FDFDoc & | fdf_doc | ||
) |
Export specified annotation to a FDF/XFDF document.
[in] | pdf_annot | A valid PDF annotation object to be exported to the FDF/XFDF document. |
[in] | fdf_doc | A valid FDF/XFDF document object, to which the specified annotation will be exported. |
bool foxit::pdf::PDFDoc::ExportToFDF | ( | const fdf::FDFDoc & | fdf_doc, |
int | types = pdf::PDFDoc::e_Forms|pdf::PDFDoc::e_Annots , |
||
const common::Range & | page_range = common::Range() |
||
) |
Export form fields and annotations to a FDF/XFDF document.
[in] | fdf_doc | A valid FDF/XFDF document object, to which form fields and annotations will be exported. |
[in] | types | Used to decide which kind of data will be exported. Please refer to values starting from PDFDoc::e_Forms and this can be one or a combination of these values. Default value: (PDFDoc::e_Forms | PDFDoc::e_Annots). |
[in] | page_range | A Range object that specifies some pages. Data (in specified types) in these pages will be exported to FDF/XFDF document. If this Range object is constructed by default constructor and not set any value, that means all the data (in specified types) of current document will be exported to FDF/XFDF document. Default value: a Range object by default constructor and not set any value. |
objects::PDFDictionary* foxit::pdf::PDFDoc::GetCatalog | ( | ) | const |
Get the catalog dictionary.
CertificateEncryptData foxit::pdf::PDFDoc::GetCertificateEncryptData | ( | ) | const |
Get encrypt data of certificate encryption.
This function is useful when current document is encrypted by certificate.
CustomEncryptData foxit::pdf::PDFDoc::GetCustomEncryptData | ( | ) | const |
Get encrypt data of custom encryption.
This function is useful when current document is encrypted by custom.
DisplayMode foxit::pdf::PDFDoc::GetDisplayMode | ( | ) | const |
Get the display mode.
Display mode specifies how the document should be displayed when opened.
String foxit::pdf::PDFDoc::GetDocURI | ( | ) |
Get the URI of connected PDF if current PDF is a connected PDF.
DRMEncryptData foxit::pdf::PDFDoc::GetDRMEncryptData | ( | ) | const |
Get encrypt data of Foxit DRM encryption.
This function is useful when current document is encrypted by Foxit DRM.
objects::PDFDictionary* foxit::pdf::PDFDoc::GetEncryptDict | ( | ) | const |
Get the encrypt dictionary.
EncryptType foxit::pdf::PDFDoc::GetEncryptionType | ( | ) | const |
Get the encryption type.
String foxit::pdf::PDFDoc::GetEndpoint | ( | ) |
Get the URL of ConnectedPDF Web services if current PDF is a connected PDF.
uint64 foxit::pdf::PDFDoc::GetFileSize | ( | ) |
Get file size.
int foxit::pdf::PDFDoc::GetFileVersion | ( | ) |
Get PDF file version stored in PDF header section.
int foxit::pdf::PDFDoc::GetFirstAvailPageIndex | ( | ) | const |
Get the page index of the fist available page.
This is useful for a linearized PDF document because in a linearized PDF document the first available page may not be the first page.
This function can be used only when document is loaded successfully.
common::Font foxit::pdf::PDFDoc::GetFont | ( | int | index | ) |
Get a font by index.
[in] | index | The index of PDF font. Valid range: from 0 to (count-1). count is returned by function pdf::PDFDoc::GetFontCount. |
int foxit::pdf::PDFDoc::GetFontCount | ( | ) |
Count all the PDF fonts used in current PDF document.
This function will enumerate all the font resources used for pages, annotations, and interactive form.
String foxit::pdf::PDFDoc::GetHeader | ( | ) | const |
Get PDF header identifying the version of the PDF specification to which the file conforms.
objects::PDFObject* foxit::pdf::PDFDoc::GetIndirectObject | ( | uint32 | object_number | ) |
Get an indirect object by indirect object number.
[in] | object_number | The indirect object number. It should be above 0. |
objects::PDFDictionary* foxit::pdf::PDFDoc::GetInfo | ( | ) | const |
Get the information dictionary.
Document's information dictionary contains metadata for the document.
actions::Action foxit::pdf::PDFDoc::GetOpenAction | ( | ) |
Get the action to be performed when the document is opened.
PDFPage foxit::pdf::PDFDoc::GetPage | ( | int | index | ) |
Get a PDF page by index.
If current PDF document object is constructed with a AsyncReaderCallback which means to do asynchronous loading, this function may throw exception foxit::e_ErrDataNotReady. In this case, user should prepare data for specified range informed by callback function common::file::AsyncReaderCallback::AddDownloadHint and then call this function again.
[in] | index | The page index. Valid range: from 0 to (count-1). count is returned by function pdf::PDFDoc::GetPageCount. |
PageBasicInfo foxit::pdf::PDFDoc::GetPageBasicInfo | ( | int | index | ) |
Get the basic information of a page specified by index.
This function can quickly get the basic information of a PDF page without getting that PDF page object. If current PDF document object is constructed with a AsyncReaderCallback which means to do asynchronous loading, this function may throw exception foxit::e_ErrDataNotReady. In this case, user should prepare data for specified range informed by callback function common::file::AsyncReaderCallback::AddDownloadHint and then call this function again.
[in] | index | The page index. Valid range: from 0 to (count-1). count is returned by function pdf::PDFDoc::GetPageCount. |
int foxit::pdf::PDFDoc::GetPageCount | ( | ) | const |
Get the count of pages.
objects::PDFDictionary* foxit::pdf::PDFDoc::GetPagesDict | ( | ) | const |
Get the dictionary of "Pages".
PasswordType foxit::pdf::PDFDoc::GetPasswordType | ( | ) | const |
Get the type of current used password.
This function is useful after loading a PDF document, in order to get the type of the password which was used in the loading process.
If current document is a new one (not loading from existed PDF file), this function will return PDFDoc::e_PwdNoPassword.
If current document is constructed from an existing file but has not been loaded yet, this function will return PDFDoc::e_PwdInvalid.
PayLoadData foxit::pdf::PDFDoc::GetPayLoadData | ( | ) |
Get payload data if current document's wrapper type is PDFDoc::e_WrapperPDFV2.
ReadingBookmark foxit::pdf::PDFDoc::GetReadingBookmark | ( | int | index | ) |
Get a reading bookmark by index.
[in] | index | The index of reading bookmarks. Valid range: from 0 to (count-1). count is returned by function pdf::PDFDoc::GetReadingBookmarkCount. |
int foxit::pdf::PDFDoc::GetReadingBookmarkCount | ( | ) |
Get the count of reading bookmarks.
RMSEncryptData foxit::pdf::PDFDoc::GetRMSEncryptData | ( | ) | const |
Get encrypt data of RMS encryption.
This function is useful when current document is encrypted by RMS.
Bookmark foxit::pdf::PDFDoc::GetRootBookmark | ( | ) |
Get bookmark root node.
SecurityHandler foxit::pdf::PDFDoc::GetSecurityHandler | ( | ) |
Get current PDF security handler of current document.
Signature foxit::pdf::PDFDoc::GetSignature | ( | int | index | ) |
Get a signature by index.
[in] | index | The index of signature. Valid range: from 0 to (count-1). count is returned by function pdf::PDFDoc::GetSignatureCount. |
int foxit::pdf::PDFDoc::GetSignatureCount | ( | ) |
Get the count of signature.
StdEncryptData foxit::pdf::PDFDoc::GetStdEncryptData | ( | ) | const |
Get encrypt data of standard encryption (known as password encryption).
This function is useful when current document is encrypted by password.
objects::PDFDictionary* foxit::pdf::PDFDoc::GetTrailer | ( | ) | const |
Get the trailer dictionary.
Get the user password based on owner password.
This function is useful when current document is encrypted by password.
[in] | owner_password | Owner password string. |
uint32 foxit::pdf::PDFDoc::GetUserPermissions | ( | ) | const |
Get user access permissions.
WrapperData foxit::pdf::PDFDoc::GetWrapperData | ( | ) | const |
Get wrapper data if current document's wrapper type is PDFDoc::e_WrapperFoxit.
int64 foxit::pdf::PDFDoc::GetWrapperOffset | ( | ) | const |
Get wrapper offset if current document's wrapper type is PDFDoc::e_WrapperFoxit.
WrapperType foxit::pdf::PDFDoc::GetWrapperType | ( | ) | const |
Get Wrapper type.
bool foxit::pdf::PDFDoc::HasForm | ( | ) | const |
Check whether current PDF document has interactive form (also known as AcroForm).
If current PDF document object is constructed with a AsyncReaderCallback which means to do asynchronous loading, this function may throw exception foxit::e_ErrDataNotReady. In this case, user should prepare data for specified range informed by callback function common::file::AsyncReaderCallback::AddDownloadHint and then call this function again.
bool foxit::pdf::PDFDoc::ImportFromFDF | ( | const fdf::FDFDoc & | fdf_doc, |
int | types = pdf::PDFDoc::e_Forms|pdf::PDFDoc::e_Annots , |
||
const common::Range & | page_range = common::Range() |
||
) |
Import form fields and annotations from a FDF/XFDF document.
[in] | fdf_doc | A valid FDF/XFDF document object, from which form fields and annotations will be imported. |
[in] | types | Used to decide which kind of data will be imported. Please refer to values starting from PDFDoc::e_Forms and this can be one or a combination of these values. Default value: (PDFDoc::e_Forms | PDFDoc::e_Annots). |
[in] | page_range | A Range object that specifies some pages. Data (in specified types) from FDF/XFDF document will be imported to these specified pages. range for importing. If this Range object is constructed by default constructor and not set any value, that means data (in specified types) from FDF/XFDF document will be imported to related PDF pages whose index have been defined in FDF/XFDF document. Default value: a Range object by default constructor and not set any value. |
PDFPage foxit::pdf::PDFDoc::InsertPage | ( | int | index, |
float | width, | ||
float | height | ||
) |
Insert a new blank PDF page to document, by index.
[in] | index | The page index for new page. If parameter index is less than 0, the new page will be inserted to the first. If parameter index is equal to or larger than current page count, the new page will be inserted to the end. |
[in] | width | Width of new page (unit is 1/72 inch). |
[in] | height | Height of new page (unit is 1/72 inch). |
PDFPage foxit::pdf::PDFDoc::InsertPage | ( | int | index, |
foxit::pdf::PDFPage::Size | size = PDFPage::e_SizeLetter |
||
) |
Insert a new blank PDF page to document, by index.
[in] | index | The page index for new page. If parameter index is less than 0, the new page will be inserted to the first. If parameter index is equal to or larger than current page count, the new page will be inserted to the end. |
[in] | size | Size type of new page. Please refer to values starting from PDFPage::e_SizeLetter and this should be one of these values. Default value: PDFPage::e_SizeLetter. |
ReadingBookmark foxit::pdf::PDFDoc::InsertReadingBookmark | ( | int | reading_bookmark_index, |
const WString & | title, | ||
int | dest_page_index | ||
) |
Insert a reading bookmark to current PDF document.
[in] | reading_bookmark_index | A reading bookmark index. If reading_bookmark_index is less than 0, the new reading bookmark will be inserted to the first. If reading_bookmark_index is equal to or larger than the count of reading bookmarks, the new reading bookmark will be inserted to the end. |
[in] | title | Title string for new reading bookmark and should not an empty string. |
[in] | dest_page_index | The index of destination page. |
bool foxit::pdf::PDFDoc::IsCDRM | ( | ) | const |
Check whether the loaded document is a ConnectedPDF DRM document or not.
bool foxit::pdf::PDFDoc::IsCPDF | ( | ) | const |
Check whether the loaded document is a ConnectedPDF document or not.
bool foxit::pdf::PDFDoc::IsEmpty | ( | ) | const |
Check whether current object is empty or not.
When the current object is empty, that means current object is useless.
bool foxit::pdf::PDFDoc::IsEncrypted | ( | ) | const |
Check whether current document is an encrypted file or not.
bool foxit::pdf::PDFDoc::IsLinearized | ( | ) | const |
Check if current PDF document is a linearized file.
bool foxit::pdf::PDFDoc::IsPortfolio | ( | ) |
Check whether current PDF document is a portfolio file or not.
bool foxit::pdf::PDFDoc::IsTaggedPDF | ( | ) | const |
Check if current PDF document is a Tagged PDF file.
bool foxit::pdf::PDFDoc::IsWrapper | ( | ) | const |
Check whether current document is a wrapper file or not.
bool foxit::pdf::PDFDoc::IsXFA | ( | ) | const |
Check whether current PDF document is an XFA document.
Currently, Foxit PDF SDK does not fully support XFA document. When loading an XFA document, Foxit PDF SDK may only load the XFA wrapper level, and cannot have access to the real XFA content. Foxit PDF SDK does not support to insert/import/remove/move pages in an XFA document yet.
Load current document content by using a specified password.
If current PDF document object is constructed with a AsyncReaderCallback which means to do asynchronous loading, this function may return foxit::e_ErrDataNotReady. In this case, user should prepare data for specified range informed by callback function common::file::AsyncReaderCallback::AddDownloadHint and then call this function again.
[in] | password | The password string, used to load current document content. The password can be either user password or owner password. If current document is not encrypted by password, just pass an empty string. Default value: an empty string. |
Load current document content by using a specified password.
If current PDF document object is constructed with a AsyncReaderCallback which means to do asynchronous loading, this function may return foxit::e_ErrDataNotReady. In this case, user should prepare data for specified range informed by callback function common::file::AsyncReaderCallback::AddDownloadHint and then call this function again.
[in] | password | The password string, used to load current document content. The password can be either user password or owner password. If current document is not encrypted by password, just pass an empty string. Default value: an empty string. |
bool foxit::pdf::PDFDoc::MovePagesTo | ( | const common::Range & | page_range, |
int | dest_index | ||
) |
Move one or more pages (specified by index) to a new index position.
If move only one page, this function just has the same feature as function pdf::PDFDoc::MovePageTo.
If move more than one page, these page will keep the order defined in parameter page_range and be moved to the destination index position as a whole.
After this function is successful, indexes of moved pages will be changed and indexes of the rest pages may be affected as well.
[in] | page_range | A Range object which should at least contain one valid range. All the related pages will keep the order (specified by this range) and be moved as a whole. If there exist duplicated indexes in the range, only the last occurrence will be useful. |
[in] | dest_index | Index of the destination position, based on current page array. Valid range: from 0 to (count-1). count is returned by function pdf::PDFDoc::GetPageCount. |
bool foxit::pdf::PDFDoc::MovePageTo | ( | const PDFPage & | page, |
int | dest_index | ||
) |
Move a specified page to a new index position.
If the specified page is successfully moved to the new index position, page index of all the pages between the new index and old index of the specified page will be changed as well.
[in] | page | A PDF page to be moved. It should be in current PDF document. |
[in] | dest_index | Index of the destination position in page array. Valid range: from 0 to (count-1). count is returned by function pdf::PDFDoc::GetPageCount. If parameter dest_index is just the same as the page index of parameter page, no change will be done and this function will return true directly. |
bool foxit::pdf::PDFDoc::operator!= | ( | const PDFDoc & | other | ) | const |
Not equal operator.
[in] | other | Another PDFDoc object. This function will check if current object is not equal to this one. |
Assign operator.
[in] | other | Another PDFDoc object, whose value would be assigned to current object. |
bool foxit::pdf::PDFDoc::operator== | ( | const PDFDoc & | other | ) | const |
Equal operator.
[in] | other | Another PDFDoc object. This function will check if current object is equal to this one. |
bool foxit::pdf::PDFDoc::RemoveBookmark | ( | const Bookmark & | bookmark | ) |
Remove a specified bookmark.
[in] | bookmark | The valid bookmark that would be deleted. |
bool foxit::pdf::PDFDoc::RemoveOpenAction | ( | ) |
Remove the action to be performed when the document is opened.
bool foxit::pdf::PDFDoc::RemovePage | ( | int | index | ) |
Remove a PDF page by page index.
[in] | index | The page index. Valid range: from 0 to (count-1). count is returned by function pdf::PDFDoc::GetPageCount. |
bool foxit::pdf::PDFDoc::RemovePage | ( | const foxit::pdf::PDFPage & | page | ) |
Remove a specified PDF page.
Once the specified PDF page is removed successfully, the page object cannot be used any more.
[in] | page | A PDFPage object that represents the PDF page to be removed. The page should be in current PDF document. |
bool foxit::pdf::PDFDoc::RemoveReadingBookmark | ( | const ReadingBookmark & | reading_bookmark | ) |
Remove a reading bookmark from current PDF document.
[in] | reading_bookmark | A valid reading bookmark to be removed. |
bool foxit::pdf::PDFDoc::RemoveSecurity | ( | ) |
Remove the security handler from current document, so that the later saved document will be unencrypted.
void foxit::pdf::PDFDoc::RemoveSignature | ( | const Signature & | signature | ) |
Remove a signature.
[in] | signature | A valid signature to be removed. |
bool foxit::pdf::PDFDoc::SaveAs | ( | const char * | file_path, |
uint32 | save_flags = PDFDoc::e_SaveFlagNormal |
||
) |
Save current PDF document as another PDF file.
If current document is loaded from an existing PDF file and a different file version has been set by function pdf::PDFDoc::SetFileVersion before saving, Foxit PDF SDK will ignore PDFDoc::e_SaveFlagIncremental in parameter save_flags and use the file version in saved PDF file.
[in] | file_path | A full path for the new saved PDF file. It should not be an empty string. |
[in] | save_flags | Document saving flags. Please refer to values starting from PDFDoc::e_SaveFlagNormal and this can be one or combination of these values. Default value: PDFDoc::e_SaveFlagNormal. |
bool foxit::pdf::PDFDoc::SaveAs | ( | const wchar_t * | file_path, |
uint32 | save_flags = PDFDoc::e_SaveFlagNormal |
||
) |
Save current PDF document as another PDF file.
If current document is loaded from an existing PDF file and a different file version has been set by function pdf::PDFDoc::SetFileVersion before saving, Foxit PDF SDK will ignore PDFDoc::e_SaveFlagIncremental in parameter save_flags and use the file version in saved PDF file.
[in] | file_path | A full path for the new saved PDF file. It should not be an empty string. |
[in] | save_flags | Document saving flags. Please refer to values starting from PDFDoc::e_SaveFlagNormal and this can be one or combination of these values. Default value: PDFDoc::e_SaveFlagNormal. |
bool foxit::pdf::PDFDoc::SaveAsWrapperFile | ( | const wchar_t * | file_path, |
const WrapperData * | wrapper_data = 0 , |
||
uint32 | user_permissions = 0xFFFFFFFC , |
||
const char * | owner_password = "" |
||
) |
Save current PDF document as a wrapper file.
PDF wrapper is an extended standard, and it helps to hint some information to viewers.
PDF wrapper consists of
This function uses the current size of file which is specified by file_path to set wrapper offset.
[in] | file_path | A full path of a PDF file. Current PDF document will be saved into this PDF file as a wrapper file. |
[in] | wrapper_data | Wrapper data. If this is NULL, no wrapper data is used. Default value: NULL. |
[in] | user_permissions | User permissions for the wrapper document. Pass 0xFFFFFFFC if no special permissions is needed. Please refer to values starting from PDFDoc::e_PermPrint and this should be one or combination of these values. Default value: 0xFFFFFFFC. |
[in] | owner_password | Owner password. If this is an empty string, parameter user_permissions will be ignored. Default value: an empty string. |
void foxit::pdf::PDFDoc::SetDisplayMode | ( | DisplayMode | display_mode | ) |
Set the display mode.
Display mode specifies how the document should be displayed when opened.
[in] | display_mode | Display mode value. Please refer to values starting from PDFDoc::e_DisplayUseNone and this should be one of these values. |
void foxit::pdf::PDFDoc::SetFileVersion | ( | int | version | ) |
Set the PDF file version which will be stored in PDF header section of the saved PDF file.
The new file version will not affect on current document directly, but will be used in the saved PDF file in function pdf::PDFDoc::SaveAs or pdf::PDFDoc::StartSaveAs. This function does not check whether the PDF content matches the specified version.
[in] | version | An integer that specifies the file version, for example value 14 means version "1.4", value 15 means "1.5", and etc. This value should be from 10 to 17 or 20 and be equal or greater than current version of current PDF file. |
bool foxit::pdf::PDFDoc::SetOpenAction | ( | actions::Action & | action | ) |
Set the action to be performed when the document is opened.
[in] | action | A valid action to be set. Currently only support following types as the new action: actions::Action::e_TypeGoto, actions::Action::e_TypeURI, actions::Action::e_TypeJavaScript, actions::Action::e_TypeNamed, actions::Action::e_TypeSubmitForm, actions::Action::e_TypeResetForm, actions::Action::e_TypeHide, actions::Action::e_TypeImportData. |
bool foxit::pdf::PDFDoc::SetSecurityHandler | ( | const SecurityHandler & | handler | ) |
Set a PDF security handler for encryption, such as standard encryption(password), certificate encryption, and so on.
[in] | handler | A PDF SecurityHandler object. |
common::Progressive foxit::pdf::PDFDoc::StartGetPayloadFile | ( | foxit::common::file::WriterCallback * | payload_file, |
common::PauseCallback * | pause = 0 |
||
) |
Start to get payload file.
It may take a long time to getting payload document, so this function uses a progressive process to do this.
[in] | payload_file | A WriterCallback callback object. User should implement the callback function in this callback object in order that this callback object can be used to save payload file. |
[in] | pause | Pause callback object which decides if the parsing process needs to be paused. This can be NULL which means not to pause during the parsing process. If this is not NULL, it should be a valid pause object implemented by user. Default value: NULL. |
common::Progressive foxit::pdf::PDFDoc::StartImportPages | ( | int | dest_index, |
const PDFDoc & | src_doc, | ||
uint32 | flags = PDFDoc::e_ImportFlagNormal , |
||
const char * | layer_name = "" , |
||
const common::Range & | page_range = common::Range() , |
||
common::PauseCallback * | pause = 0 |
||
) |
Start to import pages from another PDF document (via PDF document object).
It may take a long time to importing pages, so Foxit PDF SDK uses a progressive process to do this.
Signed signatures in the pages of source PDF document will not be imported into current PDF document.
Currently, if either current PDF document or the source PDF document contains XFA, not support to do the importing.
[in] | dest_index | A page index in current PDF document. This is used to specify where the imported pages will be inserted: If parameter dest_index is less than 0, the imported pages will be inserted to the first. If parameter dest_index is equal to or larger than current page count, the imported pages will be inserted to the end. |
[in] | src_doc | A PDF document object which is the source PDF document. Pages in this document will be imported to current PDF document. Please keep this source PDF document object valid until current document will not be saved any more or is closed. |
[in] | flags | Options for importing pages. Please refer to values starting from PDFDoc::e_ImportFlagNormal and this can be one or a combination of these macros. Default value: PDFDoc::e_ImportFlagNormal. |
[in] | layer_name | The name of non-selectable label or the prefix name of the non-selectable label to be shown in layer panel of application. Default value: an empty string. If parameter flags contains PDFDoc::e_ImportFlagWithLayers, this should not be empty and should be a valid string. If parameter flags does not contain PDFDoc::e_ImportFlagWithLayers, this string will be ignored.
|
[in] | page_range | A Range object to specify which pages is to be inserted. If this Range object is constructed by default constructor and not set any value, all pages in the source document will be imported. Default value: a Range object by default constructor and not set any value. |
[in] | pause | Pause object which decides if the importing process needs to be paused. This can be NULL which means not to pause during the parsing process. If this is not NULL, it should be a valid pause object implemented by user. Default value: NULL. |
common::Progressive foxit::pdf::PDFDoc::StartImportPagesFromFilePath | ( | int | dest_index, |
const wchar_t * | src_file_path, | ||
const String & | password, | ||
uint32 | flags = PDFDoc::e_ImportFlagNormal , |
||
const char * | layer_name = "" , |
||
const common::Range & | page_range = common::Range() , |
||
common::PauseCallback * | pause = 0 |
||
) |
Start to import pages from another PDF document (via file path).
It may take a long time to importing pages, so Foxit PDF SDK uses a progressive process to do this.
Signed signatures in the pages of source PDF document will not be imported into current PDF document.
Currently, Foxit PDF SDK does not support to do the importing if either current PDF document or the source PDF document contains XFA.
[in] | dest_index | A page index in current PDF document. This is used to specify where the imported pages will be inserted. If parameter dest_index is less than 0, the imported pages will be inserted to the first. If parameter dest_index is equal to or larger than current page count, the imported pages will be inserted to the end. |
[in] | src_file_path | A full path of an existing PDF file as the source PDF document Some pages will be imported from this PDF file to current PDF document. |
[in] | password | A password string used to load source PDF document content. The password can be either user password or owner password. If source PDF document is not encrypted by password, just pass an empty string. |
[in] | flags | Options for importing pages. Please refer to values starting from PDFDoc::e_ImportFlagNormal and this can be one or a combination of these values. Default value: PDFDoc::e_ImportFlagNormal. |
[in] | layer_name | The name of non-selectable label or the prefix name of the non-selectable label to be shown in layer panel of application. Default value: an empty string. If parameter flags contains PDFDoc::e_ImportFlagWithLayers, this should not be empty and should be a valid string. If parameter flags does not contain PDFDoc::e_ImportFlagWithLayers, this string will be ignored.
|
[in] | page_range | A range object to specify which pages is to be imported. If this Range object is constructed by default constructor and not set any value, all pages in the source document will be imported. Default value: a Range object by default constructor and not set any value. |
[in] | pause | Pause object which decides if the importing process needs to be paused. This can be NULL which means not to pause during the parsing process. If this is not NULL, it should be a valid pause object implemented by user. Default value: NULL. |
common::Progressive foxit::pdf::PDFDoc::StartImportPagesFromFilePath | ( | int | dest_index, |
const wchar_t * | src_file_path, | ||
const WString & | password, | ||
uint32 | flags = PDFDoc::e_ImportFlagNormal , |
||
const char * | layer_name = "" , |
||
const common::Range & | page_range = common::Range() , |
||
common::PauseCallback * | pause = 0 |
||
) |
Start to import pages from another PDF document (via file path).
It may take a long time to importing pages, so Foxit PDF SDK uses a progressive process to do this.
Signed signatures in the pages of source PDF document will not be imported into current PDF document.
Currently, Foxit PDF SDK does not support to do the importing if either current PDF document or the source PDF document contains XFA.
[in] | dest_index | A page index in current PDF document. This is used to specify where the imported pages will be inserted. If parameter dest_index is less than 0, the imported pages will be inserted to the first. If parameter dest_index is equal to or larger than current page count, the imported pages will be inserted to the end. |
[in] | src_file_path | A full path of an existing PDF file as the source PDF document Some pages will be imported from this PDF file to current PDF document. |
[in] | password | A password string used to load source PDF document content. The password can be either user password or owner password. If source PDF document is not encrypted by password, just pass an empty string. |
[in] | flags | Options for importing pages. Please refer to values starting from PDFDoc::e_ImportFlagNormal and this can be one or a combination of these values. Default value: PDFDoc::e_ImportFlagNormal. |
[in] | layer_name | The name of non-selectable label or the prefix name of the non-selectable label to be shown in layer panel of application. Default value: an empty string. If parameter flags contains PDFDoc::e_ImportFlagWithLayers, this should not be empty and should be a valid string. If parameter flags does not contain PDFDoc::e_ImportFlagWithLayers, this string will be ignored.
|
[in] | page_range | A Range object to specify which pages is to be imported. If this Range object is constructed by default constructor and not set any value, all pages in the source document will be imported. Default value: a Range object by default constructor and not set any value. |
[in] | pause | Pause object which decides if the importing process needs to be paused. This can be NULL which means not to pause during the parsing process. If this is not NULL, it should be a valid pause object implemented by user. Default value: NULL. |
common::Progressive foxit::pdf::PDFDoc::StartLoad | ( | const String & | password = "" , |
bool | is_cache_stream = true , |
||
common::PauseCallback * | pause = 0 |
||
) |
Start to loading current document content by using a specified password.
It may take a long time to loading document content, so this function uses a progressive process to do this.
When using this function, parameter is_cache_stream can be used to decide whether to load stream content into memory or not:
[in] | password | A password string, used to load current document content. The password can be either user password or owner password. If current document is not encrypted by password, just pass an empty string. Default value: an empty string. |
[in] | is_cache_stream | true means to load stream content into memory, and false means not to load stream content into memory and just leave stream content on file system and read them when needed. Please refer to "Details" part about the difference between these two modes. Default value: true. |
[in] | pause | Pause object which decides if the importing process needs to be paused. This can be NULL which means not to pause during the parsing process. If this is not NULL, it should be a valid pause object implemented by user. Default value: NULL. |
common::Progressive foxit::pdf::PDFDoc::StartLoadW | ( | const WString & | password = WString() , |
bool | is_cache_stream = true , |
||
common::PauseCallback * | pause = 0 |
||
) |
Start to loading current document content by using a specified password.
It may take a long time to loading document content, so this function uses a progressive process to do this.
When using this function, parameter is_cache_stream can be used to decide whether to load stream content into memory or not:
[in] | password | A password string, used to load current document content. The password can be either user password or owner password. If current document is not encrypted by password, just pass an empty string. Default value: an empty string. |
[in] | is_cache_stream | true means to load stream content into memory, and false means not to load stream content into memory and just leave stream content on file system and read them when needed. Please refer to "Details" part about the difference between these two modes. Default value: true. |
[in] | pause | Pause object which decides if the importing process needs to be paused. This can be NULL which means not to pause during the parsing process. If this is not NULL, it should be a valid pause object implemented by user. Default value: NULL. |
common::Progressive foxit::pdf::PDFDoc::StartSaveAs | ( | const char * | file_path, |
uint32 | save_flags = PDFDoc::e_SaveFlagNormal , |
||
common::PauseCallback * | pause = 0 |
||
) |
Start to save current PDF document as another PDF file.
It may take a long time to saving PDF document, so this function uses a progressive process to do this.
If current document is loaded from an existing PDF file and a different file version has been set by function pdf::PDFDoc::SetFileVersion before saving, Foxit PDF SDK will ignore PDFDoc::e_SaveFlagIncremental in parameter save_flags and use the file version in saved PDF file.
[in] | file_path | A full path for the new saved PDF file. It should not be an empty string. |
[in] | save_flags | Document saving flags. Please refer to values starting from PDFDoc::e_SaveFlagNormal and this can be one or combination of these values. Default value: PDFDoc::e_SaveFlagNormal. |
[in] | pause | Pause callback object which decides if the parsing process needs to be paused. This can be NULL which means not to pause during the parsing process. If this is not NULL, it should be a valid pause object implemented by user. Default value: NULL. |
common::Progressive foxit::pdf::PDFDoc::StartSaveAs | ( | const wchar_t * | file_path, |
uint32 | save_flags = PDFDoc::e_SaveFlagNormal , |
||
common::PauseCallback * | pause = 0 |
||
) |
Start to save current PDF document as another PDF file.
It may take a long time to saving PDF document, so this function uses a progressive process to do this.
If current document is loaded from an existing PDF file and a different file version has been set by function pdf::PDFDoc::SetFileVersion before saving, Foxit PDF SDK will ignore PDFDoc::e_SaveFlagIncremental in parameter save_flags and use the file version in saved PDF file.
[in] | file_path | A full path for the new saved PDF file. It should not be an empty string. |
[in] | save_flags | Document saving flags. Please refer to values starting from PDFDoc::e_SaveFlagNormal and this can be one or combination of these values. Default value: PDFDoc::e_SaveFlagNormal. |
[in] | pause | Pause callback object which decides if the parsing process needs to be paused. This can be NULL which means not to pause during the parsing process. If this is not NULL, it should be a valid pause object implemented by user. Default value: NULL. |
common::Progressive foxit::pdf::PDFDoc::StartSaveAs | ( | foxit::common::file::WriterCallback * | file, |
foxit::uint32 | save_flags = PDFDoc::e_SaveFlagNormal , |
||
foxit::common::PauseCallback * | pause = 0 |
||
) |
Start to save current PDF document as another PDF file.
It may take a long time to saving PDF document, so this function uses a progressive process to do this.
If current document is loaded from an existing PDF file and a different file version has been set by function pdf::PDFDoc::SetFileVersion before saving, Foxit PDF SDK will ignore PDFDoc::e_SaveFlagIncremental in parameter save_flags and use the file version in saved PDF file.
[in] | file | A WriterCallback object which is implemented by user to save a PDF document. |
[in] | save_flags | Document saving flags. Please refer to values starting from PDFDoc::e_SaveFlagNormal and this can be one or combination of these values. Default value: PDFDoc::e_SaveFlagNormal. |
[in] | pause | Pause callback object which decides if the parsing process needs to be paused. This can be NULL which means not to pause during the parsing process. If this is not NULL, it should be a valid pause object implemented by user. Default value: NULL. |
common::Progressive foxit::pdf::PDFDoc::StartSaveAsPayloadFile | ( | const wchar_t * | file_path, |
const wchar_t * | payload_file_path, | ||
const wchar_t * | crypto_filter, | ||
const wchar_t * | description, | ||
float | version, | ||
uint32 | save_flags = PDFDoc::e_SaveFlagNormal , |
||
common::PauseCallback * | pause = 0 |
||
) |
Start to save current PDF document as a wrapper document with a payload document (defined in PDF 2.0).
It may take a long time to saving PDF document, so this function uses a progressive process to do this.
If current document is loaded from an existing PDF file and a different file version has been set by function pdf::PDFDoc::SetFileVersion before saving, Foxit PDF SDK will ignore PDFDoc::e_SaveFlagIncremental in parameter save_flags and use the file version in saved PDF file.
[in] | file_path | A full path for the new saved PDF file. It should not be an empty string. |
[in] | payload_file_path | A full path of a PDF document which will be used as payload document. It should not be an empty string. |
[in] | crypto_filter | The name of the cryptographic filter used to encrypt the encrypted payload document. |
[in] | description | Description for wrapper file to show applications or confront users prompt information. |
[in] | version | The version number of the cryptographic filter used to encrypt the encrypted payload referenced by this dictionary. |
[in] | save_flags | Document saving flags. Please refer to values starting from PDFDoc::e_SaveFlagNormal and this can be one or combination of these values. Default value: PDFDoc::e_SaveFlagNormal. |
[in] | pause | Pause callback object which decides if the parsing process needs to be paused. This can be NULL which means not to pause during the parsing process. If this is not NULL, it should be a valid pause object implemented by user. Default value: NULL. |