Foxit PDF SDK
fs_pdfdoc.h
浏览该文件的文档.
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 #include "pdf/fs_bookmark.h"
21 #include "pdf/fs_headerfooter.h"
22 #include "pdf/fs_pdfpage.h"
23 #include "pdf/fs_readingbookmark.h"
25 
31 namespace foxit {
32 namespace fdf {
33 class FDFDoc;
34 } // namespace fdf
35 namespace fld {
36 class FLDDoc;
37 } // namespace fld
38 namespace pdf {
39 // forward declaration
40 namespace actions {
41 class Action;
42 } // namespace actions
43 namespace interform {
44 class Form;
45 } // namespace interform;
46 class ReadingBookmark;
47 class SecurityHandler;
48 class StdEncryptData;
49 class CertificateEncryptData;
50 class DRMEncryptData;
51 class CustomEncryptData;
52 class RMSEncryptData;
53 class PagingSealSignature;
54 class WatermarkTextProperties;
56 class TiledWatermarkSettings FS_FINAL : public Object{
57  public:
63  typedef enum _Flags {
67  e_FlagAsAnnot = 0x0001,
69  e_FlagOnTop = 0x0002,
71  e_FlagNoPrint = 0x0004,
73  e_FlagInvisible = 0x0008
74  } Flags;
75 
91  explicit TiledWatermarkSettings(float row_space, float col_space, float rotation, int opacity ,int scale, uint32 flags)
95  , opacity(opacity)
96  , scale(scale)
97  , flags(flags){}
98 
107  : row_space(2.0)
108  , col_space(2.0)
109  , rotation(0)
110  , opacity(100)
111  , scale(100)
112  , flags(0){}
113 
120  : row_space(settings.row_space)
121  , col_space(settings.col_space)
122  , rotation(settings.rotation)
123  , opacity(settings.opacity)
124  , scale(settings.scale)
125  , flags(settings.flags){}
126 
135  row_space = settings.row_space;
136  col_space = settings.col_space;
137  rotation = settings.rotation;
138  opacity = settings.opacity;
139  scale = settings.scale;
140  flags = settings.flags;
141  return *this;
142  }
143 
161  void Set(float row_space, float col_space, float rotation, int opacity, int scale, uint32 flags) {
162  this->row_space = row_space;
163  this->col_space = col_space;
164  this->rotation = rotation;
165  this->opacity = opacity;
166  this->scale = scale;
167  this->flags = flags;
168  }
169 
171  float row_space;
173  float col_space;
175  float rotation;
180  int opacity;
185  int scale;
186 
195 
196 };
198 class WrapperData FS_FINAL : public Object {
199  public:
202  : version(0) {}
203 
213  WrapperData(int version, const wchar_t* type, const wchar_t* app_id, const wchar_t* uri, const wchar_t* description)
214  : version(version)
215  , type(type)
216  , app_id(app_id)
217  , uri(uri)
219 
225  WrapperData(const WrapperData& wrapper_data)
226  : version(wrapper_data.version)
227  , type(wrapper_data.type)
228  , app_id(wrapper_data.app_id)
229  , uri(wrapper_data.uri)
230  , description(wrapper_data.description) {}
231 
239  WrapperData& operator = (const WrapperData& wrapper_data) {
240  version = wrapper_data.version;
241  type = wrapper_data.type;
242  app_id = wrapper_data.app_id;
243  uri = wrapper_data.uri;
244  description = wrapper_data.description;
245  return *this;
246  }
247 
259  void Set(int version, const wchar_t* type, const wchar_t* app_id, const wchar_t* uri, const wchar_t* description) {
260  this->version = version;
261  this->type = type;
262  this->app_id = app_id;
263  this->uri = uri;
264  this->description = description;
265  }
266 
268  int version;
277 };
278 
280 class PayLoadData FS_FINAL {
281  public:
284  : version(0.0f)
285  , file_size (0){}
286 
296  PayLoadData(float version, const wchar_t* crypto_filter, const wchar_t* file_name,
298  const wchar_t* description)
299  : version(version)
304  {}
305 
311  PayLoadData(const PayLoadData& payload_data)
312  : version(payload_data.version)
313  , crypto_filter(payload_data.crypto_filter)
314  , file_name(payload_data.file_name)
315  , file_size(payload_data.file_size)
316  , description(payload_data.description)
317  {}
318 
326  PayLoadData& operator=(const PayLoadData& payload_data) {
327  version = payload_data.version;
328  crypto_filter = payload_data.crypto_filter;
329  description = payload_data.description;
330  file_name = payload_data.file_name;
331  file_size = payload_data.file_size;
332  return *this;
333  }
334 
344  void Set(float version, const wchar_t* crypto_filter, const wchar_t* file_name,
346  const wchar_t* description) {
347  this->version = version;
348  this->crypto_filter = crypto_filter;
349  this->file_name = file_name;
350  this->file_size = file_size;
351  this->description = description;
352  }
353 
355  float version;
364 };
365 
367 class HiddenInfoSettingData FS_FINAL: public Object{
368  public:
373  : enable_remove_metadata(true)
375  , enable_remove_bookmark(true)
377  , enable_remove_comment(true)
381  , enable_remove_content(true)
382  , enable_remove_link(true)
383  , enable_remove_overlaping(true) { }
384 
404  return *this;
405  }
406 
413 
420 
427 
434 
441 
448 
455 
462 
469 
476 
483 };
484 
489 class PageBasicInfo FS_FINAL : public Object {
490  public:
500  : width(width)
501  , height(height)
502  , rotation(rotation) {}
503 
506  : width(0)
507  , height(0)
508  , rotation(CommonDefines::e_RotationUnknown) {}
514  PageBasicInfo(const PageBasicInfo& page_info)
515  : width(page_info.width)
516  , height(page_info.height)
517  , rotation(page_info.rotation) {}
526  width = page_info.width;
527  height = page_info.height;
528  rotation = page_info.rotation;
529  return *this;
530  }
541  void Set(float width, float height, common::Rotation rotation) {
542  this->width = width;
543  this->height = height;
544  this->rotation = rotation;
545  }
546 
548  float width;
549 
551  float height;
557 };
558 
561 
562 
566 class EmbeddedFontData FS_FINAL : public Object {
567  public:
570 
577  : nonstandard_font_name_array(other.nonstandard_font_name_array)
578  , standard_font_name_array(other.standard_font_name_array) {}
579 
588  nonstandard_font_name_array = other.nonstandard_font_name_array;
589  standard_font_name_array = other.standard_font_name_array;
590  return *this;
591  }
592 
597 };
598 
600 class TableOfContentsConfig FS_FINAL : public Object{
601  public:
612  : title(title)
616 
619  : title(L"")
621  , is_show_serial_number(false)
622  , include_toc_pages(false){}
623 
632  this->title = other.title;
635  this->include_toc_pages = other.include_toc_pages;
636  return *this;
637  }
638 
646  bool operator == (const TableOfContentsConfig& other) const {
647  if (this->title == other.title && this->is_show_serial_number == other.is_show_serial_number && this->include_toc_pages == other.include_toc_pages) {
649  return false;
650  for (int i = 0; i < this->bookmark_level_array.GetSize(); i++) {
651  if (this->bookmark_level_array.GetAt(i) != other.bookmark_level_array.GetAt(i))
652  return false;
653  }
654  return true;
655  }
656  return false;
657  }
658 
666  bool operator != (const TableOfContentsConfig& other) const {
667  if (this->title != other.title || this->is_show_serial_number != other.is_show_serial_number || this->include_toc_pages != other.include_toc_pages)
668  return true;
670  return true;
671  for (int i = 0; i < this->bookmark_level_array.GetSize(); i++) {
672  if (this->bookmark_level_array.GetAt(i) != other.bookmark_level_array.GetAt(i))
673  return true;
674  }
675  return false;
676  }
677 
690  this->title = title;
691  this->bookmark_level_array = bookmark_level_array;
692  this->is_show_serial_number = is_show_serial_number;
693  this->include_toc_pages = include_toc_pages;
694  }
695 
698 
706 
714 };
715 
768 class PDFDoc FS_FINAL : public Base {
769  public:
775  typedef enum _PasswordType {
784  } PasswordType;
785 
791  typedef enum _EncryptType {
808  } EncryptType;
809 
815  typedef enum _UserPermissions {
821  e_PermPrint = 0x0004,
828  e_PermModify = 0x0008,
834  e_PermExtract = 0x0010,
840  e_PermAnnotForm = 0x0020,
846  e_PermFillForm = 0x0100,
859  e_PermAssemble = 0x0400,
866  } UserPermissions;
867 
872  typedef enum _SaveFlags {
921  } SaveFlags;
922 
928  typedef enum _ImportPageFlags {
939  } ImportPageFlags;
940 
946  typedef enum _ExtractPagesOptions {
967 
973  typedef enum _InsertDocOptions {
979 
985  typedef enum _DisplayMode {
1000  } DisplayMode;
1001 
1007  typedef enum _DataType {
1009  e_Forms = 0x0001,
1011  e_Annots = 0x0002,
1013  e_Links = 0x0004
1014  } DataType;
1015 
1021  typedef enum _WrapperType {
1028  } WrapperType;
1029 
1030 
1037  PDFDoc();
1038 
1047  explicit PDFDoc(const char* path);
1048 
1057  explicit PDFDoc(const wchar_t* path);
1058 
1069  explicit PDFDoc(const void* buffer, size_t size);
1070 
1085  explicit PDFDoc(common::file::ReaderCallback* file_read, bool is_async = false);
1086 
1095  explicit PDFDoc(const foxit::fld::FLDDoc& doc);
1096 
1097  // 强烈建议用户不要使用此方法;否则可能发生未知情况。
1098  explicit PDFDoc(FS_HANDLE handle);
1100  ~PDFDoc();
1101 
1107  PDFDoc(const PDFDoc& other);
1108 
1116  PDFDoc& operator = (const PDFDoc& other);
1124  bool operator == (const PDFDoc& other) const;
1125 
1133  bool operator != (const PDFDoc& other) const;
1134 
1142  bool IsEmpty() const;
1143 
1149  uint64 GetFileSize();
1150 
1168  bool IsLinearized() const;
1169 
1178  bool IsTaggedPDF() const;
1179 
1200  ErrorCode Load(const String& password = "");
1201 
1222  ErrorCode LoadW(const WString& password = WString());
1223 
1255  common::Progressive StartLoad(const String& password = "", bool is_cache_stream = true,
1256  common::PauseCallback* pause = NULL);
1288  common::Progressive StartLoadW(const WString& password = WString(), bool is_cache_stream = true,
1289  common::PauseCallback* pause = NULL);
1290 
1300  int GetFirstAvailPageIndex() const;
1301 
1312  bool IsXFA() const;
1313 
1320  bool IsEncrypted() const;
1321 
1327  void ClearRenderCache();
1328 
1341  PasswordType GetPasswordType() const;
1342 
1350 
1364  PasswordType CheckPassword(const String& password);
1365 
1379  PasswordType CheckPassword(const foxit::WString& password);
1380 
1389  bool IsUserPassword(const String& password);
1390 
1399  bool IsUserPassword(const foxit::WString& password);
1400 
1409  bool IsOwnerPassword(const String& password);
1410 
1419  bool IsOwnerPassword(const foxit::WString& password);
1420 
1430  String GetUserPassword(const String& owner_password);
1431 
1440 
1449 
1458 
1467 
1479 
1504  bool SaveAs(const char* file_path, uint32 save_flags = PDFDoc::e_SaveFlagNormal);
1505 
1530  bool SaveAs(const wchar_t* file_path, uint32 save_flags = PDFDoc::e_SaveFlagNormal);
1531 
1562  common::Progressive StartSaveAs(const char* file_path,
1563  uint32 save_flags = PDFDoc::e_SaveFlagNormal,
1564  common::PauseCallback* pause = NULL);
1565 
1596  common::Progressive StartSaveAs(const wchar_t* file_path,
1597  uint32 save_flags = PDFDoc::e_SaveFlagNormal,
1598  common::PauseCallback* pause = NULL);
1599 
1633 
1642 
1651 
1658  int GetBookmarkLevelDepth();
1659 
1667  bool RemoveBookmark(const Bookmark& bookmark);
1668 
1675  bool HasLayer() const;
1676 
1683  bool HasHeaderFooter();
1684 
1693  HeaderFooter GetEditableHeaderFooter();
1694 
1705  void AddHeaderFooter(const HeaderFooter& headerfooter);
1706 
1717  void UpdateHeaderFooter(const HeaderFooter& headerfooter);
1718 
1724  bool RemoveAllHeaderFooters();
1725 
1731  int GetPageCount() const;
1732 
1746  PDFPage GetPage(int index);
1747 
1756  DisplayMode GetDisplayMode() const;
1757 
1768  void SetDisplayMode(DisplayMode display_mode);
1769 
1777 
1785 
1795 
1803 
1811 
1820 
1838 
1846  void DeleteIndirectObject(uint32 object_number);
1847 
1854  uint32 GetUserPermissions() const;
1855 
1862  bool IsWrapper() const;
1863 
1870  WrapperType GetWrapperType() const;
1871 
1878  WrapperData GetWrapperData() const;
1879 
1886  int64 GetWrapperOffset() const;
1887 
1895 
1912 
1937  bool SaveAsWrapperFile(const wchar_t* file_path, const WrapperData* wrapper_data = NULL,
1938  uint32 user_permissions = 0xFFFFFFFC, const char* owner_password = "");
1939 
1965  common::Progressive StartSaveAsPayloadFile(const wchar_t* file_path, const wchar_t* payload_file_path,
1966  const wchar_t* crypto_filter, const wchar_t* description, float version,
1967  uint32 save_flags = PDFDoc::e_SaveFlagNormal,
1968  common::PauseCallback* pause = NULL);
1980  bool HasForm() const;
1981 
1988 
1998 
2011  ReadingBookmark InsertReadingBookmark(int reading_bookmark_index, const WString& title, int dest_page_index);
2012 
2020  bool RemoveReadingBookmark(const ReadingBookmark& reading_bookmark);
2021 
2027  int GetSignatureCount();
2028 
2038 
2048  void RemoveSignature(const foxit::pdf::Signature& signature);
2049 
2062  PDFPage InsertPage(int index, float width, float height);
2076 
2092  PDFPage AddPageFromTemplate(const wchar_t* template_name);
2093 
2108  bool HidePageTemplate(const wchar_t* template_name);
2109 
2118  bool RemovePage(int index);
2119 
2129  bool RemovePage(const foxit::pdf::PDFPage& page);
2130 
2152  bool MovePageTo(const PDFPage& page, int dest_index);
2153 
2177  bool MovePagesTo(const common::Range& page_range, int dest_index);
2178 
2228  const wchar_t* src_file_path, const String& password,
2229  uint32 flags = PDFDoc::e_ImportFlagNormal, const char* layer_name = "",
2230  const common::Range& page_range = common::Range(),
2231  common::PauseCallback* pause = NULL);
2280  const wchar_t* src_file_path, const WString& password,
2281  uint32 flags = PDFDoc::e_ImportFlagNormal, const char* layer_name = "",
2282  const common::Range& page_range = common::Range(),
2283  common::PauseCallback* pause = NULL);
2330  common::Progressive StartImportPages(int dest_index, const PDFDoc& src_doc,
2331  uint32 flags = PDFDoc::e_ImportFlagNormal, const char* layer_name = "",
2332  const common::Range& page_range = common::Range(),
2333  common::PauseCallback* pause = NULL);
2334 
2355  common::Progressive StartExtractPages(const char* file_path, uint32 options, const common::Range& page_range = common::Range(),
2356  common::PauseCallback* pause = NULL);
2357 
2377  common::Progressive StartExtractPages(const wchar_t* file_path, uint32 options, const common::Range& page_range = common::Range(),
2378  common::PauseCallback* pause = NULL);
2379 
2402 
2418  void InsertDocument(int dest_index, const PDFDoc& src_doc, uint32 options);
2419 
2436  void InsertDocument(int dest_index, const PDFDoc& src_doc, uint32 options, const wchar_t* bookmark_title);
2437 
2446  void Sanitize();
2447 
2458  void RemoveHiddenInfo(const HiddenInfoSettingData& hidden_data_setting);
2459 
2460 #ifndef __EMSCRIPTEN_RENDER__
2461 
2482  bool ImportFromFDF(const fdf::FDFDoc& fdf_doc, int types = pdf::PDFDoc::e_Forms | pdf::PDFDoc::e_Annots, const common::Range& page_range = common::Range());
2483 
2502  bool ExportToFDF(const fdf::FDFDoc& fdf_doc, int types = pdf::PDFDoc::e_Forms | pdf::PDFDoc::e_Annots, const common::Range& page_range = common::Range());
2503 
2512  bool ExportAnnotToFDF(const annots::Annot& pdf_annot,const fdf::FDFDoc& fdf_doc);
2513 
2524  bool ExportFormFieldsToFDF(const pdf::interform::FieldArray& field_array, bool is_include, const fdf::FDFDoc& fdf_doc);
2525 #endif
2526 
2531  String GetHeader() const;
2532 
2538  int GetFileVersion();
2539 
2554  void SetFileVersion(int version);
2555 
2567  bool SetSecurityHandler(const SecurityHandler& handler);
2568 
2578 
2587  bool RemoveSecurity();
2588 
2596  int GetFontCount();
2597 
2606  common::Font GetFont(int index);
2607 
2614 
2626  bool SetOpenAction(actions::Action& action);
2627 
2633  bool RemoveOpenAction();
2634 
2640  bool DoJSOpenAction();
2641 
2647  bool IsPortfolio();
2648 
2663  PageBasicInfo GetPageBasicInfo(int index);
2664 
2677 
2686 #ifdef _SUPPORTWEBSDK_
2687  objects::PDFStream* CreateIcon(String imgStream,int width, int height);
2688 #endif
2689 
2696  void CreateDSS();
2697 
2711  void AddTableOfContents(const wchar_t* title, Int32Array bookmark_level_array);
2712 
2722  void AddTableOfContents(const TableOfContentsConfig& table_of_contents_config);
2723 
2738  void SetCacheFile(foxit::common::file::StreamCallback* file_stream, bool is_own_file_stream);
2739 
2754 
2769  common::Progressive StartRecognizeForm(bool is_set_tool_tips, common::PauseCallback* pause = NULL);
2770 
2779  WString GetPageText(int page_index) const;
2780 
2801  PagingSealSignature AddPagingSealSignature(const common::Range& page_range, float width, float height, bool to_check_permission = true);
2802 
2847  common::Progressive StartAddTiledWatermark(const wchar_t* text, const TiledWatermarkSettings& settings, const WatermarkTextProperties& properties, const common::Range& page_range, common::PauseCallback* pause = NULL);
2873  common::Progressive StartAddTiledWatermark(const wchar_t* src_img_file_path, const TiledWatermarkSettings& settings, const common::Range& page_range, common::PauseCallback* pause = NULL);
2874 
2902 
2928 
2936  annots::AnnotArray GetAnnotsByIdArray(const WStringArray& unique_id_arr);
2937 
2943  void RemoveStructTree();
2944 
2945 };
2946 } // namespace pdf
2947 } // namespace foxit
2948 #endif // FS_PDFDOC_H_
2949 
bool include_toc_pages
true 表示在目录的页码计算中包含目录页面, false 表示在目录的页码计算中排除目录页面。
Definition: fs_pdfdoc.h:713
PageBasicInfo GetPageBasicInfo(int index)
通过索引获取指定页面的基本信息。
ImportPageFlags
导入页面使用的标志枚举。
Definition: fs_pdfdoc.h:928
TiledWatermarkSettings(const TiledWatermarkSettings &settings)
使用另一个平铺水印设置对象的构造函数。
Definition: fs_pdfdoc.h:119
bool enable_remove_form_fields
指示是否删除交互式表单字段的布尔值。
Definition: fs_pdfdoc.h:447
common::Progressive StartRecognizeForm(common::PauseCallback *pause=0)
开始识别表单域。
bool SaveAsWrapperFile(const wchar_t *file_path, const WrapperData *wrapper_data=0, uint32 user_permissions=0xFFFFFFFC, const char *owner_password="")
将当前PDF文档另存为包装文件。
Bookmark GetRootBookmark()
获取书签根节点。
操作文本注释和填写交互式表单字段。(权限值中的第6位)
Definition: fs_pdfdoc.h:840
Flags
平铺水印设置标志的枚举。
Definition: fs_pdfdoc.h:63
Definition: fs_pdfobject.h:448
int version
包装器版本。
Definition: fs_pdfdoc.h:268
如果设置,表单字段将从FDF/XFDF文档导入或导出到FDF/XFDF文档。
Definition: fs_pdfdoc.h:1009
~PDFDoc()
析构函数。
int GetReadingBookmarkCount()
获取阅读书签的数量。
bool RemoveBookmark(const Bookmark &bookmark)
删除指定的书签。
WStringArray standard_font_name_array
标准字体的嵌入字体名称数组,如果要取消嵌入可以被系统字体替换。
Definition: fs_pdfdoc.h:596
void Set(float version, const wchar_t *crypto_filter, const wchar_t *file_name, int64 file_size, const wchar_t *description)
设置值。
Definition: fs_pdfdoc.h:344
如果设置,注释(链接注释除外)将从FDF/XFDF文档导入或导出到FDF/XFDF文档。
Definition: fs_pdfdoc.h:1011
Bookmark CreateRootBookmark()
创建新的书签根节点。
bool SetSecurityHandler(const SecurityHandler &handler)
为加密设置PDF安全处理程序,如标准加密(密码)、 证书加密等。
common::Progressive StartSaveAs(const char *file_path, uint32 save_flags=PDFDoc::e_SaveFlagNormal, common::PauseCallback *pause=0)
开始将当前PDF文档另存为另一个PDF文件。
bool operator==(const PDFDoc &other) const
相等操作符。
TiledWatermarkSettings()
构造函数并设置默认值。
Definition: fs_pdfdoc.h:106
Definition: fs_common.h:1364
文件写入接口。
Definition: fx_stream.h:470
int GetFirstAvailPageIndex() const
获取第一个可用页面的页面索引。
void ClearRenderCache()
清除渲染过程中使用的缓存,以减少内存使用。
bool HasForm() const
检查当前PDF文档是否有交互式表单(也称为AcroForm)。
bool enable_remove_fileattachment
指示是否删除嵌入文件附件的布尔值。
Definition: fs_pdfdoc.h:419
StdEncryptData GetStdEncryptData() const
获取标准加密(称为密码加密)的加密数据。
TableOfContentsConfig(const wchar_t *title, Int32Array bookmark_level_array, bool is_show_serial_number, bool include_toc_pages)
带参数的构造函数。
Definition: fs_pdfdoc.h:611
如果设置,不显示水印。
Definition: fs_pdfdoc.h:73
bool enable_remove_link
指示是否删除超链接注释的布尔值。
Definition: fs_pdfdoc.h:475
ErrorCode Load(const String &password="")
使用指定密码加载当前文档内容。
Definition: fs_pdfdoc.h:56
bool is_show_serial_number
true 表示在目录中显示序列号,false 表示不显示序列号。
Definition: fs_pdfdoc.h:708
RMSEncryptData GetRMSEncryptData() const
获取RMS加密的加密数据。
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)
开始将当前PDF文档另存为带有载荷文档的包装文档(在PDF 2.0中定义)。
CFX_Object Object
对象类型。
Definition: fs_basictypes.h:220
正常保存文档,不使用任何特殊标志。
Definition: fs_pdfdoc.h:878
提取PDF内容。(权限值中的第5位)
Definition: fs_pdfdoc.h:834
Definition: fs_annot.h:1586
bool HidePageTemplate(const wchar_t *template_name)
隐藏命名页面。
float version
用于加密此字典引用的加密有效载荷的加密过滤器的版本号。
Definition: fs_pdfdoc.h:355
组装PDF文档。(权限值中的第11位)
Definition: fs_pdfdoc.h:859
bool enable_remove_metadata
指示是否删除文档元数据的布尔值。
Definition: fs_pdfdoc.h:412
未知旋转。
Definition: fs_common.h:67
加密类型:密码,这是标准加密。
Definition: fs_pdfdoc.h:797
页眉页脚相关定义和类的头文件。
bool operator==(const TableOfContentsConfig &other) const
相等操作符。
Definition: fs_pdfdoc.h:646
bool ExportAnnotToFDF(const annots::Annot &pdf_annot, const fdf::FDFDoc &fdf_doc)
将指定的注释导出到FDF/XFDF文档。
PayLoadData(const PayLoadData &payload_data)
使用另一个有效载荷数据对象的构造函数。
Definition: fs_pdfdoc.h:311
objects::PDFDictionary * GetTrailer() const
获取拖车字典。
WrapperType
包装类型的枚举。
Definition: fs_pdfdoc.h:1021
如果设置,水印在插入到PDF页面时将成为页面内容的一部分。
Definition: fs_pdfdoc.h:65
修改PDF内容。(权限值中的第4位)
Definition: fs_pdfdoc.h:828
PagingSealSignature AddPagingSealSignature(const common::Range &page_range, float width, float height, bool to_check_permission=true)
按页面范围向文档添加骑缝章签名。
SecurityHandler GetSecurityHandler()
获取当前文档的当前PDF安全处理程序。
Int32Array bookmark_level_array
书签级别数组,用于指定用于生成"目录"的书签。 对于输入数组中的每个元素,有效范围:从1到(depth)。 depth 由函数 PDFDoc::GetBookmarkLevelDepth 返回。 如果输...
Definition: fs_pdfdoc.h:705
float row_space
平铺水印多行的行间距。单位为英寸,不能是负数。
Definition: fs_pdfdoc.h:171
bool enable_remove_hidden_text
指示是否删除隐藏文本的布尔值。
Definition: fs_pdfdoc.h:454
Definition: fs_basictypes.h:227
bool SetOpenAction(actions::Action &action)
设置文档打开时要执行的动作。
Definition: fs_pdfdoc.h:566
TiledWatermarkSettings(float row_space, float col_space, float rotation, int opacity, int scale, uint32 flags)
带参数的构造函数。
Definition: fs_pdfdoc.h:91
PDF文档中使用用户密码。
Definition: fs_pdfdoc.h:781
WString description
有效载荷文件的描述,用于向应用程序显示或向用户提供提示信息。
Definition: fs_pdfdoc.h:363
保存文档时不更新元数据"ModDate"和"CreationDate"。
Definition: fs_pdfdoc.h:920
bool ImportFromFDF(const fdf::FDFDoc &fdf_doc, int types=pdf::PDFDoc::e_Forms|pdf::PDFDoc::e_Annots, const common::Range &page_range=common::Range())
从FDF/XFDF文档导入表单字段和注释。
annots::AnnotArray GetAnnotsByIdArray(const WStringArray &unique_id_arr)
通过唯一ID数组返回注释数组。
PageBasicInfo()
构造函数。
Definition: fs_pdfdoc.h:505
common::Progressive StartLoad(const String &password="", bool is_cache_stream=true, common::PauseCallback *pause=0)
开始使用指定密码加载当前文档内容。
int64 GetWrapperOffset() const
如果当前文档的包装类型是 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)
开始从另一个PDF文档(通过PDF文档对象)导入页面。
bool MovePagesTo(const common::Range &page_range, int dest_index)
将一个或多个页面(按索引指定)移动到新位置。
int GetSize() const
获取数组中元素的数量。
Definition: fx_basic.h:1341
WString crypto_filter
用于加密加密有效载荷文档的加密过滤器名称。
Definition: fs_pdfdoc.h:357
文件操作相关定义和函数的头文件。
bool operator !=(const TableOfContentsConfig &other) const
不等操作符。
Definition: fs_pdfdoc.h:666
文件读取接口。
Definition: fx_stream.h:587
void UpdateHeaderFooter(const HeaderFooter &headerfooter)
更新页眉页脚。
导入页面时包含图层。
Definition: fs_pdfdoc.h:932
如果设置,表示结构树也将被提取。
Definition: fs_pdfdoc.h:950
objects::PDFDictionary * GetCatalog() const
获取目录字典。
加密类型:自定义加密。
Definition: fs_pdfdoc.h:803
宽字符串类
Definition: fx_string.h:1457
bool IsLinearized() const
检查当前PDF文档是否为线性化文件。
WString description
包装器文件的描述,用于向应用程序显示或向用户提供提示信息。
Definition: fs_pdfdoc.h:276
保存文档时不包含原始数据或未更改的对象。
Definition: fs_pdfdoc.h:894
增量保存文档。
Definition: fs_pdfdoc.h:886
bool IsWrapper() const
检查当前文档是否为包装文件。
CFX_WideString WString
宽字符串。
Definition: fs_basictypes.h:222
void SetFileVersion(int version)
设置将存储在保存的PDF文件的PDF头部部分中的PDF文件版本。
bool ExportFormFieldsToFDF(const pdf::interform::FieldArray &field_array, bool is_include, const fdf::FDFDoc &fdf_doc)
将指定的表单字段导出到FDF/XFDF文档。
int GetFileVersion()
获取存储在PDF头部部分的PDF文件版本。
float height
页面高度(单位为1/72英寸)。
Definition: fs_pdfdoc.h:551
PDF文档中不使用密码。
Definition: fs_pdfdoc.h:779
PasswordType CheckPassword(const String &password)
检查指定密码的类型。
PasswordType GetPasswordType() const
获取当前使用的密码类型。
FX_UINT64 uint64
无符号 64 位整数。
Definition: fs_basictypes.h:191
uint32 GetUserPermissions() const
获取用户访问权限。
HeaderFooter GetEditableHeaderFooter()
获取可编辑的页眉页脚对象。
如果设置,表示附件文件也将被提取。
Definition: fs_pdfdoc.h:961
以更高质量打印PDF文档。(权限值中的第12位)
Definition: fs_pdfdoc.h:865
Definition: fs_pdfdoc.h:280
Definition: fs_pdfdoc.h:768
用于从PDF文档中删除隐藏或敏感数据的配置设置。
Definition: fs_pdfdoc.h:367
普通文档。
Definition: fs_pdfdoc.h:1023
Definition: fs_security.h:542
PayLoadData & operator=(const PayLoadData &payload_data)
赋值操作符。
Definition: fs_pdfdoc.h:326
ReadingBookmark InsertReadingBookmark(int reading_bookmark_index, const WString &title, int dest_page_index)
向当前PDF文档插入阅读书签。
int GetBookmarkLevelDepth()
获取书签层级深度。
bool IsEmpty() const
检查当前对象是否为空。
bool RemoveAllHeaderFooters()
删除所有页眉页脚。
int64 file_size
有效载荷文件大小。
Definition: fs_pdfdoc.h:361
(保留,尚未支持)如果设置,只有链接注释将从XFDF文档导入或导出到XFDF文档。
Definition: fs_pdfdoc.h:1013
bool ExportToFDF(const fdf::FDFDoc &fdf_doc, int types=pdf::PDFDoc::e_Forms|pdf::PDFDoc::e_Annots, const common::Range &page_range=common::Range())
将表单字段和注释导出到FDF/XFDF文档。
bool IsOwnerPassword(const String &password)
检查输入密码是否为当前PDF文档的所有者密码。
Definition: fs_watermark.h:349
PDF文档中使用所有者密码。
Definition: fs_pdfdoc.h:783
如果设置,在其他页面内容之上显示水印。
Definition: fs_pdfdoc.h:69
ExtractPagesOptions
提取页面使用的选项枚举。
Definition: fs_pdfdoc.h:946
书签相关定义和类的头文件。
PDFDoc()
构造函数。
Definition: fs_fdfdoc.h:51
objects::PDFDictionary * GetPagesDict() const
获取"Pages"的字典。
Definition: fs_security.h:879
EmbeddedFontData(const EmbeddedFontData &other)
使用另一个嵌入字体数据对象的构造函数。
Definition: fs_pdfdoc.h:576
Definition: fs_security.h:137
导入页面时不将流对象克隆到内存中。
Definition: fs_pdfdoc.h:938
Definition: fs_pdfdoc.h:560
common::Progressive StartGetPayloadFile(foxit::common::file::WriterCallback *payload_file, common::PauseCallback *pause=0)
开始获取载荷文件。
void RemoveStructTree()
移除当前文档中的结构树。
阅读书签相关定义和类的头文件。
bool DoJSOpenAction()
文档打开时执行JavaScript动作。
如果设置,表示OCProperties也将被提取。
Definition: fs_pdfdoc.h:954
int GetSignatureCount()
获取签名数量。
uint64 GetFileSize()
获取文件大小。
WStringArray nonstandard_font_name_array
如果要取消嵌入时无法被系统字体替换的嵌入字体的字体名称数组。
Definition: fs_pdfdoc.h:594
Definition: fs_signature.h:2035
Definition: fs_pdfdoc.h:489
SaveFlags
PDF文档保存标志的枚举。
Definition: fs_pdfdoc.h:872
ErrorCode LoadW(const WString &password=WString())
使用指定密码加载当前文档内容。
ErrorCode
错误代码的枚举。
Definition: fs_basictypes.h:236
PageBasicInfo(float width, float height, common::Rotation rotation)
带参数的构造函数。
Definition: fs_pdfdoc.h:499
WString type
包装器类型,用于指示当前包装器文件的类型。
Definition: fs_pdfdoc.h:270
int scale
图像或页面的缩放百分比。有效范围:从1到100。 100表示图像或页面以其原始大小显示。默认值为100。
Definition: fs_pdfdoc.h:185
EmbeddedFontData & operator=(const EmbeddedFontData &other)
赋值操作符。
Definition: fs_pdfdoc.h:587
EmbeddedFontData()
构造函数。
Definition: fs_pdfdoc.h:569
void Sanitize()
使用默认设置从当前PDF文档中删除所有隐藏或潜在敏感信息。
int GetFontCount()
计算当前PDF文档中使用的所有PDF字体。
common::Progressive StartAddTiledWatermark(const wchar_t *text, const TiledWatermarkSettings &settings, const WatermarkTextProperties &properties, const common::Range &page_range, common::PauseCallback *pause=0)
添加文本平铺水印到页面中。
正常导入页面。
Definition: fs_pdfdoc.h:930
Definition: fs_pdfdoc.h:198
文件流接口,用于读取和写入。
Definition: fx_stream.h:692
bool RemoveOpenAction()
移除文档打开时要执行的动作。
当文档打开时,文档大纲和缩略图都不可见。
Definition: fs_pdfdoc.h:987
DisplayMode
显示模式的枚举,指定文档打开时应如何显示。
Definition: fs_pdfdoc.h:985
bool IsUserPassword(const String &password)
检查输入密码是否为当前PDF文档的用户密码。
float width
页面宽度(单位为1/72英寸)。
Definition: fs_pdfdoc.h:548
TiledWatermarkSettings & operator=(const TiledWatermarkSettings &settings)
赋值操作符。
Definition: fs_pdfdoc.h:134
void Set(const wchar_t *title, Int32Array bookmark_level_array, bool is_show_serial_number, bool include_toc_pages)
设置值。
Definition: fs_pdfdoc.h:689
EncryptType GetEncryptionType() const
获取加密类型。
bool HasLayer() const
检查当前PDF文档是否有图层(在《PDF参考手册1.7》中称为"可选内容组")。
objects::PDFDictionary * GetEncryptDict() const
获取加密字典。
common::Progressive StartEmbedAllFonts(common::PauseCallback *pause=0)
开始转换所有未嵌入字体为内嵌字体。
WString GetPageText(int page_index) const
以显示顺序获取指定页面文本。
Size
页面尺寸类型枚举。
Definition: fs_pdfpage.h:495
WString file_name
有效载荷文件名。
Definition: fs_pdfdoc.h:359
Definition: fx_basic.h:3737
如果设置,表示签名也将被提取。必须与 PDFDoc:e_ExtractPagesOptionAnnotation 结合使用。
Definition: fs_pdfdoc.h:965
objects::PDFDictionary * GetInfo() const
获取信息字典。
bool IsXFA() const
检查当前PDF文档是否为XFA文档。
如果设置,不打印水印。
Definition: fs_pdfdoc.h:71
float rotation
旋转角度(度)。
Definition: fs_pdfdoc.h:175
当文档打开时,全屏模式,没有菜单栏、窗口控件或任何其他窗口可见。
Definition: fs_pdfdoc.h:995
以普通模式打印PDF文档。(权限值中的第3位)
Definition: fs_pdfdoc.h:821
PageBasicInfoArray GetAllPageBasicInfo()
获取所有页面的基本信息。
(保留,目前不使用此值。)加密类型:福昕连接PDF DRM加密。
Definition: fs_pdfdoc.h:807
将文档保存为线性化文件。
Definition: fs_pdfdoc.h:906
当文档打开时,文档大纲(书签)可见。
Definition: fs_pdfdoc.h:989
bool IsPortfolio()
检查当前PDF文档是否为文档集文件。
PasswordType
PDF文档中当前使用的密码类型的枚举。
Definition: fs_pdfdoc.h:775
当文档打开时,可选内容组面板可见。
Definition: fs_pdfdoc.h:997
Definition: fs_common.h:373
PDFPage AddPageFromTemplate(const wchar_t *template_name)
从命名模板添加新的PDF页面到文档。
FX_INT64 int64
有符号 64 位整数。
Definition: fs_basictypes.h:189
const TYPE GetAt(int nIndex) const
此方法检索由索引号指定的元素。
Definition: fx_basic.h:1377
CustomEncryptData GetCustomEncryptData() const
获取自定义加密的加密数据。
如果设置,表示与提取页面相关的注释也将被提取。
Definition: fs_pdfdoc.h:948
InsertDocOptions
用于将PDF文档插入到另一个文档的选项枚举。
Definition: fs_pdfdoc.h:973
残疾人支持。(权限值中的第10位)
Definition: fs_pdfdoc.h:852
DataType
用于决定从FDF/XFDF文档导入或导出哪些对象的数据类型枚举。
Definition: fs_pdfdoc.h:1007
FX_UINT32 uint32
无符号 32 位整数。
Definition: fs_basictypes.h:195
void SetDisplayMode(DisplayMode display_mode)
设置显示模式。
保存文档时移除冗余的PDF对象。
Definition: fs_pdfdoc.h:913
Definition: fs_pdfpage.h:417
bool RemoveReadingBookmark(const ReadingBookmark &reading_bookmark)
从当前PDF文档中删除阅读书签。
加密类型:数字证书加密。
Definition: fs_pdfdoc.h:799
void * FS_HANDLE
句柄类型。
Definition: fs_basictypes.h:213
WrapperType GetWrapperType() const
获取包装类型。
EmbeddedFontData GetEmbeddedFontData()
获取嵌入字体数据。
如果设置,表示书签也将插入到目标文档中。
Definition: fs_pdfdoc.h:977
通用定义和类的头文件。
当文档打开时,附件面板可见。
Definition: fs_pdfdoc.h:999
HiddenInfoSettingData & operator=(const HiddenInfoSettingData &data)
赋值操作符。
Definition: fs_pdfdoc.h:392
ReadingBookmark GetReadingBookmark(int index)
通过索引获取阅读书签。
无加密模式。
Definition: fs_pdfdoc.h:795
void Set(int version, const wchar_t *type, const wchar_t *app_id, const wchar_t *uri, const wchar_t *description)
设置值。
Definition: fs_pdfdoc.h:259
密码无效。
Definition: fs_pdfdoc.h:777
PDFDoc & operator=(const PDFDoc &other)
赋值操作符。
如果设置,表示书签也将被提取。
Definition: fs_pdfdoc.h:963
void DeleteIndirectObject(uint32 object_number)
通过间接对象编号删除间接对象。
bool enable_remove_searchIndex
指示是否删除搜索索引的布尔值。
Definition: fs_pdfdoc.h:433
Definition: fs_security.h:754
bool operator !=(const PDFDoc &other) const
不等操作符。
objects::PDFObject * GetIndirectObject(uint32 object_number)
通过间接对象编号获取间接对象。
WString uri
供消费者获取更多信息的URI。
Definition: fs_pdfdoc.h:274
float col_space
平铺水印多行的列间距。单位为英寸,不能是负数。
Definition: fs_pdfdoc.h:173
PDF对象相关定义和类的头文件。
加密类型:微软RMS加密。
Definition: fs_pdfdoc.h:805
Definition: fs_basictypes.h:465
如果设置,表示附件也将插入到目标文档中。
Definition: fs_pdfdoc.h:975
DisplayMode GetDisplayMode() const
获取显示模式。
String GetHeader() const
获取标识文件所符合的PDF规范版本的PDF头部。
common::Font GetFont(int index)
通过索引获取字体。
填写PDF表单。(权限值中的第9位)
Definition: fs_pdfdoc.h:846
int GetPageCount() const
获取页面数量。
bool enable_remove_comment
指示是否删除注释和批注的布尔值。
Definition: fs_pdfdoc.h:440
bool enable_remove_overlaping
指示是否删除重叠对象的布尔值。
Definition: fs_pdfdoc.h:482
void RemoveHiddenInfo(const HiddenInfoSettingData &hidden_data_setting)
根据用户定义的设置从当前PDF文档中删除指定类型的隐藏信息。
PDF页面相关定义和类的头文件。
PDFPage GetPage(int index)
通过索引获取PDF页面。
bool RemoveSecurity()
从当前文档中移除安全处理程序,以便后续保存的文档将是未加密的。
CertificateEncryptData GetCertificateEncryptData() const
获取证书加密的加密数据。
WrapperData(int version, const wchar_t *type, const wchar_t *app_id, const wchar_t *uri, const wchar_t *description)
带参数的构造函数。
Definition: fs_pdfdoc.h:213
Definition: fs_annot.h:950
PDFPage InsertPage(int index, float width, float height)
通过索引向文档插入新的空白PDF页面。
使用XRef流保存文档。
Definition: fs_pdfdoc.h:899
Definition: fs_security.h:56
Definition: fs_common.h:1519
Definition: fs_pdfobject.h:848
bool IsEncrypted() const
检查当前文档是否为加密文件。
void Set(float row_space, float col_space, float rotation, int opacity, int scale, uint32 flags)
设置值。
Definition: fs_pdfdoc.h:161
String GetUserPassword(const String &owner_password)
基于所有者密码获取用户密码。
如果设置,表示对结果文件使用 PDFDoc::e_SaveFlagXRefStream 保存标志 以减少结果文件的大小。
Definition: fs_pdfdoc.h:959
actions::Action GetOpenAction()
获取文档打开时要执行的动作。
PayLoadData(float version, const wchar_t *crypto_filter, const wchar_t *file_name, foxit::int64 file_size, const wchar_t *description)
带参数的构造函数。
Definition: fs_pdfdoc.h:296
bool SaveAs(const char *file_path, uint32 save_flags=PDFDoc::e_SaveFlagNormal)
将当前PDF文档另存为另一个PDF文件。
Rotation
旋转的枚举。
Definition: fs_common.h:57
Foxit命名空间。
Definition: fs_pdf3d.h:26
Definition: fs_pdfobject.h:55
WrapperData & operator=(const WrapperData &wrapper_data)
赋值操作符。
Definition: fs_pdfdoc.h:239
DRMEncryptData GetDRMEncryptData() const
获取Foxit DRM加密的加密数据。
Definition: fs_action.h:411
bool enable_remove_bookmark
指示是否删除书签的布尔值。
Definition: fs_pdfdoc.h:426
WString app_id
应用程序标识,用于指示打开此包装器数据的应用程序。
Definition: fs_pdfdoc.h:272
common::Progressive StartLoadW(const WString &password=WString(), bool is_cache_stream=true, common::PauseCallback *pause=0)
开始使用指定密码加载当前文档内容。
如果设置,表示Javascript也将被提取。
Definition: fs_pdfdoc.h:952
如果设置,水印在插入到PDF页面时将成为注释,水印将显示在其他内容之上。
Definition: fs_pdfdoc.h:67
字节字符串类
Definition: fx_string.h:317
未知加密类型。
Definition: fs_pdfdoc.h:793
EncryptType
加密类型的枚举。
Definition: fs_pdfdoc.h:791
int opacity
不透明度百分比。有效范围:从0到100。 0表示完全透明,100表示完全不透明。
Definition: fs_pdfdoc.h:180
void CreateDSS()
在当前PDF文档中创建DSS信息。
common::Progressive StartExtractPages(const char *file_path, uint32 options, const common::Range &page_range=common::Range(), common::PauseCallback *pause=0)
开始从当前PDF文档提取页面。
bool IsTaggedPDF() const
检查当前PDF文档是否为标签化PDF文件。
PDF 2.0包装文档。
Definition: fs_pdfdoc.h:1027
bool enable_remove_content
指示是否删除不可见或被遮挡内容的布尔值。
Definition: fs_pdfdoc.h:468
Definition: fs_pdfform.h:44
common::Rotation rotation
页面旋转。请参考从 common::e_Rotation0 开始的值, 这应该是这些值中的一个。
Definition: fs_pdfdoc.h:556
uint32 flags
水印标志。
Definition: fs_pdfdoc.h:194
TableOfContentsConfig & operator=(const TableOfContentsConfig &other)
赋值操作符。
Definition: fs_pdfdoc.h:631
当文档打开时,缩略图可见。
Definition: fs_pdfdoc.h:991
bool enable_remove_hidden_layer
指示是否删除隐藏图层(可选内容组)的布尔值。
Definition: fs_pdfdoc.h:461
HiddenInfoSettingData()
构造一个HiddenDataSetting对象,默认启用所有删除选项。
Definition: fs_pdfdoc.h:372
void InsertDocument(int dest_index, const PDFDoc &src_doc, uint32 options)
将另一个PDF文档插入到当前PDF文档的指定位置。
TableOfContentsConfig()
构造函数。
Definition: fs_pdfdoc.h:618
#define NULL
空指针值。
Definition: fx_system.h:792
Definition: fs_signature.h:99
页面尺寸:letter(信纸)。
Definition: fs_pdfpage.h:497
void RemoveSignature(const foxit::pdf::Signature &signature)
删除签名。
WString title
目录的标题。如果这是空字符串,将使用默认值"Table of Contents"。
Definition: fs_pdfdoc.h:697
PayLoadData()
构造函数。
Definition: fs_pdfdoc.h:283
加密类型:福昕DRM加密。
Definition: fs_pdfdoc.h:801
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)
开始从另一个PDF文档(通过文件路径)导入页面。
WrapperData GetWrapperData() const
如果当前文档的包装类型是 PDFDoc::e_WrapperFoxit,获取包装数据。
PageBasicInfo & operator=(const PageBasicInfo &page_info)
赋值操作符。
Definition: fs_pdfdoc.h:525
PageBasicInfo(const PageBasicInfo &page_info)
使用另一个页面基本信息对象的构造函数。
Definition: fs_pdfdoc.h:514
void AddHeaderFooter(const HeaderFooter &headerfooter)
添加新的页眉页脚。
foxit::pdf::Signature GetSignature(int index)
通过索引获取签名。
Definition: fs_security.h:330
void AddTableOfContents(const wchar_t *title, Int32Array bookmark_level_array)
将页面作为目录插入到当前PDF文档的前面。
Definition: fs_pdfdoc.h:600
Definition: fs_flddoc.h:25
bool RemovePage(int index)
通过页面索引删除PDF页面。
void SetCacheFile(foxit::common::file::StreamCallback *file_stream, bool is_own_file_stream)
设置缓存文件 (代表文件流) 到当前PDF文档。
WrapperData()
构造函数。
Definition: fs_pdfdoc.h:201
Definition: fs_bookmark.h:57
bool HasHeaderFooter()
检查当前文档是否有页眉页脚。
void Set(float width, float height, common::Rotation rotation)
设置值。
Definition: fs_pdfdoc.h:541
Definition: fs_readingbookmark.h:43
UserPermissions
PDF文档中用户访问权限的枚举。
Definition: fs_pdfdoc.h:815
WrapperData(const WrapperData &wrapper_data)
使用另一个包装器数据对象的构造函数。
Definition: fs_pdfdoc.h:225
Foxit包装文档。
Definition: fs_pdfdoc.h:1025
PayLoadData GetPayLoadData()
如果当前文档的包装类型是 PDFDoc::e_WrapperPDFV2,获取载荷数据。
uint32 AddIndirectObject(objects::PDFObject *pdf_object)
将PDF对象添加到当前PDF文档中,成为间接对象。
bool MovePageTo(const PDFPage &page, int dest_index)
将指定页面移动到新位置。