Foxit PDF SDK
fs_pdfdoc.h
Go to the documentation of this file.
1 
15 #ifndef FS_PDFDOC_H_
16 #define FS_PDFDOC_H_
17 
18 #include "common/fs_common.h"
19 #include "common/file/fs_file.h"
20 #ifndef __EMSCRIPTEN_RENDER__
21 #include "pdf/fs_bookmark.h"
22 #include "pdf/fs_headerfooter.h"
23 #endif
24 #include "pdf/fs_pdfpage.h"
25 #ifndef __EMSCRIPTEN_RENDER__
26 #include "pdf/fs_readingbookmark.h"
27 #endif
29 
35 namespace foxit {
36 namespace fdf {
37 #ifndef __EMSCRIPTEN_RENDER__
38 class FDFDoc;
39 #endif
40 } // namespace fdf
41 namespace pdf {
42 // forward declaration
43 namespace actions {
44 class Action;
45 } // namespace actions
46 namespace interform {
47 class Form;
48 } // namespace interform;
49 class ReadingBookmark;
50 class SecurityHandler;
51 class StdEncryptData;
52 class CertificateEncryptData;
53 class DRMEncryptData;
54 class CustomEncryptData;
55 class RMSEncryptData;
56 class PagingSealSignature;
57 
59 class WrapperData FS_FINAL : public Object {
60  public:
63  : version(0) {}
64 
74  WrapperData(int version, const wchar_t* type, const wchar_t* app_id, const wchar_t* uri, const wchar_t* description)
75  : version(version)
76  , type(type)
77  , app_id(app_id)
78  , uri(uri)
80 
86  WrapperData(const WrapperData& wrapper_data)
87  : version(wrapper_data.version)
88  , type(wrapper_data.type)
89  , app_id(wrapper_data.app_id)
90  , uri(wrapper_data.uri)
91  , description(wrapper_data.description) {}
92 
100  WrapperData& operator = (const WrapperData& wrapper_data) {
101  version = wrapper_data.version;
102  type = wrapper_data.type;
103  app_id = wrapper_data.app_id;
104  uri = wrapper_data.uri;
105  description = wrapper_data.description;
106  return *this;
107  }
108 
120  void Set(int version, const wchar_t* type, const wchar_t* app_id, const wchar_t* uri, const wchar_t* description) {
121  this->version = version;
122  this->type = type;
123  this->app_id = app_id;
124  this->uri = uri;
125  this->description = description;
126  }
127 
129  int version;
138 };
139 
141 class PayLoadData FS_FINAL {
142  public:
145  : version(0.0f)
146  , file_size (0){}
147 
157  PayLoadData(float version, const wchar_t* crypto_filter, const wchar_t* file_name,
159  const wchar_t* description)
160  : version(version)
165  {}
166 
172  PayLoadData(const PayLoadData& payload_data)
173  : version(payload_data.version)
174  , crypto_filter(payload_data.crypto_filter)
175  , file_name(payload_data.file_name)
176  , file_size(payload_data.file_size)
177  , description(payload_data.description)
178  {}
179 
187  PayLoadData& operator=(const PayLoadData& payload_data) {
188  version = payload_data.version;
189  crypto_filter = payload_data.crypto_filter;
190  description = payload_data.description;
191  file_name = payload_data.file_name;
192  file_size = payload_data.file_size;
193  return *this;
194  }
195 
205  void Set(float version, const wchar_t* crypto_filter, const wchar_t* file_name,
207  const wchar_t* description) {
208  this->version = version;
209  this->crypto_filter = crypto_filter;
210  this->file_name = file_name;
211  this->file_size = file_size;
212  this->description = description;
213  }
214 
216  float version;
225 };
226 
231 class PageBasicInfo FS_FINAL : public Object {
232  public:
242  : width(width)
243  , height(height)
244  , rotation(rotation) {}
245 
248  : width(0)
249  , height(0)
250  , rotation(CommonDefines::e_RotationUnknown) {}
256  PageBasicInfo(const PageBasicInfo& page_info)
257  : width(page_info.width)
258  , height(page_info.height)
259  , rotation(page_info.rotation) {}
268  width = page_info.width;
269  height = page_info.height;
270  rotation = page_info.rotation;
271  return *this;
272  }
283  void Set(float width, float height, common::Rotation rotation) {
284  this->width = width;
285  this->height = height;
286  this->rotation = rotation;
287  }
288 
290  float width;
292  float height;
298 };
299 
304 class EmbeddedFontData FS_FINAL : public Object {
305  public:
308 
317 
328  return *this;
329  }
330 
335 };
336 
338 class TableOfContentsConfig FS_FINAL : public Object{
339  public:
350  : title(title)
354 
357  : title(L"")
359  , is_show_serial_number(false)
360  , include_toc_pages(false){}
361 
364 
373  this->title = other.title;
376  this->include_toc_pages = other.include_toc_pages;
377  return *this;
378  }
379 
387  bool operator == (const TableOfContentsConfig& other) const {
388  if (this->title == other.title && this->is_show_serial_number == other.is_show_serial_number && this->include_toc_pages == other.include_toc_pages) {
390  return false;
391  for (int i = 0; i < this->bookmark_level_array.GetSize(); i++) {
392  if (this->bookmark_level_array.GetAt(i) != other.bookmark_level_array.GetAt(i))
393  return false;
394  }
395  return true;
396  }
397  return false;
398  }
399 
407  bool operator != (const TableOfContentsConfig& other) const {
408  if (this->title != other.title || this->is_show_serial_number != other.is_show_serial_number || this->include_toc_pages != other.include_toc_pages)
409  return true;
411  return true;
412  for (int i = 0; i < this->bookmark_level_array.GetSize(); i++) {
413  if (this->bookmark_level_array.GetAt(i) != other.bookmark_level_array.GetAt(i))
414  return true;
415  }
416  return false;
417  }
418 
431  this->title = title;
432  this->bookmark_level_array = bookmark_level_array;
433  this->is_show_serial_number = is_show_serial_number;
434  this->include_toc_pages = include_toc_pages;
435  }
436 
453 };
454 
508 class PDFDoc FS_FINAL : public Base {
509  public:
515  typedef enum _PasswordType {
524  } PasswordType;
525 
531  typedef enum _EncryptType {
548  } EncryptType;
549 
555  typedef enum _UserPermissions {
561  e_PermPrint = 0x0004,
568  e_PermModify = 0x0008,
574  e_PermExtract = 0x0010,
580  e_PermAnnotForm = 0x0020,
586  e_PermFillForm = 0x0100,
599  e_PermAssemble = 0x0400,
606  } UserPermissions;
607 
612  typedef enum _SaveFlags {
646  } SaveFlags;
647 
653  typedef enum _ImportPageFlags {
664  } ImportPageFlags;
665 
671  typedef enum _ExtractPagesOptions {
688 
694  typedef enum _InsertDocOptions {
698 
704  typedef enum _DisplayMode {
720  } DisplayMode;
721 
728  typedef enum _DataType {
730  e_Forms = 0x0001,
732  e_Annots = 0x0002,
734  e_Links = 0x0004
735  } DataType;
736 
742  typedef enum _WrapperType {
749  } WrapperType;
750 
751 
758  PDFDoc();
759 
768  explicit PDFDoc(const char* path);
769 
778  explicit PDFDoc(const wchar_t* path);
779 
790  explicit PDFDoc(const void* buffer, size_t size);
791 
806  explicit PDFDoc(common::file::ReaderCallback* file_read, bool is_async = false);
807  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
808  explicit PDFDoc(FS_HANDLE handle);
810  ~PDFDoc();
811 
817  PDFDoc(const PDFDoc& other);
818 
826  PDFDoc& operator = (const PDFDoc& other);
834  bool operator == (const PDFDoc& other) const;
835 
843  bool operator != (const PDFDoc& other) const;
844 
852  bool IsEmpty() const;
853 
860 
880  bool IsLinearized() const;
881 
888  bool IsTaggedPDF() const;
889 
911  ErrorCode Load(const String& password = "");
912 
935  ErrorCode LoadW(const WString& password = WString());
936 
968  common::Progressive StartLoad(const String& password = "", bool is_cache_stream = true,
969  common::PauseCallback* pause = NULL);
1001  common::Progressive StartLoadW(const WString& password = WString(), bool is_cache_stream = true,
1002  common::PauseCallback* pause = NULL);
1003 
1013  int GetFirstAvailPageIndex() const;
1014 
1025  bool IsXFA() const;
1026 
1033  bool IsEncrypted() const;
1034 
1040  void ClearRenderCache();
1041 
1055  PasswordType GetPasswordType() const;
1056 
1064 
1079  PasswordType CheckPassword(const String& password);
1080 
1095  PasswordType CheckPassword(const foxit::WString& password);
1096 
1105  bool IsUserPassword(const String& password);
1106 
1115  bool IsUserPassword(const foxit::WString& password);
1116 
1125  bool IsOwnerPassword(const String& password);
1126 
1135  bool IsOwnerPassword(const foxit::WString& password);
1136 
1146  String GetUserPassword(const String& owner_password);
1147 #ifndef __EMSCRIPTEN_RENDER__
1148 
1156 
1165 
1174 
1183 
1196 #endif
1197 
1223  bool SaveAs(const char* file_path, uint32 save_flags = PDFDoc::e_SaveFlagNormal);
1224 
1251  bool SaveAs(const wchar_t* file_path, uint32 save_flags = PDFDoc::e_SaveFlagNormal);
1252 
1286  common::Progressive StartSaveAs(const char* file_path,
1287  uint32 save_flags = PDFDoc::e_SaveFlagNormal,
1288  common::PauseCallback* pause = NULL);
1289 
1323  common::Progressive StartSaveAs(const wchar_t* file_path,
1324  uint32 save_flags = PDFDoc::e_SaveFlagNormal,
1325  common::PauseCallback* pause = NULL);
1326 
1363 #ifndef __EMSCRIPTEN_RENDER__
1364 
1372 
1382 
1389  int GetBookmarkLevelDepth();
1390 
1398  bool RemoveBookmark(const Bookmark& bookmark);
1399 
1406  bool HasLayer() const;
1407 
1414  bool HasHeaderFooter();
1415 
1425 
1436  void AddHeaderFooter(const HeaderFooter& headerfooter);
1437 
1448  void UpdateHeaderFooter(const HeaderFooter& headerfooter);
1449 
1455  bool RemoveAllHeaderFooters();
1456 #endif
1457 
1462  int GetPageCount() const;
1463 
1477  PDFPage GetPage(int index);
1478 
1487  DisplayMode GetDisplayMode() const;
1488 
1499  void SetDisplayMode(DisplayMode display_mode);
1500 
1508 
1516 
1526 
1534 
1542 
1551 
1569 
1577  void DeleteIndirectObject(uint32 object_number);
1578 
1585  uint32 GetUserPermissions() const;
1586 
1593  bool IsWrapper() const;
1594 
1601  WrapperType GetWrapperType() const;
1602 
1609  WrapperData GetWrapperData() const;
1610 
1617  int64 GetWrapperOffset() const;
1618 
1626 
1644 
1670  bool SaveAsWrapperFile(const wchar_t* file_path, const WrapperData* wrapper_data = NULL,
1671  uint32 user_permissions = 0xFFFFFFFC, const char* owner_password = "");
1672 
1700  common::Progressive StartSaveAsPayloadFile(const wchar_t* file_path, const wchar_t* payload_file_path,
1701  const wchar_t* crypto_filter, const wchar_t* description, float version,
1702  uint32 save_flags = PDFDoc::e_SaveFlagNormal,
1703  common::PauseCallback* pause = NULL);
1715  bool HasForm() const;
1716 
1723 #ifndef __EMSCRIPTEN_RENDER__
1724 
1733 
1747  ReadingBookmark InsertReadingBookmark(int reading_bookmark_index, const WString& title, int dest_page_index);
1748 
1756  bool RemoveReadingBookmark(const ReadingBookmark& reading_bookmark);
1757 
1763  int GetSignatureCount();
1764 
1774 
1782  void RemoveSignature(const foxit::pdf::Signature& signature);
1783 #endif
1784 
1796  PDFPage InsertPage(int index, float width, float height);
1810 
1829  PDFPage AddPageFromTemplate(const wchar_t* template_name);
1830 
1846  bool HidePageTemplate(const wchar_t* template_name);
1847 
1856  bool RemovePage(int index);
1867  bool RemovePage(const foxit::pdf::PDFPage& page);
1868 
1884  bool MovePageTo(const PDFPage& page, int dest_index);
1885 
1906  bool MovePagesTo(const common::Range& page_range, int dest_index);
1907 
1963  const wchar_t* src_file_path, const String& password,
1964  uint32 flags = PDFDoc::e_ImportFlagNormal, const char* layer_name = "",
1965  const common::Range& page_range = common::Range(),
1966  common::PauseCallback* pause = NULL);
2021  const wchar_t* src_file_path, const WString& password,
2022  uint32 flags = PDFDoc::e_ImportFlagNormal, const char* layer_name = "",
2023  const common::Range& page_range = common::Range(),
2024  common::PauseCallback* pause = NULL);
2076  common::Progressive StartImportPages(int dest_index, const PDFDoc& src_doc,
2077  uint32 flags = PDFDoc::e_ImportFlagNormal, const char* layer_name = "",
2078  const common::Range& page_range = common::Range(),
2079  common::PauseCallback* pause = NULL);
2080 
2103  common::Progressive StartExtractPages(const char* file_path, uint32 options, const common::Range& page_range = common::Range(),
2104  common::PauseCallback* pause = NULL);
2105 
2128  common::Progressive StartExtractPages(const wchar_t* file_path, uint32 options, const common::Range& page_range = common::Range(),
2129  common::PauseCallback* pause = NULL);
2130 
2156 
2173  void InsertDocument(int dest_index, const PDFDoc& src_doc, uint32 options);
2174 
2175 #ifndef __EMSCRIPTEN_RENDER__
2176 
2199  bool ImportFromFDF(const fdf::FDFDoc& fdf_doc, int types = pdf::PDFDoc::e_Forms | pdf::PDFDoc::e_Annots, const common::Range& page_range = common::Range());
2200 
2220  bool ExportToFDF(const fdf::FDFDoc& fdf_doc, int types = pdf::PDFDoc::e_Forms | pdf::PDFDoc::e_Annots, const common::Range& page_range = common::Range());
2221 
2230  bool ExportAnnotToFDF(const annots::Annot& pdf_annot,const fdf::FDFDoc& fdf_doc);
2231 
2244  bool ExportFormFieldsToFDF(const pdf::interform::FieldArray& field_array, bool is_include, const fdf::FDFDoc& fdf_doc);
2245 #endif
2246 
2251  String GetHeader() const;
2252 
2258  int GetFileVersion();
2259 
2275  void SetFileVersion(int version);
2276 
2289  bool SetSecurityHandler(const SecurityHandler& handler);
2290 
2301 
2311  bool RemoveSecurity();
2312 
2320  int GetFontCount();
2321 
2330  common::Font GetFont(int index);
2331 
2338 
2350  bool SetOpenAction(actions::Action& action);
2351 
2357  bool RemoveOpenAction();
2358 
2364  bool DoJSOpenAction();
2365 
2371  bool IsPortfolio();
2372 
2387  PageBasicInfo GetPageBasicInfo(int index);
2388 
2395 
2396 #ifdef _SUPPORTWEBSDK_
2397  objects::PDFStream* CreateIcon(String imgStream,int width, int height);
2398 #endif
2399 
2406  void CreateDSS();
2407 
2423  void AddTableOfContents(const wchar_t* title, Int32Array bookmark_level_array);
2424 
2434  void AddTableOfContents(const TableOfContentsConfig& table_of_contents_config);
2435 
2452  void SetCacheFile(foxit::common::file::StreamCallback* file_stream, bool is_own_file_stream);
2453 
2470 
2479  WString GetPageText(int page_index) const;
2480 
2496  PagingSealSignature AddPagingSealSignature(const common::Range& page_range, float width, float height);
2497 };
2498 } // namespace pdf
2499 } // namespace foxit
2500 #endif // FS_PDFDOC_H_
2501 
bool include_toc_pages
true means to include catalog page(s) in the calculation of pages number in the table of contents,...
Definition: fs_pdfdoc.h:452
PageBasicInfo GetPageBasicInfo(int index)
Get the basic information of a page specified by index.
ImportPageFlags
Enumeration for flags used for importing pages.
Definition: fs_pdfdoc.h:653
common::Progressive StartRecognizeForm(common::PauseCallback *pause=0)
Start to recognize form in current PDF document.
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.
Bookmark GetRootBookmark()
Get bookmark root node.
Operate text annotations and fill in interactive form fields. (Bit 6 in permission value)
Definition: fs_pdfdoc.h:580
Definition: fs_pdfobject.h:416
int version
Wrapper version.
Definition: fs_pdfdoc.h:129
If set, form fields are to imported from or exported to FDF/XFDF document.
Definition: fs_pdfdoc.h:730
~PDFDoc()
Destructor.
int GetReadingBookmarkCount()
Get the count of reading bookmarks.
bool RemoveBookmark(const Bookmark &bookmark)
Remove a specified bookmark.
WStringArray standard_font_name_array
Font name array of embedded fonts which are standard fonts and can be replaced by system fonts if the...
Definition: fs_pdfdoc.h:334
void Set(float version, const wchar_t *crypto_filter, const wchar_t *file_name, int64 file_size, const wchar_t *description)
Set value.
Definition: fs_pdfdoc.h:205
If set, annotations (except link annotations) are to imported from or exported to FDF/XFDF document.
Definition: fs_pdfdoc.h:732
Bookmark CreateRootBookmark()
Create new bookmark root node.
bool SetSecurityHandler(const SecurityHandler &handler)
Set a PDF security handler for encryption, such as standard encryption(password), certificate encrypt...
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.
bool operator==(const PDFDoc &other) const
Equal operator.
Definition: fs_common.h:1179
File writing interface.
Definition: fx_stream.h:451
int GetFirstAvailPageIndex() const
Get the page index of the fist available page.
void ClearRenderCache()
Clear the cache used during rendering, to reduce the memory usage.
bool HasForm() const
Check whether current PDF document has interactive form (also known as AcroForm).
StdEncryptData GetStdEncryptData() const
Get encrypt data of standard encryption (known as password encryption).
TableOfContentsConfig(const wchar_t *title, Int32Array bookmark_level_array, bool is_show_serial_number, bool include_toc_pages)
Constructor, with parameter.
Definition: fs_pdfdoc.h:349
ErrorCode Load(const String &password="")
Load current document content by using a specified password.
bool is_show_serial_number
true means to show the serial number in the table of contents, while false means not to show the seri...
Definition: fs_pdfdoc.h:447
RMSEncryptData GetRMSEncryptData() const
Get encrypt data of RMS encryption.
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....
CFX_Object Object
Object type.
Definition: fs_basictypes.h:217
Save document normally, without using any special flag. This can only be used alone.
Definition: fs_pdfdoc.h:614
Extract PDF contents. (Bit 5 in permission value)
Definition: fs_pdfdoc.h:574
bool HidePageTemplate(const wchar_t *template_name)
Hide a named page.
float version
The version number of the cryptographic filter used to encrypt the encrypted payload referenced by th...
Definition: fs_pdfdoc.h:216
Assemble PDF document. (Bit 11 in permission value)
Definition: fs_pdfdoc.h:599
Unknown rotation.
Definition: fs_common.h:67
Encryption type: password, which is the standard encryption.
Definition: fs_pdfdoc.h:537
Header file for header-footer related definitions and classes.
bool operator==(const TableOfContentsConfig &other) const
Equal operator.
Definition: fs_pdfdoc.h:387
bool ExportAnnotToFDF(const annots::Annot &pdf_annot, const fdf::FDFDoc &fdf_doc)
Export specified annotation to a FDF/XFDF document.
PayLoadData(const PayLoadData &payload_data)
Constructor, with another payload data object.
Definition: fs_pdfdoc.h:172
objects::PDFDictionary * GetTrailer() const
Get the trailer dictionary.
WrapperType
Enumeration for wrapper type.
Definition: fs_pdfdoc.h:742
Modify PDF contents. (Bit 4 in permission value)
Definition: fs_pdfdoc.h:568
SecurityHandler GetSecurityHandler()
Get current PDF security handler of current document.
Int32Array bookmark_level_array
A bookmark level array which is used to specify bookmarks to be used to generate "Table of Contents"....
Definition: fs_pdfdoc.h:445
Definition: fs_basictypes.h:224
bool SetOpenAction(actions::Action &action)
Set the action to be performed when the document is opened.
Definition: fs_pdfdoc.h:304
A user password is used in PDF document.
Definition: fs_pdfdoc.h:521
WString description
Description for payload file to show applications or confront users prompt information.
Definition: fs_pdfdoc.h:224
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.
PageBasicInfo()
Constructor.
Definition: fs_pdfdoc.h:247
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.
int64 GetWrapperOffset() const
Get wrapper offset if current document's wrapper type is PDFDoc::e_WrapperFoxit.
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).
bool MovePagesTo(const common::Range &page_range, int dest_index)
Move one or more pages (specified by index) to a new index position.
int GetSize() const
Get the number of elements in the array.
Definition: fx_basic.h:1360
WString crypto_filter
The name of the cryptographic filter used to encrypt the encrypted payload document.
Definition: fs_pdfdoc.h:218
Header file for file operation related definitions and functions.
bool operator !=(const TableOfContentsConfig &other) const
Not equal operator.
Definition: fs_pdfdoc.h:407
File reading interface.
Definition: fx_stream.h:566
void UpdateHeaderFooter(const HeaderFooter &headerfooter)
Update header-footer.
Import pages with layers.
Definition: fs_pdfdoc.h:657
If set, that means structure tree will be extracted as well.
Definition: fs_pdfdoc.h:675
objects::PDFDictionary * GetCatalog() const
Get the catalog dictionary.
Encryption type: customized encryption.
Definition: fs_pdfdoc.h:543
WIDE STRING CLASS.
Definition: fx_string.h:1452
bool IsLinearized() const
Check if current PDF document is a linearized file.
WString description
Description for wrapper file to show applications or confront users prompt information.
Definition: fs_pdfdoc.h:137
Save document without original data or unchanged objects.
Definition: fs_pdfdoc.h:628
Save document incrementally.
Definition: fs_pdfdoc.h:621
bool IsWrapper() const
Check whether current document is a wrapper file or not.
CFX_WideString WString
Wide string.
Definition: fs_basictypes.h:219
void SetFileVersion(int version)
Set the PDF file version which will be stored in PDF header section of the saved PDF file.
bool ExportFormFieldsToFDF(const pdf::interform::FieldArray &field_array, bool is_include, const fdf::FDFDoc &fdf_doc)
Export specified form fields to a FDF/XFDF document.
int GetFileVersion()
Get PDF file version stored in PDF header section.
float height
Page height.
Definition: fs_pdfdoc.h:292
No password is used in PDF document.
Definition: fs_pdfdoc.h:519
PasswordType CheckPassword(const String &password)
Check the type of a specified password.
PasswordType GetPasswordType() const
Get the type of current used password.
FX_UINT64 uint64
Unsigned 64-bit integer.
Definition: fs_basictypes.h:192
uint32 GetUserPermissions() const
Get user access permissions.
HeaderFooter GetEditableHeaderFooter()
Get the editable header footer object.
If set, that means attachment files will be extracted as well.
Definition: fs_pdfdoc.h:686
Print PDF document with higher qualities. (Bit 12 in permission value)
Definition: fs_pdfdoc.h:605
Definition: fs_pdfdoc.h:141
Definition: fs_pdfdoc.h:508
Normal document.
Definition: fs_pdfdoc.h:744
Definition: fs_security.h:586
PayLoadData & operator=(const PayLoadData &payload_data)
Assign operator.
Definition: fs_pdfdoc.h:187
ReadingBookmark InsertReadingBookmark(int reading_bookmark_index, const WString &title, int dest_page_index)
Insert a reading bookmark to current PDF document.
int GetBookmarkLevelDepth()
Get bookmark level depth.
bool IsEmpty() const
Check whether current object is empty or not.
~TableOfContentsConfig()
Destructor.
Definition: fs_pdfdoc.h:363
bool RemoveAllHeaderFooters()
Remove all header-footers.
int64 file_size
The payload file size.
Definition: fs_pdfdoc.h:222
(Reserved, not supported yet) If set, only link annotations are to imported from or exported to XFDF ...
Definition: fs_pdfdoc.h:734
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.
bool IsOwnerPassword(const String &password)
Check if input password is the owner password of current PDF document.
An owner password is used in PDF document.
Definition: fs_pdfdoc.h:523
ExtractPagesOptions
Enumeration for options used for extracting pages.
Definition: fs_pdfdoc.h:671
Header file for bookmark related definitions and classes.
PDFDoc()
Constructor.
Definition: fs_fdfdoc.h:51
objects::PDFDictionary * GetPagesDict() const
Get the dictionary of "Pages".
PagingSealSignature AddPagingSealSignature(const common::Range &page_range, float width, float height)
Add a paging seal signature to document by page range.
Definition: fs_security.h:973
EmbeddedFontData(const EmbeddedFontData &other)
Constructor, with another embedded font data object.
Definition: fs_pdfdoc.h:314
Definition: fs_security.h:137
Import pages without cloning stream objects into memory.
Definition: fs_pdfdoc.h:663
common::Progressive StartGetPayloadFile(foxit::common::file::WriterCallback *payload_file, common::PauseCallback *pause=0)
Start to get payload file.
Header file for reading bookmark related definitions and classes.
bool DoJSOpenAction()
Perform JavaScript actions when the document is opened.
If set, that means OCProperties will be extracted as well.
Definition: fs_pdfdoc.h:679
int GetSignatureCount()
Get the count of signature.
uint64 GetFileSize()
Get file size.
WStringArray nonstandard_font_name_array
Font name array of embedded fonts which cannot be replaced by system fonts if they are to be unembede...
Definition: fs_pdfdoc.h:332
Definition: fs_signature.h:1920
Definition: fs_pdfdoc.h:231
SaveFlags
Enumeration for PDF document saving flags.
Definition: fs_pdfdoc.h:612
ErrorCode LoadW(const WString &password=WString())
Load current document content by using a specified password.
ErrorCode
Enumeration for error code.
Definition: fs_basictypes.h:233
PageBasicInfo(float width, float height, common::Rotation rotation)
Constructor, with parameters.
Definition: fs_pdfdoc.h:241
WString type
Wrapper type to indicate a type of the current wrapper file.
Definition: fs_pdfdoc.h:131
EmbeddedFontData & operator=(const EmbeddedFontData &other)
Assign operator.
Definition: fs_pdfdoc.h:325
EmbeddedFontData()
Constructor.
Definition: fs_pdfdoc.h:307
int GetFontCount()
Count all the PDF fonts used in current PDF document.
Import pages normally.
Definition: fs_pdfdoc.h:655
Definition: fs_pdfdoc.h:59
File stream interface, reading & writing.
Definition: fx_stream.h:669
bool RemoveOpenAction()
Remove the action to be performed when the document is opened.
When document is opened, neither document outlines nor thumbnail images are visible.
Definition: fs_pdfdoc.h:706
DisplayMode
Enumeration for display mode which specifies how the document should be displayed when opened.
Definition: fs_pdfdoc.h:704
bool IsUserPassword(const String &password)
Check if input password is the user password of current PDF document.
float width
Page width.
Definition: fs_pdfdoc.h:290
void Set(const wchar_t *title, Int32Array bookmark_level_array, bool is_show_serial_number, bool include_toc_pages)
Set value.
Definition: fs_pdfdoc.h:430
EncryptType GetEncryptionType() const
Get the encryption type.
bool HasLayer() const
Check whether current PDF document has layer (known as "Optional content group" in <PDF reference 1....
objects::PDFDictionary * GetEncryptDict() const
Get the encrypt dictionary.
WString GetPageText(int page_index) const
Get the specified PDF page text which the text is in display order.
Size
Enumeration for page size type.
Definition: fs_pdfpage.h:489
WString file_name
The payload file name.
Definition: fs_pdfdoc.h:220
Definition: fx_basic.h:3761
objects::PDFDictionary * GetInfo() const
Get the information dictionary.
bool IsXFA() const
Check whether current PDF document is an XFA document.
When document is opened, full-screen mode, with no menu bar, window controls, or any other windows ar...
Definition: fs_pdfdoc.h:715
Print PDF document with normal mode. (Bit 3 in permission value)
Definition: fs_pdfdoc.h:561
(Reserved, currently, this value is not used.) Encryption type: Foxit connected PDF DRM encryption.
Definition: fs_pdfdoc.h:547
Save document as a linearized file.
Definition: fs_pdfdoc.h:639
When document is opened, document outlines (bookmarks) are visible.
Definition: fs_pdfdoc.h:708
bool IsPortfolio()
Check whether current PDF document is a portfolio file or not.
PasswordType
Enumeration for the type of current used password in a PDF document.
Definition: fs_pdfdoc.h:515
When document is opened, optional content group panels are visible.
Definition: fs_pdfdoc.h:717
Definition: fs_common.h:336
PDFPage AddPageFromTemplate(const wchar_t *template_name)
Adds a new PDF page to document, from a named template.
FX_INT64 int64
Signed 64-bit integer.
Definition: fs_basictypes.h:190
const TYPE GetAt(int nIndex) const
This method retrieves an element specified by an index number.
Definition: fx_basic.h:1396
CustomEncryptData GetCustomEncryptData() const
Get encrypt data of custom encryption.
If set, that means annotations related to extracted pages will be extracted as well.
Definition: fs_pdfdoc.h:673
InsertDocOptions
Enumeration for options used for inserting a PDF document to another.
Definition: fs_pdfdoc.h:694
Disabilities support. (Bit 10 in permission value)
Definition: fs_pdfdoc.h:592
DataType
Enumeration for data type used to decide which object(s) will be imported from or exported to FDF/XFD...
Definition: fs_pdfdoc.h:728
FX_UINT32 uint32
32-bit unsigned integer.
Definition: fs_basictypes.h:196
void SetDisplayMode(DisplayMode display_mode)
Set the display mode.
Save document with removing redundant PDF objects.
Definition: fs_pdfdoc.h:645
Definition: fs_pdfpage.h:411
bool RemoveReadingBookmark(const ReadingBookmark &reading_bookmark)
Remove a reading bookmark from current PDF document.
Encryption type: digital certificate encryption.
Definition: fs_pdfdoc.h:539
void * FS_HANDLE
Handle type.
Definition: fs_basictypes.h:214
WrapperType GetWrapperType() const
Get Wrapper type.
EmbeddedFontData GetEmbeddedFontData()
Get embedded font data.
Header file for common definitions and classes.
When document is opened, attachment panels are visible.
Definition: fs_pdfdoc.h:719
ReadingBookmark GetReadingBookmark(int index)
Get a reading bookmark by index.
No encryption pattern.
Definition: fs_pdfdoc.h:535
void Set(int version, const wchar_t *type, const wchar_t *app_id, const wchar_t *uri, const wchar_t *description)
Set value.
Definition: fs_pdfdoc.h:120
The password is invalid.
Definition: fs_pdfdoc.h:517
PDFDoc & operator=(const PDFDoc &other)
Assign operator.
void DeleteIndirectObject(uint32 object_number)
Delete an indirect object by indirect object number.
Definition: fs_security.h:833
bool operator !=(const PDFDoc &other) const
Not equal operator.
objects::PDFObject * GetIndirectObject(uint32 object_number)
Get an indirect object by indirect object number.
WString uri
The URI for consumers to get more information.
Definition: fs_pdfdoc.h:135
Header file for PDF object related definitions and classes.
Encryption type: Microsoft RMS encryption.
Definition: fs_pdfdoc.h:545
Definition: fs_basictypes.h:407
If set, that means attachments will be inserted to target document as well.
Definition: fs_pdfdoc.h:696
DisplayMode GetDisplayMode() const
Get the display mode.
String GetHeader() const
Get PDF header identifying the version of the PDF specification to which the file conforms.
common::Font GetFont(int index)
Get a font by index.
Fill PDF form. (Bit 9 in permission value)
Definition: fs_pdfdoc.h:586
int GetPageCount() const
Get the count of pages.
Header file for PDF page related definitions and classes.
PDFPage GetPage(int index)
Get a PDF page by index.
bool RemoveSecurity()
Remove the security handler from current document, so that the later saved document will be unencrypt...
CertificateEncryptData GetCertificateEncryptData() const
Get encrypt data of certificate encryption.
WrapperData(int version, const wchar_t *type, const wchar_t *app_id, const wchar_t *uri, const wchar_t *description)
Constructor, with parameters.
Definition: fs_pdfdoc.h:74
Definition: fs_annot.h:964
PDFPage InsertPage(int index, float width, float height)
Insert a new blank PDF page to document, by index.
Save document by using XRef stream.
Definition: fs_pdfdoc.h:633
Definition: fs_security.h:56
Definition: fs_common.h:1334
Definition: fs_pdfobject.h:800
bool IsEncrypted() const
Check whether current document is an encrypted file or not.
String GetUserPassword(const String &owner_password)
Get the user password based on owner password.
If set, that means to use PDFDoc::e_SaveFlagXRefStream saving flag for the result file in order to re...
Definition: fs_pdfdoc.h:684
actions::Action GetOpenAction()
Get the action to be performed when the document is opened.
PayLoadData(float version, const wchar_t *crypto_filter, const wchar_t *file_name, foxit::int64 file_size, const wchar_t *description)
Constructor, with parameters.
Definition: fs_pdfdoc.h:157
bool SaveAs(const char *file_path, uint32 save_flags=PDFDoc::e_SaveFlagNormal)
Save current PDF document as another PDF file.
Rotation
Enumeration for rotation.
Definition: fs_common.h:57
Foxit namespace.
Definition: fs_taggedpdf.h:27
Definition: fs_pdfobject.h:55
WrapperData & operator=(const WrapperData &wrapper_data)
Assign operator.
Definition: fs_pdfdoc.h:100
DRMEncryptData GetDRMEncryptData() const
Get encrypt data of Foxit DRM encryption.
Definition: fs_action.h:418
WString app_id
Application identity to indicate applications to open this wrapper data.
Definition: fs_pdfdoc.h:133
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.
If set, that means Javascript will be extracted as well.
Definition: fs_pdfdoc.h:677
BYTE STRING CLASS.
Definition: fx_string.h:317
Unknown encryption type.
Definition: fs_pdfdoc.h:533
EncryptType
Enumeration for encryption type.
Definition: fs_pdfdoc.h:531
void CreateDSS()
Create DSS information in current PDF document.
common::Progressive StartExtractPages(const char *file_path, uint32 options, const common::Range &page_range=common::Range(), common::PauseCallback *pause=0)
Start to extract pages from current PDF document.
bool IsTaggedPDF() const
Check if current PDF document is a Tagged PDF file.
PDF 2.0 wrapper document.
Definition: fs_pdfdoc.h:748
Definition: fs_pdfform.h:44
common::Rotation rotation
Page rotation. Please refer to values starting from common::e_Rotation0 and this should be one of the...
Definition: fs_pdfdoc.h:297
TableOfContentsConfig & operator=(const TableOfContentsConfig &other)
Assign operator.
Definition: fs_pdfdoc.h:372
When document is opened, thumbnail images are visible.
Definition: fs_pdfdoc.h:710
void InsertDocument(int dest_index, const PDFDoc &src_doc, uint32 options)
Insert another PDF document to the specified location of current PDF document.
TableOfContentsConfig()
Constructor.
Definition: fs_pdfdoc.h:356
#define NULL
The null-pointer value.
Definition: fx_system.h:780
Definition: fs_signature.h:93
Page size: letter.
Definition: fs_pdfpage.h:491
void RemoveSignature(const foxit::pdf::Signature &signature)
Remove a signature.
WString title
Title for the table of contents. If this is an empty string, the default value "Table of Contents" wi...
Definition: fs_pdfdoc.h:438
PayLoadData()
Constructor.
Definition: fs_pdfdoc.h:144
Encryption type: Foxit DRM encryption.
Definition: fs_pdfdoc.h:541
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).
WrapperData GetWrapperData() const
Get wrapper data if current document's wrapper type is PDFDoc::e_WrapperFoxit.
PageBasicInfo & operator=(const PageBasicInfo &page_info)
Assign operator.
Definition: fs_pdfdoc.h:267
PageBasicInfo(const PageBasicInfo &page_info)
Constructor, with another page basic information object.
Definition: fs_pdfdoc.h:256
void AddHeaderFooter(const HeaderFooter &headerfooter)
Add new header-footer.
foxit::pdf::Signature GetSignature(int index)
Get a signature by index.
Definition: fs_security.h:368
void AddTableOfContents(const wchar_t *title, Int32Array bookmark_level_array)
Insert page(s) as the table of contents to the front of current PDF document.
Definition: fs_pdfdoc.h:338
bool RemovePage(int index)
Remove a PDF page by page index.
void SetCacheFile(foxit::common::file::StreamCallback *file_stream, bool is_own_file_stream)
Set cache file (represented by a file stream) to current PDF document.
WrapperData()
Constructor.
Definition: fs_pdfdoc.h:62
Definition: fs_bookmark.h:58
bool HasHeaderFooter()
Check whether current document has header-footer.
void Set(float width, float height, common::Rotation rotation)
Set value.
Definition: fs_pdfdoc.h:283
Definition: fs_readingbookmark.h:43
UserPermissions
Enumeration for user access permissions in a PDF document.
Definition: fs_pdfdoc.h:555
WrapperData(const WrapperData &wrapper_data)
Constructor, with another wrapper data object.
Definition: fs_pdfdoc.h:86
Foxit wrapper document.
Definition: fs_pdfdoc.h:746
PayLoadData GetPayLoadData()
Get payload data if current document's wrapper type is PDFDoc::e_WrapperPDFV2.
uint32 AddIndirectObject(objects::PDFObject *pdf_object)
Add a PDF object to current PDF document, to be an indirect object.
bool MovePageTo(const PDFPage &page, int dest_index)
Move a specified page to a new index position.