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 
58 class WrapperData FS_FINAL : public Object {
59  public:
62  : version(0) {}
63 
73  WrapperData(int version, const wchar_t* type, const wchar_t* app_id, const wchar_t* uri, const wchar_t* description)
74  : version(version)
75  , type(type)
76  , app_id(app_id)
77  , uri(uri)
79 
85  WrapperData(const WrapperData& wrapper_data)
86  : version(wrapper_data.version)
87  , type(wrapper_data.type)
88  , app_id(wrapper_data.app_id)
89  , uri(wrapper_data.uri)
90  , description(wrapper_data.description) {}
91 
99  WrapperData& operator = (const WrapperData& wrapper_data) {
100  version = wrapper_data.version;
101  type = wrapper_data.type;
102  app_id = wrapper_data.app_id;
103  uri = wrapper_data.uri;
104  description = wrapper_data.description;
105  return *this;
106  }
107 
119  void Set(int version, const wchar_t* type, const wchar_t* app_id, const wchar_t* uri, const wchar_t* description) {
120  this->version = version;
121  this->type = type;
122  this->app_id = app_id;
123  this->uri = uri;
124  this->description = description;
125  }
126 
128  int version;
137 };
138 
140 class PayLoadData FS_FINAL {
141  public:
144  : version(0.0f)
145  , file_size (0){}
146 
156  PayLoadData(float version, const wchar_t* crypto_filter, const wchar_t* file_name,
158  const wchar_t* description)
159  : version(version)
164  {}
165 
171  PayLoadData(const PayLoadData& payload_data)
172  : version(payload_data.version)
173  , crypto_filter(payload_data.crypto_filter)
174  , file_name(payload_data.file_name)
175  , file_size(payload_data.file_size)
176  , description(payload_data.description)
177  {}
178 
186  PayLoadData& operator=(const PayLoadData& payload_data) {
187  version = payload_data.version;
188  crypto_filter = payload_data.crypto_filter;
189  description = payload_data.description;
190  file_name = payload_data.file_name;
191  file_size = payload_data.file_size;
192  return *this;
193  }
194 
204  void Set(float version, const wchar_t* crypto_filter, const wchar_t* file_name,
206  const wchar_t* description) {
207  this->version = version;
208  this->crypto_filter = crypto_filter;
209  this->file_name = file_name;
210  this->file_size = file_size;
211  this->description = description;
212  }
213 
215  float version;
224 };
225 
230 class PageBasicInfo FS_FINAL : public Object {
231  public:
241  : width(width)
242  , height(height)
243  , rotation(rotation) {}
244 
247  : width(0)
248  , height(0)
249  , rotation(CommonDefines::e_RotationUnknown) {}
255  PageBasicInfo(const PageBasicInfo& page_info)
256  : width(page_info.width)
257  , height(page_info.height)
258  , rotation(page_info.rotation) {}
267  width = page_info.width;
268  height = page_info.height;
269  rotation = page_info.rotation;
270  return *this;
271  }
282  void Set(float width, float height, common::Rotation rotation) {
283  this->width = width;
284  this->height = height;
285  this->rotation = rotation;
286  }
287 
289  float width;
291  float height;
297 };
298 
352 class PDFDoc FS_FINAL : public Base {
353  public:
359  typedef enum _PasswordType {
368  } PasswordType;
369 
375  typedef enum _EncryptType {
392  } EncryptType;
393 
399  typedef enum _UserPermissions {
405  e_PermPrint = 0x0004,
412  e_PermModify = 0x0008,
418  e_PermExtract = 0x0010,
424  e_PermAnnotForm = 0x0020,
430  e_PermFillForm = 0x0100,
443  e_PermAssemble = 0x0400,
450  } UserPermissions;
451 
456  typedef enum _SaveFlags {
490  } SaveFlags;
491 
497  typedef enum _ImportPageFlags {
508  } ImportPageFlags;
509 
515  typedef enum _ExtractPagesOptions {
532 
538  typedef enum _InsertDocOptions {
542 
548  typedef enum _DisplayMode {
564  } DisplayMode;
565 
572  typedef enum _DataType {
574  e_Forms = 0x0001,
576  e_Annots = 0x0002,
578  e_Links = 0x0004
579  } DataType;
580 
586  typedef enum _WrapperType {
593  } WrapperType;
594 
595 
602  PDFDoc();
603 
612  explicit PDFDoc(const char* path);
613 
622  explicit PDFDoc(const wchar_t* path);
623 
634  explicit PDFDoc(const void* buffer, size_t size);
635 
650  explicit PDFDoc(common::file::ReaderCallback* file_read, bool is_async = false);
651  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
652  explicit PDFDoc(FS_HANDLE handle);
654  ~PDFDoc();
655 
661  PDFDoc(const PDFDoc& other);
662 
670  PDFDoc& operator = (const PDFDoc& other);
678  bool operator == (const PDFDoc& other) const;
679 
687  bool operator != (const PDFDoc& other) const;
688 
696  bool IsEmpty() const;
697 
704 
724  bool IsLinearized() const;
725 
732  bool IsTaggedPDF() const;
733 
755  ErrorCode Load(const String& password = "");
756 
779  ErrorCode LoadW(const WString& password = WString());
780 
812  common::Progressive StartLoad(const String& password = "", bool is_cache_stream = true,
813  common::PauseCallback* pause = NULL);
845  common::Progressive StartLoadW(const WString& password = WString(), bool is_cache_stream = true,
846  common::PauseCallback* pause = NULL);
847 
857  int GetFirstAvailPageIndex() const;
858 
869  bool IsXFA() const;
870 
877  bool IsEncrypted() const;
878 
884  void ClearRenderCache();
885 
900 
908 
923  PasswordType CheckPassword(const String& password);
924 
939  PasswordType CheckPassword(const foxit::WString& password);
940 
949  bool IsUserPassword(const String& password);
950 
959  bool IsUserPassword(const foxit::WString& password);
960 
969  bool IsOwnerPassword(const String& password);
970 
979  bool IsOwnerPassword(const foxit::WString& password);
980 
990  String GetUserPassword(const String& owner_password);
991 #ifndef __EMSCRIPTEN_RENDER__
992 
1000 
1009 
1018 
1027 
1040 #endif
1041 
1067  bool SaveAs(const char* file_path, uint32 save_flags = PDFDoc::e_SaveFlagNormal);
1068 
1095  bool SaveAs(const wchar_t* file_path, uint32 save_flags = PDFDoc::e_SaveFlagNormal);
1096 
1130  common::Progressive StartSaveAs(const char* file_path,
1131  uint32 save_flags = PDFDoc::e_SaveFlagNormal,
1132  common::PauseCallback* pause = NULL);
1133 
1167  common::Progressive StartSaveAs(const wchar_t* file_path,
1168  uint32 save_flags = PDFDoc::e_SaveFlagNormal,
1169  common::PauseCallback* pause = NULL);
1170 
1207 #ifndef __EMSCRIPTEN_RENDER__
1208 
1216 
1226 
1234  bool RemoveBookmark(const Bookmark& bookmark);
1235 
1242  bool HasHeaderFooter();
1243 
1253 
1264  void AddHeaderFooter(const HeaderFooter& headerfooter);
1265 
1276  void UpdateHeaderFooter(const HeaderFooter& headerfooter);
1277 
1283  bool RemoveAllHeaderFooters();
1284 #endif
1285 
1290  int GetPageCount() const;
1291 
1305  PDFPage GetPage(int index);
1306 
1315  DisplayMode GetDisplayMode() const;
1316 
1327  void SetDisplayMode(DisplayMode display_mode);
1328 
1335 
1342 
1351 
1358 
1365 
1374 
1392 
1400  void DeleteIndirectObject(uint32 object_number);
1401 
1408  uint32 GetUserPermissions() const;
1409 
1416  bool IsWrapper() const;
1417 
1424  WrapperType GetWrapperType() const;
1425 
1432  WrapperData GetWrapperData() const;
1433 
1440  int64 GetWrapperOffset() const;
1441 
1449 
1467 
1493  bool SaveAsWrapperFile(const wchar_t* file_path, const WrapperData* wrapper_data = NULL,
1494  uint32 user_permissions = 0xFFFFFFFC, const char* owner_password = "");
1495 
1523  common::Progressive StartSaveAsPayloadFile(const wchar_t* file_path, const wchar_t* payload_file_path,
1524  const wchar_t* crypto_filter, const wchar_t* description, float version,
1525  uint32 save_flags = PDFDoc::e_SaveFlagNormal,
1526  common::PauseCallback* pause = NULL);
1538  bool HasForm() const;
1539 
1546 #ifndef __EMSCRIPTEN_RENDER__
1547 
1556 
1570  ReadingBookmark InsertReadingBookmark(int reading_bookmark_index, const WString& title, int dest_page_index);
1571 
1579  bool RemoveReadingBookmark(const ReadingBookmark& reading_bookmark);
1580 
1586  int GetSignatureCount();
1587 
1597 
1605  void RemoveSignature(const foxit::pdf::Signature& signature);
1606 #endif
1607 
1619  PDFPage InsertPage(int index, float width, float height);
1633 
1642  bool RemovePage(int index);
1653  bool RemovePage(const foxit::pdf::PDFPage& page);
1654 
1670  bool MovePageTo(const PDFPage& page, int dest_index);
1671 
1692  bool MovePagesTo(const common::Range& page_range, int dest_index);
1693 
1747  const wchar_t* src_file_path, const String& password,
1748  uint32 flags = PDFDoc::e_ImportFlagNormal, const char* layer_name = "",
1749  const common::Range& page_range = common::Range(),
1750  common::PauseCallback* pause = NULL);
1804  const wchar_t* src_file_path, const WString& password,
1805  uint32 flags = PDFDoc::e_ImportFlagNormal, const char* layer_name = "",
1806  const common::Range& page_range = common::Range(),
1807  common::PauseCallback* pause = NULL);
1858  common::Progressive StartImportPages(int dest_index, const PDFDoc& src_doc,
1859  uint32 flags = PDFDoc::e_ImportFlagNormal, const char* layer_name = "",
1860  const common::Range& page_range = common::Range(),
1861  common::PauseCallback* pause = NULL);
1862 
1885  common::Progressive StartExtractPages(const char* file_path, uint32 options, const common::Range& page_range = common::Range(),
1886  common::PauseCallback* pause = NULL);
1887 
1910  common::Progressive StartExtractPages(const wchar_t* file_path, uint32 options, const common::Range& page_range = common::Range(),
1911  common::PauseCallback* pause = NULL);
1912 
1938 
1955  void InsertDocument(int dest_index, const PDFDoc& src_doc, uint32 options);
1956 
1957 #ifndef __EMSCRIPTEN_RENDER__
1958 
1977  bool ImportFromFDF(const fdf::FDFDoc& fdf_doc, int types = pdf::PDFDoc::e_Forms | pdf::PDFDoc::e_Annots, const common::Range& page_range = common::Range());
1978 
1998  bool ExportToFDF(const fdf::FDFDoc& fdf_doc, int types = pdf::PDFDoc::e_Forms | pdf::PDFDoc::e_Annots, const common::Range& page_range = common::Range());
1999 
2008  bool ExportAnnotToFDF(const annots::Annot& pdf_annot,const fdf::FDFDoc& fdf_doc);
2009 #endif
2010 
2015  String GetHeader() const;
2016 
2022  int GetFileVersion();
2023 
2039  void SetFileVersion(int version);
2040 
2053  bool SetSecurityHandler(const SecurityHandler& handler);
2054 
2065 
2075  bool RemoveSecurity();
2076 
2084  int GetFontCount();
2085 
2094  common::Font GetFont(int index);
2095 
2102 
2114  bool SetOpenAction(actions::Action& action);
2115 
2121  bool RemoveOpenAction();
2122 
2128  bool DoJSOpenAction();
2129 
2135  bool IsPortfolio();
2136 
2151  PageBasicInfo GetPageBasicInfo(int index);
2152 
2153 #ifdef _SUPPORTWEBSDK_
2154  objects::PDFStream* CreateIcon(String imgStream,int width, int height);
2155 #endif
2156 
2163  void CreateDSS();
2164 
2165 };
2166 } // namespace pdf
2167 } // namespace foxit
2168 #endif // FS_PDFDOC_H_
2169 
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:497
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:424
Definition: fs_pdfobject.h:385
int version
Wrapper version.
Definition: fs_pdfdoc.h:128
If set, form fields are to imported from or exported to FDF/XFDF document.
Definition: fs_pdfdoc.h:574
~PDFDoc()
Destructor.
int GetReadingBookmarkCount()
Get the count of reading bookmarks.
bool RemoveBookmark(const Bookmark &bookmark)
Remove a specified bookmark.
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:204
If set, annotations (except link annotations) are to imported from or exported to FDF/XFDF document.
Definition: fs_pdfdoc.h:576
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:1160
File writing interface.
Definition: fx_stream.h:449
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).
ErrorCode Load(const String &password="")
Load current document content by using a specified password.
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:219
Save document normally, without using any special flag. This can only be used alone.
Definition: fs_pdfdoc.h:458
Extract PDF contents. (Bit 5 in permission value)
Definition: fs_pdfdoc.h:418
float version
The version number of the cryptographic filter used to encrypt the encrypted payload referenced by th...
Definition: fs_pdfdoc.h:215
Assemble PDF document. (Bit 11 in permission value)
Definition: fs_pdfdoc.h:443
Unknown rotation.
Definition: fs_common.h:285
Encryption type: password, which is the standard encryption.
Definition: fs_pdfdoc.h:381
Header file for header-footer related definitions and classes.
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:171
objects::PDFDictionary * GetTrailer() const
Get the trailer dictionary.
WrapperType
Enumeration for wrapper type.
Definition: fs_pdfdoc.h:586
Modify PDF contents. (Bit 4 in permission value)
Definition: fs_pdfdoc.h:412
SecurityHandler GetSecurityHandler()
Get current PDF security handler of current document.
bool SetOpenAction(actions::Action &action)
Set the action to be performed when the document is opened.
A user password is used in PDF document.
Definition: fs_pdfdoc.h:365
WString description
Description for payload file to show applications or confront users prompt information.
Definition: fs_pdfdoc.h:223
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:246
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.
WString crypto_filter
The name of the cryptographic filter used to encrypt the encrypted payload document.
Definition: fs_pdfdoc.h:217
Header file for file operation related definitions and functions.
File reading interface.
Definition: fx_stream.h:555
void UpdateHeaderFooter(const HeaderFooter &headerfooter)
Update header-footer.
Import pages with layers.
Definition: fs_pdfdoc.h:501
If set, that means structure tree will be extracted as well.
Definition: fs_pdfdoc.h:519
objects::PDFDictionary * GetCatalog() const
Get the catalog dictionary.
Encryption type: customized encryption.
Definition: fs_pdfdoc.h:387
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:136
Save document without original data or unchanged objects.
Definition: fs_pdfdoc.h:472
Save document incrementally.
Definition: fs_pdfdoc.h:465
bool IsWrapper() const
Check whether current document is a wrapper file or not.
CFX_WideString WString
Wide string.
Definition: fs_basictypes.h:221
void SetFileVersion(int version)
Set the PDF file version which will be stored in PDF header section of the saved PDF file.
int GetFileVersion()
Get PDF file version stored in PDF header section.
float height
Page height.
Definition: fs_pdfdoc.h:291
No password is used in PDF document.
Definition: fs_pdfdoc.h:363
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:194
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:530
Print PDF document with higher qualities. (Bit 12 in permission value)
Definition: fs_pdfdoc.h:449
Definition: fs_pdfdoc.h:140
Definition: fs_pdfdoc.h:352
Normal document.
Definition: fs_pdfdoc.h:588
Definition: fs_security.h:586
PayLoadData & operator=(const PayLoadData &payload_data)
Assign operator.
Definition: fs_pdfdoc.h:186
ReadingBookmark InsertReadingBookmark(int reading_bookmark_index, const WString &title, int dest_page_index)
Insert a reading bookmark to current PDF document.
bool IsEmpty() const
Check whether current object is empty or not.
bool RemoveAllHeaderFooters()
Remove all header-footers.
int64 file_size
The payload file size.
Definition: fs_pdfdoc.h:221
(Reserved, not supported yet) If set, only link annotations are to imported from or exported to XFDF ...
Definition: fs_pdfdoc.h:578
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:367
ExtractPagesOptions
Enumeration for options used for extracting pages.
Definition: fs_pdfdoc.h:515
Header file for bookmark related definitions and classes.
PDFDoc()
Constructor.
Definition: fs_fdfdoc.h:51
objects::PDFDictionary * GetPagesDict() const
Get the dictionary of "Pages".
Definition: fs_security.h:973
Definition: fs_security.h:137
Import pages without cloning stream objects into memory.
Definition: fs_pdfdoc.h:507
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:523
int GetSignatureCount()
Get the count of signature.
uint64 GetFileSize()
Get file size.
Definition: fs_pdfdoc.h:230
SaveFlags
Enumeration for PDF document saving flags.
Definition: fs_pdfdoc.h:456
ErrorCode LoadW(const WString &password=WString())
Load current document content by using a specified password.
ErrorCode
Enumeration for error code.
Definition: fs_basictypes.h:236
PageBasicInfo(float width, float height, common::Rotation rotation)
Constructor, with parameters.
Definition: fs_pdfdoc.h:240
WString type
Wrapper type to indicate a type of the current wrapper file.
Definition: fs_pdfdoc.h:130
int GetFontCount()
Count all the PDF fonts used in current PDF document.
Import pages normally.
Definition: fs_pdfdoc.h:499
Definition: fs_pdfdoc.h:58
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:550
DisplayMode
Enumeration for display mode which specifies how the document should be displayed when opened.
Definition: fs_pdfdoc.h:548
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:289
EncryptType GetEncryptionType() const
Get the encryption type.
objects::PDFDictionary * GetEncryptDict() const
Get the encrypt dictionary.
Size
Enumeration for page size type.
Definition: fs_pdfpage.h:391
WString file_name
The payload file name.
Definition: fs_pdfdoc.h:219
Definition: fx_basic.h:3737
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:559
Print PDF document with normal mode. (Bit 3 in permission value)
Definition: fs_pdfdoc.h:405
(Reserved, currently, this value is not used.) Encryption type: Foxit connected PDF DRM encryption.
Definition: fs_pdfdoc.h:391
Save document as a linearized file.
Definition: fs_pdfdoc.h:483
When document is opened, document outlines (bookmarks) are visible.
Definition: fs_pdfdoc.h:552
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:359
When document is opened, optional content group panels are visible.
Definition: fs_pdfdoc.h:561
Definition: fs_common.h:465
FX_INT64 int64
Signed 64-bit integer.
Definition: fs_basictypes.h:192
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:517
InsertDocOptions
Enumeration for options used for inserting a PDF document to another.
Definition: fs_pdfdoc.h:538
Disabilities support. (Bit 10 in permission value)
Definition: fs_pdfdoc.h:436
DataType
Enumeration for data type used to decide which object(s) will be imported from or exported to FDF/XFD...
Definition: fs_pdfdoc.h:572
FX_UINT32 uint32
32-bit unsigned integer.
Definition: fs_basictypes.h:198
void SetDisplayMode(DisplayMode display_mode)
Set the display mode.
Save document with removing redundant PDF objects.
Definition: fs_pdfdoc.h:489
bool operator!=(const PDFDoc &other) const
Not equal operator.
Definition: fs_pdfpage.h:313
bool RemoveReadingBookmark(const ReadingBookmark &reading_bookmark)
Remove a reading bookmark from current PDF document.
Encryption type: digital certificate encryption.
Definition: fs_pdfdoc.h:383
void * FS_HANDLE
Handle type.
Definition: fs_basictypes.h:216
WrapperType GetWrapperType() const
Get Wrapper type.
Header file for common definitions and classes.
When document is opened, attachment panels are visible.
Definition: fs_pdfdoc.h:563
ReadingBookmark GetReadingBookmark(int index)
Get a reading bookmark by index.
No encryption pattern.
Definition: fs_pdfdoc.h:379
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:119
The password is invalid.
Definition: fs_pdfdoc.h:361
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
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:134
Header file for PDF object related definitions and classes.
Encryption type: Microsoft RMS encryption.
Definition: fs_pdfdoc.h:389
Definition: fs_basictypes.h:393
If set, that means attachments will be inserted to target document as well.
Definition: fs_pdfdoc.h:540
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:430
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:73
Definition: fs_annot.h:754
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:477
Definition: fs_security.h:56
Definition: fs_common.h:1315
Definition: fs_pdfobject.h:763
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:528
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:156
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:275
Foxit namespace.
Definition: fs_compare.h:27
Definition: fs_pdfobject.h:55
WrapperData & operator=(const WrapperData &wrapper_data)
Assign operator.
Definition: fs_pdfdoc.h:99
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:132
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:521
BYTE STRING CLASS.
Definition: fx_string.h:317
Unknown encryption type.
Definition: fs_pdfdoc.h:377
EncryptType
Enumeration for encryption type.
Definition: fs_pdfdoc.h:375
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:592
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:296
When document is opened, thumbnail images are visible.
Definition: fs_pdfdoc.h:554
void InsertDocument(int dest_index, const PDFDoc &src_doc, uint32 options)
Insert another PDF document to the specified location of current PDF document.
#define NULL
The null-pointer value.
Definition: fx_system.h:767
Definition: fs_signature.h:93
Page size: letter.
Definition: fs_pdfpage.h:393
void RemoveSignature(const foxit::pdf::Signature &signature)
Remove a signature.
PayLoadData()
Constructor.
Definition: fs_pdfdoc.h:143
Encryption type: Foxit DRM encryption.
Definition: fs_pdfdoc.h:385
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:266
PageBasicInfo(const PageBasicInfo &page_info)
Constructor, with another page basic information object.
Definition: fs_pdfdoc.h:255
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
bool RemovePage(int index)
Remove a PDF page by page index.
WrapperData()
Constructor.
Definition: fs_pdfdoc.h:61
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:282
Definition: fs_readingbookmark.h:43
UserPermissions
Enumeration for user access permissions in a PDF document.
Definition: fs_pdfdoc.h:399
WrapperData(const WrapperData &wrapper_data)
Constructor, with another wrapper data object.
Definition: fs_pdfdoc.h:85
Foxit wrapper document.
Definition: fs_pdfdoc.h:590
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.