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 #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 class WatermarkTextProperties;
59 class TiledWatermarkSettings FS_FINAL : public Object{
60  public:
66  typedef enum _Flags {
70  e_FlagAsAnnot = 0x0001,
72  e_FlagOnTop = 0x0002,
74  e_FlagNoPrint = 0x0004,
76  e_FlagInvisible = 0x0008
77  } Flags;
78 
94  explicit TiledWatermarkSettings(float row_space, float col_space, float rotation, int opacity ,int scale, uint32 flags)
98  , opacity(opacity)
99  , scale(scale)
100  , flags(flags){}
101 
110  : row_space(2.0)
111  , col_space(2.0)
112  , rotation(0)
113  , opacity(100)
114  , scale(100)
115  , flags(0){}
116 
123  : row_space(settings.row_space)
124  , col_space(settings.col_space)
125  , rotation(settings.rotation)
126  , opacity(settings.opacity)
127  , scale(settings.scale)
128  , flags(settings.flags){}
129 
138  row_space = settings.row_space;
139  col_space = settings.col_space;
140  rotation = settings.rotation;
141  opacity = settings.opacity;
142  scale = settings.scale;
143  flags = settings.flags;
144  return *this;
145  }
146 
164  void Set(float row_space, float col_space, float rotation, int opacity, int scale, uint32 flags) {
165  this->row_space = row_space;
166  this->col_space = col_space;
167  this->rotation = rotation;
168  this->opacity = opacity;
169  this->scale = scale;
170  this->flags = flags;
171  }
172 
174  float row_space;
176  float col_space;
178  float rotation;
183  int opacity;
188  int scale;
189 
198 
199 };
201 class WrapperData FS_FINAL : public Object {
202  public:
205  : version(0) {}
206 
216  WrapperData(int version, const wchar_t* type, const wchar_t* app_id, const wchar_t* uri, const wchar_t* description)
217  : version(version)
218  , type(type)
219  , app_id(app_id)
220  , uri(uri)
222 
228  WrapperData(const WrapperData& wrapper_data)
229  : version(wrapper_data.version)
230  , type(wrapper_data.type)
231  , app_id(wrapper_data.app_id)
232  , uri(wrapper_data.uri)
233  , description(wrapper_data.description) {}
234 
242  WrapperData& operator = (const WrapperData& wrapper_data) {
243  version = wrapper_data.version;
244  type = wrapper_data.type;
245  app_id = wrapper_data.app_id;
246  uri = wrapper_data.uri;
247  description = wrapper_data.description;
248  return *this;
249  }
250 
262  void Set(int version, const wchar_t* type, const wchar_t* app_id, const wchar_t* uri, const wchar_t* description) {
263  this->version = version;
264  this->type = type;
265  this->app_id = app_id;
266  this->uri = uri;
267  this->description = description;
268  }
269 
271  int version;
280 };
281 
283 class PayLoadData FS_FINAL {
284  public:
287  : version(0.0f)
288  , file_size (0){}
289 
299  PayLoadData(float version, const wchar_t* crypto_filter, const wchar_t* file_name,
301  const wchar_t* description)
302  : version(version)
307  {}
308 
314  PayLoadData(const PayLoadData& payload_data)
315  : version(payload_data.version)
316  , crypto_filter(payload_data.crypto_filter)
317  , file_name(payload_data.file_name)
318  , file_size(payload_data.file_size)
319  , description(payload_data.description)
320  {}
321 
329  PayLoadData& operator=(const PayLoadData& payload_data) {
330  version = payload_data.version;
331  crypto_filter = payload_data.crypto_filter;
332  description = payload_data.description;
333  file_name = payload_data.file_name;
334  file_size = payload_data.file_size;
335  return *this;
336  }
337 
347  void Set(float version, const wchar_t* crypto_filter, const wchar_t* file_name,
349  const wchar_t* description) {
350  this->version = version;
351  this->crypto_filter = crypto_filter;
352  this->file_name = file_name;
353  this->file_size = file_size;
354  this->description = description;
355  }
356 
358  float version;
367 };
368 
370 class HiddenInfoSettingData FS_FINAL: public Object{
371  public:
376  : enable_remove_metadata(true)
378  , enable_remove_bookmark(true)
380  , enable_remove_comment(true)
384  , enable_remove_content(true)
385  , enable_remove_link(true)
386  , enable_remove_overlaping(true) { }
387 
407  return *this;
408  }
409 
416 
423 
430 
437 
444 
451 
458 
465 
472 
479 
486 };
487 
492 class PageBasicInfo FS_FINAL : public Object {
493  public:
503  : width(width)
504  , height(height)
505  , rotation(rotation) {}
506 
509  : width(0)
510  , height(0)
511  , rotation(CommonDefines::e_RotationUnknown) {}
517  PageBasicInfo(const PageBasicInfo& page_info)
518  : width(page_info.width)
519  , height(page_info.height)
520  , rotation(page_info.rotation) {}
529  width = page_info.width;
530  height = page_info.height;
531  rotation = page_info.rotation;
532  return *this;
533  }
544  void Set(float width, float height, common::Rotation rotation) {
545  this->width = width;
546  this->height = height;
547  this->rotation = rotation;
548  }
549 
551  float width;
552 
554  float height;
560 };
561 
564 
565 
569 class EmbeddedFontData FS_FINAL : public Object {
570  public:
573 
580  : nonstandard_font_name_array(other.nonstandard_font_name_array)
581  , standard_font_name_array(other.standard_font_name_array) {}
582 
591  nonstandard_font_name_array = other.nonstandard_font_name_array;
592  standard_font_name_array = other.standard_font_name_array;
593  return *this;
594  }
595 
600 };
601 
603 class TableOfContentsConfig FS_FINAL : public Object{
604  public:
615  : title(title)
619 
622  : title(L"")
624  , is_show_serial_number(false)
625  , include_toc_pages(false){}
626 
635  this->title = other.title;
638  this->include_toc_pages = other.include_toc_pages;
639  return *this;
640  }
641 
649  bool operator == (const TableOfContentsConfig& other) const {
650  if (this->title == other.title && this->is_show_serial_number == other.is_show_serial_number && this->include_toc_pages == other.include_toc_pages) {
652  return false;
653  for (int i = 0; i < this->bookmark_level_array.GetSize(); i++) {
654  if (this->bookmark_level_array.GetAt(i) != other.bookmark_level_array.GetAt(i))
655  return false;
656  }
657  return true;
658  }
659  return false;
660  }
661 
669  bool operator != (const TableOfContentsConfig& other) const {
670  if (this->title != other.title || this->is_show_serial_number != other.is_show_serial_number || this->include_toc_pages != other.include_toc_pages)
671  return true;
673  return true;
674  for (int i = 0; i < this->bookmark_level_array.GetSize(); i++) {
675  if (this->bookmark_level_array.GetAt(i) != other.bookmark_level_array.GetAt(i))
676  return true;
677  }
678  return false;
679  }
680 
693  this->title = title;
694  this->bookmark_level_array = bookmark_level_array;
695  this->is_show_serial_number = is_show_serial_number;
696  this->include_toc_pages = include_toc_pages;
697  }
698 
701 
709 
717 };
718 
771 class PDFDoc FS_FINAL : public Base {
772  public:
778  typedef enum _PasswordType {
787  } PasswordType;
788 
794  typedef enum _EncryptType {
811  } EncryptType;
812 
818  typedef enum _UserPermissions {
824  e_PermPrint = 0x0004,
831  e_PermModify = 0x0008,
837  e_PermExtract = 0x0010,
843  e_PermAnnotForm = 0x0020,
849  e_PermFillForm = 0x0100,
862  e_PermAssemble = 0x0400,
869  } UserPermissions;
870 
875  typedef enum _SaveFlags {
924  } SaveFlags;
925 
931  typedef enum _ImportPageFlags {
942  } ImportPageFlags;
943 
949  typedef enum _ExtractPagesOptions {
970 
976  typedef enum _InsertDocOptions {
982 
988  typedef enum _DisplayMode {
1003  } DisplayMode;
1004 
1010  typedef enum _DataType {
1012  e_Forms = 0x0001,
1014  e_Annots = 0x0002,
1016  e_Links = 0x0004
1017  } DataType;
1018 
1024  typedef enum _WrapperType {
1031  } WrapperType;
1032 
1033 
1040  PDFDoc();
1041 
1050  explicit PDFDoc(const char* path);
1051 
1060  explicit PDFDoc(const wchar_t* path);
1061 
1072  explicit PDFDoc(const void* buffer, size_t size);
1073 
1088  explicit PDFDoc(common::file::ReaderCallback* file_read, bool is_async = false);
1089  // 强烈建议用户不要使用此方法;否则可能发生未知情况。
1090  explicit PDFDoc(FS_HANDLE handle);
1092  ~PDFDoc();
1093 
1099  PDFDoc(const PDFDoc& other);
1100 
1108  PDFDoc& operator = (const PDFDoc& other);
1116  bool operator == (const PDFDoc& other) const;
1117 
1125  bool operator != (const PDFDoc& other) const;
1126 
1134  bool IsEmpty() const;
1135 
1141  uint64 GetFileSize();
1142 
1160  bool IsLinearized() const;
1161 
1170  bool IsTaggedPDF() const;
1171 
1192  ErrorCode Load(const String& password = "");
1193 
1214  ErrorCode LoadW(const WString& password = WString());
1215 
1247  common::Progressive StartLoad(const String& password = "", bool is_cache_stream = true,
1248  common::PauseCallback* pause = NULL);
1280  common::Progressive StartLoadW(const WString& password = WString(), bool is_cache_stream = true,
1281  common::PauseCallback* pause = NULL);
1282 
1292  int GetFirstAvailPageIndex() const;
1293 
1304  bool IsXFA() const;
1305 
1312  bool IsEncrypted() const;
1313 
1319  void ClearRenderCache();
1320 
1333  PasswordType GetPasswordType() const;
1334 
1342 
1356  PasswordType CheckPassword(const String& password);
1357 
1371  PasswordType CheckPasswordW(const WString& password);
1372 
1381  bool IsUserPassword(const String& password);
1382 
1391  bool IsUserPassword(const foxit::WString& password);
1392 
1401  bool IsOwnerPassword(const String& password);
1402 
1411  bool IsOwnerPassword(const foxit::WString& password);
1412 
1422  String GetUserPassword(const String& owner_password);
1423 #ifndef __EMSCRIPTEN_RENDER__
1424 
1432 
1441 
1450 
1459 
1471 #endif
1472 
1496  bool SaveAs(const char* file_path, uint32 save_flags = PDFDoc::e_SaveFlagNormal);
1497 
1522  bool SaveAs(const wchar_t* file_path, uint32 save_flags = PDFDoc::e_SaveFlagNormal);
1523 
1554  common::Progressive StartSaveAs(const char* file_path,
1555  uint32 save_flags = PDFDoc::e_SaveFlagNormal,
1556  common::PauseCallback* pause = NULL);
1557 
1588  common::Progressive StartSaveAs(const wchar_t* file_path,
1589  uint32 save_flags = PDFDoc::e_SaveFlagNormal,
1590  common::PauseCallback* pause = NULL);
1591 
1625 
1626 #ifndef __EMSCRIPTEN_RENDER__
1627 
1635 
1644 
1651  int GetBookmarkLevelDepth();
1652 
1660  bool RemoveBookmark(const Bookmark& bookmark);
1661 
1668  bool HasLayer() const;
1669 
1676  bool HasHeaderFooter();
1677 
1686  HeaderFooter GetEditableHeaderFooter();
1687 
1698  void AddHeaderFooter(const HeaderFooter& headerfooter);
1699 
1710  void UpdateHeaderFooter(const HeaderFooter& headerfooter);
1711 
1717  bool RemoveAllHeaderFooters();
1718 #endif
1719 
1724  int GetPageCount() const;
1725 
1739  PDFPage GetPage(int index);
1740 
1749  DisplayMode GetDisplayMode() const;
1750 
1761  void SetDisplayMode(DisplayMode display_mode);
1762 
1770 
1778 
1788 
1796 
1804 
1813 
1831 
1839  void DeleteIndirectObject(uint32 object_number);
1840 
1847  uint32 GetUserPermissions() const;
1848 
1855  bool IsWrapper() const;
1856 
1863  WrapperType GetWrapperType() const;
1864 
1871  WrapperData GetWrapperData() const;
1872 
1879  int64 GetWrapperOffset() const;
1880 
1888 
1905 
1930  bool SaveAsWrapperFile(const wchar_t* file_path, const WrapperData* wrapper_data = NULL,
1931  uint32 user_permissions = 0xFFFFFFFC, const char* owner_password = "");
1932 
1958  common::Progressive StartSaveAsPayloadFile(const wchar_t* file_path, const wchar_t* payload_file_path,
1959  const wchar_t* crypto_filter, const wchar_t* description, float version,
1960  uint32 save_flags = PDFDoc::e_SaveFlagNormal,
1961  common::PauseCallback* pause = NULL);
1973  bool HasForm() const;
1974 
1981 #ifndef __EMSCRIPTEN_RENDER__
1982 
1991 
2004  ReadingBookmark InsertReadingBookmark(int reading_bookmark_index, const WString& title, int dest_page_index);
2005 
2013  bool RemoveReadingBookmark(const ReadingBookmark& reading_bookmark);
2014 
2020  int GetSignatureCount();
2021 
2031 
2041  void RemoveSignature(const foxit::pdf::Signature& signature);
2042 #endif
2043 
2056  PDFPage InsertPage(int index, float width, float height);
2070 
2086  PDFPage AddPageFromTemplate(const wchar_t* template_name);
2087 
2102  bool HidePageTemplate(const wchar_t* template_name);
2103 
2112  bool RemovePage(int index);
2113 
2123  bool RemovePage(const foxit::pdf::PDFPage& page);
2124 
2146  bool MovePageTo(const PDFPage& page, int dest_index);
2147 
2171  bool MovePagesTo(const common::Range& page_range, int dest_index);
2172 
2222  const wchar_t* src_file_path, const String& password,
2223  uint32 flags = PDFDoc::e_ImportFlagNormal, const char* layer_name = "",
2224  const common::Range& page_range = common::Range(),
2225  common::PauseCallback* pause = NULL);
2274  const wchar_t* src_file_path, const WString& password,
2275  uint32 flags = PDFDoc::e_ImportFlagNormal, const char* layer_name = "",
2276  const common::Range& page_range = common::Range(),
2277  common::PauseCallback* pause = NULL);
2324  common::Progressive StartImportPages(int dest_index, const PDFDoc& src_doc,
2325  uint32 flags = PDFDoc::e_ImportFlagNormal, const char* layer_name = "",
2326  const common::Range& page_range = common::Range(),
2327  common::PauseCallback* pause = NULL);
2328 
2349  common::Progressive StartExtractPages(const char* file_path, uint32 options, const common::Range& page_range = common::Range(),
2350  common::PauseCallback* pause = NULL);
2351 
2371  common::Progressive StartExtractPages(const wchar_t* file_path, uint32 options, const common::Range& page_range = common::Range(),
2372  common::PauseCallback* pause = NULL);
2373 
2396 
2412  void InsertDocument(int dest_index, const PDFDoc& src_doc, uint32 options);
2413 
2430  void InsertDocument(int dest_index, const PDFDoc& src_doc, uint32 options, const wchar_t* bookmark_title);
2431 
2440  void Sanitize();
2441 
2452  void RemoveHiddenInfo(const HiddenInfoSettingData& hidden_data_setting);
2453 
2454 #ifndef __EMSCRIPTEN_RENDER__
2455 
2476  bool ImportFromFDF(const fdf::FDFDoc& fdf_doc, int types = pdf::PDFDoc::e_Forms | pdf::PDFDoc::e_Annots, const common::Range& page_range = common::Range());
2477 
2496  bool ExportToFDF(const fdf::FDFDoc& fdf_doc, int types = pdf::PDFDoc::e_Forms | pdf::PDFDoc::e_Annots, const common::Range& page_range = common::Range());
2497 
2506  bool ExportAnnotToFDF(const annots::Annot& pdf_annot,const fdf::FDFDoc& fdf_doc);
2507 
2518  bool ExportFormFieldsToFDF(const pdf::interform::FieldArray& field_array, bool is_include, const fdf::FDFDoc& fdf_doc);
2519 #endif
2520 
2525  String GetHeader() const;
2526 
2532  int GetFileVersion();
2533 
2548  void SetFileVersion(int version);
2549 
2561  bool SetSecurityHandler(const SecurityHandler& handler);
2562 
2572 
2581  bool RemoveSecurity();
2582 
2590  int GetFontCount();
2591 
2600  common::Font GetFont(int index);
2601 
2608 
2620  bool SetOpenAction(actions::Action& action);
2621 
2627  bool RemoveOpenAction();
2628 
2634  bool DoJSOpenAction();
2635 
2641  bool IsPortfolio();
2642 
2657  PageBasicInfo GetPageBasicInfo(int index);
2658 
2671 
2680 #ifdef _SUPPORTWEBSDK_
2681  objects::PDFStream* CreateIcon(String imgStream,int width, int height);
2682 #endif
2683 
2690  void CreateDSS();
2691 
2705  void AddTableOfContents(const wchar_t* title, Int32Array bookmark_level_array);
2706 
2716  void AddTableOfContents(const TableOfContentsConfig& table_of_contents_config);
2717 
2732  void SetCacheFile(foxit::common::file::StreamCallback* file_stream, bool is_own_file_stream);
2733 
2748 
2763  common::Progressive StartRecognizeForm(bool is_set_tool_tips, common::PauseCallback* pause = NULL);
2764 
2773  WString GetPageText(int page_index) const;
2774 
2795  PagingSealSignature AddPagingSealSignature(const common::Range& page_range, float width, float height, bool to_check_permission = true);
2796 
2841  common::Progressive StartAddTiledWatermark(const wchar_t* text, const TiledWatermarkSettings& settings, const WatermarkTextProperties& properties, const common::Range& page_range, common::PauseCallback* pause = NULL);
2867  common::Progressive StartAddTiledWatermark(const wchar_t* src_img_file_path, const TiledWatermarkSettings& settings, const common::Range& page_range, common::PauseCallback* pause = NULL);
2868 
2896 
2922 
2930  annots::AnnotArray GetAnnotsByIdArray(const WStringArray& unique_id_arr);
2931 
2937  void RemoveStructTree();
2938 
2939 };
2940 } // namespace pdf
2941 } // namespace foxit
2942 #endif // FS_PDFDOC_H_
2943 
bool include_toc_pages
true 表示在目录的页码计算中包含目录页面, false 表示在目录的页码计算中排除目录页面。
Definition: fs_pdfdoc.h:716
PageBasicInfo GetPageBasicInfo(int index)
通过索引获取指定页面的基本信息。
ImportPageFlags
导入页面使用的标志枚举。
Definition: fs_pdfdoc.h:931
TiledWatermarkSettings(const TiledWatermarkSettings &settings)
使用另一个平铺水印设置对象的构造函数。
Definition: fs_pdfdoc.h:122
bool enable_remove_form_fields
指示是否删除交互式表单字段的布尔值。
Definition: fs_pdfdoc.h:450
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:843
Flags
平铺水印设置标志的枚举。
Definition: fs_pdfdoc.h:66
Definition: fs_pdfobject.h:448
int version
包装器版本。
Definition: fs_pdfdoc.h:271
如果设置,表单字段将从FDF/XFDF文档导入或导出到FDF/XFDF文档。
Definition: fs_pdfdoc.h:1012
~PDFDoc()
析构函数。
int GetReadingBookmarkCount()
获取阅读书签的数量。
bool RemoveBookmark(const Bookmark &bookmark)
删除指定的书签。
WStringArray standard_font_name_array
标准字体的嵌入字体名称数组,如果要取消嵌入可以被系统字体替换。
Definition: fs_pdfdoc.h:599
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:347
如果设置,注释(链接注释除外)将从FDF/XFDF文档导入或导出到FDF/XFDF文档。
Definition: fs_pdfdoc.h:1014
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:109
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:422
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:614
如果设置,不显示水印。
Definition: fs_pdfdoc.h:76
bool enable_remove_link
指示是否删除超链接注释的布尔值。
Definition: fs_pdfdoc.h:478
ErrorCode Load(const String &password="")
使用指定密码加载当前文档内容。
Definition: fs_pdfdoc.h:59
bool is_show_serial_number
true 表示在目录中显示序列号,false 表示不显示序列号。
Definition: fs_pdfdoc.h:711
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:221
正常保存文档,不使用任何特殊标志。
Definition: fs_pdfdoc.h:881
提取PDF内容。(权限值中的第5位)
Definition: fs_pdfdoc.h:837
Definition: fs_annot.h:1583
bool HidePageTemplate(const wchar_t *template_name)
隐藏命名页面。
float version
用于加密此字典引用的加密有效载荷的加密过滤器的版本号。
Definition: fs_pdfdoc.h:358
组装PDF文档。(权限值中的第11位)
Definition: fs_pdfdoc.h:862
bool enable_remove_metadata
指示是否删除文档元数据的布尔值。
Definition: fs_pdfdoc.h:415
未知旋转。
Definition: fs_common.h:67
加密类型:密码,这是标准加密。
Definition: fs_pdfdoc.h:800
页眉页脚相关定义和类的头文件。
bool operator==(const TableOfContentsConfig &other) const
相等操作符。
Definition: fs_pdfdoc.h:649
bool ExportAnnotToFDF(const annots::Annot &pdf_annot, const fdf::FDFDoc &fdf_doc)
将指定的注释导出到FDF/XFDF文档。
PayLoadData(const PayLoadData &payload_data)
使用另一个有效载荷数据对象的构造函数。
Definition: fs_pdfdoc.h:314
objects::PDFDictionary * GetTrailer() const
获取拖车字典。
WrapperType
包装类型的枚举。
Definition: fs_pdfdoc.h:1024
如果设置,水印在插入到PDF页面时将成为页面内容的一部分。
Definition: fs_pdfdoc.h:68
修改PDF内容。(权限值中的第4位)
Definition: fs_pdfdoc.h:831
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:708
float row_space
平铺水印多行的行间距。单位为英寸,不能是负数。
Definition: fs_pdfdoc.h:174
bool enable_remove_hidden_text
指示是否删除隐藏文本的布尔值。
Definition: fs_pdfdoc.h:457
Definition: fs_basictypes.h:228
bool SetOpenAction(actions::Action &action)
设置文档打开时要执行的动作。
Definition: fs_pdfdoc.h:569
TiledWatermarkSettings(float row_space, float col_space, float rotation, int opacity, int scale, uint32 flags)
带参数的构造函数。
Definition: fs_pdfdoc.h:94
PDF文档中使用用户密码。
Definition: fs_pdfdoc.h:784
WString description
有效载荷文件的描述,用于向应用程序显示或向用户提供提示信息。
Definition: fs_pdfdoc.h:366
保存文档时不更新元数据"ModDate"和"CreationDate"。
Definition: fs_pdfdoc.h:923
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:508
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:360
文件操作相关定义和函数的头文件。
bool operator !=(const TableOfContentsConfig &other) const
不等操作符。
Definition: fs_pdfdoc.h:669
文件读取接口。
Definition: fx_stream.h:587
void UpdateHeaderFooter(const HeaderFooter &headerfooter)
更新页眉页脚。
导入页面时包含图层。
Definition: fs_pdfdoc.h:935
PasswordType CheckPasswordW(const WString &password)
检查指定Unicode密码的类型。
如果设置,表示结构树也将被提取。
Definition: fs_pdfdoc.h:953
objects::PDFDictionary * GetCatalog() const
获取目录字典。
加密类型:自定义加密。
Definition: fs_pdfdoc.h:806
宽字符串类
Definition: fx_string.h:1457
bool IsLinearized() const
检查当前PDF文档是否为线性化文件。
WString description
包装器文件的描述,用于向应用程序显示或向用户提供提示信息。
Definition: fs_pdfdoc.h:279
保存文档时不包含原始数据或未更改的对象。
Definition: fs_pdfdoc.h:897
增量保存文档。
Definition: fs_pdfdoc.h:889
bool IsWrapper() const
检查当前文档是否为包装文件。
CFX_WideString WString
宽字符串。
Definition: fs_basictypes.h:223
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:554
PDF文档中不使用密码。
Definition: fs_pdfdoc.h:782
PasswordType CheckPassword(const String &password)
检查指定密码的类型。
PasswordType GetPasswordType() const
获取当前使用的密码类型。
FX_UINT64 uint64
无符号 64 位整数。
Definition: fs_basictypes.h:192
uint32 GetUserPermissions() const
获取用户访问权限。
HeaderFooter GetEditableHeaderFooter()
获取可编辑的页眉页脚对象。
如果设置,表示附件文件也将被提取。
Definition: fs_pdfdoc.h:964
以更高质量打印PDF文档。(权限值中的第12位)
Definition: fs_pdfdoc.h:868
Definition: fs_pdfdoc.h:283
Definition: fs_pdfdoc.h:771
用于从PDF文档中删除隐藏或敏感数据的配置设置。
Definition: fs_pdfdoc.h:370
普通文档。
Definition: fs_pdfdoc.h:1026
Definition: fs_security.h:527
PayLoadData & operator=(const PayLoadData &payload_data)
赋值操作符。
Definition: fs_pdfdoc.h:329
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:364
(保留,尚未支持)如果设置,只有链接注释将从XFDF文档导入或导出到XFDF文档。
Definition: fs_pdfdoc.h:1016
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:330
PDF文档中使用所有者密码。
Definition: fs_pdfdoc.h:786
如果设置,在其他页面内容之上显示水印。
Definition: fs_pdfdoc.h:72
ExtractPagesOptions
提取页面使用的选项枚举。
Definition: fs_pdfdoc.h:949
书签相关定义和类的头文件。
PDFDoc()
构造函数。
Definition: fs_fdfdoc.h:51
objects::PDFDictionary * GetPagesDict() const
获取"Pages"的字典。
Definition: fs_security.h:864
EmbeddedFontData(const EmbeddedFontData &other)
使用另一个嵌入字体数据对象的构造函数。
Definition: fs_pdfdoc.h:579
Definition: fs_security.h:137
导入页面时不将流对象克隆到内存中。
Definition: fs_pdfdoc.h:941
Definition: fs_pdfdoc.h:563
common::Progressive StartGetPayloadFile(foxit::common::file::WriterCallback *payload_file, common::PauseCallback *pause=0)
开始获取载荷文件。
void RemoveStructTree()
移除当前文档中的结构树。
阅读书签相关定义和类的头文件。
bool DoJSOpenAction()
文档打开时执行JavaScript动作。
如果设置,表示OCProperties也将被提取。
Definition: fs_pdfdoc.h:957
int GetSignatureCount()
获取签名数量。
uint64 GetFileSize()
获取文件大小。
WStringArray nonstandard_font_name_array
如果要取消嵌入时无法被系统字体替换的嵌入字体的字体名称数组。
Definition: fs_pdfdoc.h:597
Definition: fs_signature.h:2035
Definition: fs_pdfdoc.h:492
SaveFlags
PDF文档保存标志的枚举。
Definition: fs_pdfdoc.h:875
ErrorCode LoadW(const WString &password=WString())
使用指定密码加载当前文档内容。
ErrorCode
错误代码的枚举。
Definition: fs_basictypes.h:237
PageBasicInfo(float width, float height, common::Rotation rotation)
带参数的构造函数。
Definition: fs_pdfdoc.h:502
WString type
包装器类型,用于指示当前包装器文件的类型。
Definition: fs_pdfdoc.h:273
int scale
图像或页面的缩放百分比。有效范围:从1到100。 100表示图像或页面以其原始大小显示。默认值为100。
Definition: fs_pdfdoc.h:188
EmbeddedFontData & operator=(const EmbeddedFontData &other)
赋值操作符。
Definition: fs_pdfdoc.h:590
EmbeddedFontData()
构造函数。
Definition: fs_pdfdoc.h:572
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:933
Definition: fs_pdfdoc.h:201
文件流接口,用于读取和写入。
Definition: fx_stream.h:692
bool RemoveOpenAction()
移除文档打开时要执行的动作。
当文档打开时,文档大纲和缩略图都不可见。
Definition: fs_pdfdoc.h:990
DisplayMode
显示模式的枚举,指定文档打开时应如何显示。
Definition: fs_pdfdoc.h:988
bool IsUserPassword(const String &password)
检查输入密码是否为当前PDF文档的用户密码。
float width
页面宽度(单位为1/72英寸)。
Definition: fs_pdfdoc.h:551
TiledWatermarkSettings & operator=(const TiledWatermarkSettings &settings)
赋值操作符。
Definition: fs_pdfdoc.h:137
void Set(const wchar_t *title, Int32Array bookmark_level_array, bool is_show_serial_number, bool include_toc_pages)
设置值。
Definition: fs_pdfdoc.h:692
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:499
WString file_name
有效载荷文件名。
Definition: fs_pdfdoc.h:362
Definition: fx_basic.h:3737
如果设置,表示签名也将被提取。必须与 PDFDoc:e_ExtractPagesOptionAnnotation 结合使用。
Definition: fs_pdfdoc.h:968
objects::PDFDictionary * GetInfo() const
获取信息字典。
bool IsXFA() const
检查当前PDF文档是否为XFA文档。
如果设置,不打印水印。
Definition: fs_pdfdoc.h:74
float rotation
旋转角度(度)。
Definition: fs_pdfdoc.h:178
当文档打开时,全屏模式,没有菜单栏、窗口控件或任何其他窗口可见。
Definition: fs_pdfdoc.h:998
以普通模式打印PDF文档。(权限值中的第3位)
Definition: fs_pdfdoc.h:824
PageBasicInfoArray GetAllPageBasicInfo()
获取所有页面的基本信息。
(保留,目前不使用此值。)加密类型:福昕连接PDF DRM加密。
Definition: fs_pdfdoc.h:810
将文档保存为线性化文件。
Definition: fs_pdfdoc.h:909
当文档打开时,文档大纲(书签)可见。
Definition: fs_pdfdoc.h:992
bool IsPortfolio()
检查当前PDF文档是否为文档集文件。
PasswordType
PDF文档中当前使用的密码类型的枚举。
Definition: fs_pdfdoc.h:778
当文档打开时,可选内容组面板可见。
Definition: fs_pdfdoc.h:1000
Definition: fs_common.h:373
PDFPage AddPageFromTemplate(const wchar_t *template_name)
从命名模板添加新的PDF页面到文档。
FX_INT64 int64
有符号 64 位整数。
Definition: fs_basictypes.h:190
const TYPE GetAt(int nIndex) const
此方法检索由索引号指定的元素。
Definition: fx_basic.h:1377
CustomEncryptData GetCustomEncryptData() const
获取自定义加密的加密数据。
如果设置,表示与提取页面相关的注释也将被提取。
Definition: fs_pdfdoc.h:951
InsertDocOptions
用于将PDF文档插入到另一个文档的选项枚举。
Definition: fs_pdfdoc.h:976
残疾人支持。(权限值中的第10位)
Definition: fs_pdfdoc.h:855
DataType
用于决定从FDF/XFDF文档导入或导出哪些对象的数据类型枚举。
Definition: fs_pdfdoc.h:1010
FX_UINT32 uint32
无符号 32 位整数。
Definition: fs_basictypes.h:196
void SetDisplayMode(DisplayMode display_mode)
设置显示模式。
保存文档时移除冗余的PDF对象。
Definition: fs_pdfdoc.h:916
Definition: fs_pdfpage.h:421
bool RemoveReadingBookmark(const ReadingBookmark &reading_bookmark)
从当前PDF文档中删除阅读书签。
加密类型:数字证书加密。
Definition: fs_pdfdoc.h:802
void * FS_HANDLE
句柄类型。
Definition: fs_basictypes.h:214
WrapperType GetWrapperType() const
获取包装类型。
EmbeddedFontData GetEmbeddedFontData()
获取嵌入字体数据。
如果设置,表示书签也将插入到目标文档中。
Definition: fs_pdfdoc.h:980
通用定义和类的头文件。
当文档打开时,附件面板可见。
Definition: fs_pdfdoc.h:1002
HiddenInfoSettingData & operator=(const HiddenInfoSettingData &data)
赋值操作符。
Definition: fs_pdfdoc.h:395
ReadingBookmark GetReadingBookmark(int index)
通过索引获取阅读书签。
无加密模式。
Definition: fs_pdfdoc.h:798
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:262
密码无效。
Definition: fs_pdfdoc.h:780
PDFDoc & operator=(const PDFDoc &other)
赋值操作符。
如果设置,表示书签也将被提取。
Definition: fs_pdfdoc.h:966
void DeleteIndirectObject(uint32 object_number)
通过间接对象编号删除间接对象。
bool enable_remove_searchIndex
指示是否删除搜索索引的布尔值。
Definition: fs_pdfdoc.h:436
Definition: fs_security.h:739
bool operator !=(const PDFDoc &other) const
不等操作符。
objects::PDFObject * GetIndirectObject(uint32 object_number)
通过间接对象编号获取间接对象。
WString uri
供消费者获取更多信息的URI。
Definition: fs_pdfdoc.h:277
float col_space
平铺水印多行的列间距。单位为英寸,不能是负数。
Definition: fs_pdfdoc.h:176
PDF对象相关定义和类的头文件。
加密类型:微软RMS加密。
Definition: fs_pdfdoc.h:808
Definition: fs_basictypes.h:449
如果设置,表示附件也将插入到目标文档中。
Definition: fs_pdfdoc.h:978
DisplayMode GetDisplayMode() const
获取显示模式。
String GetHeader() const
获取标识文件所符合的PDF规范版本的PDF头部。
common::Font GetFont(int index)
通过索引获取字体。
填写PDF表单。(权限值中的第9位)
Definition: fs_pdfdoc.h:849
int GetPageCount() const
获取页面数量。
bool enable_remove_comment
指示是否删除注释和批注的布尔值。
Definition: fs_pdfdoc.h:443
bool enable_remove_overlaping
指示是否删除重叠对象的布尔值。
Definition: fs_pdfdoc.h:485
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:216
Definition: fs_annot.h:947
PDFPage InsertPage(int index, float width, float height)
通过索引向文档插入新的空白PDF页面。
使用XRef流保存文档。
Definition: fs_pdfdoc.h:902
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:164
String GetUserPassword(const String &owner_password)
基于所有者密码获取用户密码。
如果设置,表示对结果文件使用 PDFDoc::e_SaveFlagXRefStream 保存标志 以减少结果文件的大小。
Definition: fs_pdfdoc.h:962
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:299
bool SaveAs(const char *file_path, uint32 save_flags=PDFDoc::e_SaveFlagNormal)
将当前PDF文档另存为另一个PDF文件。
Rotation
旋转的枚举。
Definition: fs_common.h:57
Foxit命名空间。
Definition: fs_taggedpdf.h:27
Definition: fs_pdfobject.h:55
WrapperData & operator=(const WrapperData &wrapper_data)
赋值操作符。
Definition: fs_pdfdoc.h:242
DRMEncryptData GetDRMEncryptData() const
获取Foxit DRM加密的加密数据。
Definition: fs_action.h:411
bool enable_remove_bookmark
指示是否删除书签的布尔值。
Definition: fs_pdfdoc.h:429
WString app_id
应用程序标识,用于指示打开此包装器数据的应用程序。
Definition: fs_pdfdoc.h:275
common::Progressive StartLoadW(const WString &password=WString(), bool is_cache_stream=true, common::PauseCallback *pause=0)
开始使用指定密码加载当前文档内容。
如果设置,表示Javascript也将被提取。
Definition: fs_pdfdoc.h:955
如果设置,水印在插入到PDF页面时将成为注释,水印将显示在其他内容之上。
Definition: fs_pdfdoc.h:70
字节字符串类
Definition: fx_string.h:317
未知加密类型。
Definition: fs_pdfdoc.h:796
EncryptType
加密类型的枚举。
Definition: fs_pdfdoc.h:794
int opacity
不透明度百分比。有效范围:从0到100。 0表示完全透明,100表示完全不透明。
Definition: fs_pdfdoc.h:183
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:1030
bool enable_remove_content
指示是否删除不可见或被遮挡内容的布尔值。
Definition: fs_pdfdoc.h:471
Definition: fs_pdfform.h:44
common::Rotation rotation
页面旋转。请参考从 common::e_Rotation0 开始的值, 这应该是这些值中的一个。
Definition: fs_pdfdoc.h:559
uint32 flags
水印标志。
Definition: fs_pdfdoc.h:197
TableOfContentsConfig & operator=(const TableOfContentsConfig &other)
赋值操作符。
Definition: fs_pdfdoc.h:634
当文档打开时,缩略图可见。
Definition: fs_pdfdoc.h:994
bool enable_remove_hidden_layer
指示是否删除隐藏图层(可选内容组)的布尔值。
Definition: fs_pdfdoc.h:464
HiddenInfoSettingData()
构造一个HiddenDataSetting对象,默认启用所有删除选项。
Definition: fs_pdfdoc.h:375
void InsertDocument(int dest_index, const PDFDoc &src_doc, uint32 options)
将另一个PDF文档插入到当前PDF文档的指定位置。
TableOfContentsConfig()
构造函数。
Definition: fs_pdfdoc.h:621
#define NULL
空指针值。
Definition: fx_system.h:792
Definition: fs_signature.h:99
页面尺寸:letter(信纸)。
Definition: fs_pdfpage.h:501
void RemoveSignature(const foxit::pdf::Signature &signature)
删除签名。
WString title
目录的标题。如果这是空字符串,将使用默认值"Table of Contents"。
Definition: fs_pdfdoc.h:700
PayLoadData()
构造函数。
Definition: fs_pdfdoc.h:286
加密类型:福昕DRM加密。
Definition: fs_pdfdoc.h:804
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:528
PageBasicInfo(const PageBasicInfo &page_info)
使用另一个页面基本信息对象的构造函数。
Definition: fs_pdfdoc.h:517
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:603
bool RemovePage(int index)
通过页面索引删除PDF页面。
void SetCacheFile(foxit::common::file::StreamCallback *file_stream, bool is_own_file_stream)
设置缓存文件 (代表文件流) 到当前PDF文档。
WrapperData()
构造函数。
Definition: fs_pdfdoc.h:204
Definition: fs_bookmark.h:57
bool HasHeaderFooter()
检查当前文档是否有页眉页脚。
void Set(float width, float height, common::Rotation rotation)
设置值。
Definition: fs_pdfdoc.h:544
Definition: fs_readingbookmark.h:43
UserPermissions
PDF文档中用户访问权限的枚举。
Definition: fs_pdfdoc.h:818
WrapperData(const WrapperData &wrapper_data)
使用另一个包装器数据对象的构造函数。
Definition: fs_pdfdoc.h:228
Foxit包装文档。
Definition: fs_pdfdoc.h:1028
PayLoadData GetPayLoadData()
如果当前文档的包装类型是 PDFDoc::e_WrapperPDFV2,获取载荷数据。
uint32 AddIndirectObject(objects::PDFObject *pdf_object)
将PDF对象添加到当前PDF文档中,成为间接对象。
bool MovePageTo(const PDFPage &page, int dest_index)
将指定页面移动到新位置。