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"
24 #include "pdf/objects/fs_pdfobject.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 {
65 e_FlagAsPageContents = 0x0000,
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)
92 : row_space(row_space)
93 , col_space(col_space)
94 , rotation(rotation)
95 , opacity(opacity)
96 , scale(scale)
97 , flags(flags){}
98
106 TiledWatermarkSettings()
107 : row_space(2.0)
108 , col_space(2.0)
109 , rotation(0)
110 , opacity(100)
111 , scale(100)
112 , flags(0){}
113
119 TiledWatermarkSettings(const TiledWatermarkSettings& settings)
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
134 TiledWatermarkSettings& operator = (const TiledWatermarkSettings& settings) {
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
194 uint32 flags;
195
196 };
198 class WrapperData FS_FINAL : public Object {
199 public:
201 WrapperData()
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)
218 , description(description) {}
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;
270 WString type;
272 WString app_id;
274 WString uri;
276 WString description;
277 };
278
280 class PayLoadData FS_FINAL {
281 public:
283 PayLoadData()
284 : version(0.0f)
285 , file_size (0){}
286
296 PayLoadData(float version, const wchar_t* crypto_filter, const wchar_t* file_name,
297 foxit::int64 file_size,
298 const wchar_t* description)
299 : version(version)
300 , crypto_filter(crypto_filter)
301 , file_name(file_name)
302 , file_size(file_size)
303 , description(description)
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,
345 int64 file_size,
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;
357 WString crypto_filter;
359 WString file_name;
361 int64 file_size;
363 WString description;
364 };
365
367 class HiddenInfoSettingData FS_FINAL: public Object{
368 public:
372 HiddenInfoSettingData()
373 : enable_remove_metadata(true)
374 , enable_remove_fileattachment(true)
375 , enable_remove_bookmark(true)
376 , enable_remove_searchIndex(true)
377 , enable_remove_comment(true)
378 , enable_remove_form_fields(true)
379 , enable_remove_hidden_text(true)
380 , enable_remove_hidden_layer(true)
381 , enable_remove_content(true)
382 , enable_remove_link(true)
383 , enable_remove_overlaping(true) { }
384
392 HiddenInfoSettingData & operator = (const HiddenInfoSettingData & data) {
393 enable_remove_metadata = data.enable_remove_metadata;
394 enable_remove_fileattachment = data.enable_remove_fileattachment;
395 enable_remove_bookmark = data.enable_remove_bookmark;
396 enable_remove_searchIndex = data.enable_remove_searchIndex;
397 enable_remove_comment = data.enable_remove_comment;
398 enable_remove_form_fields = data.enable_remove_form_fields;
399 enable_remove_hidden_text = data.enable_remove_hidden_text;
400 enable_remove_hidden_layer = data.enable_remove_hidden_layer;
401 enable_remove_content = data.enable_remove_content;
402 enable_remove_link = data.enable_remove_link;
403 enable_remove_overlaping = data.enable_remove_overlaping;
404 return *this;
405 }
406
412 bool enable_remove_metadata;
413
419 bool enable_remove_fileattachment;
420
426 bool enable_remove_bookmark;
427
433 bool enable_remove_searchIndex;
434
440 bool enable_remove_comment;
441
447 bool enable_remove_form_fields;
448
454 bool enable_remove_hidden_text;
455
461 bool enable_remove_hidden_layer;
462
468 bool enable_remove_content;
469
475 bool enable_remove_link;
476
482 bool enable_remove_overlaping;
483 };
484
489 class PageBasicInfo FS_FINAL : public Object {
490 public:
499 PageBasicInfo(float width, float height, common::Rotation rotation)
500 : width(width)
501 , height(height)
502 , rotation(rotation) {}
503
505 PageBasicInfo()
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) {}
525 PageBasicInfo& operator = (const PageBasicInfo& page_info) {
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;
556 common::Rotation rotation;
557 };
558
560 FSDK_DEFINE_ARRAY(PageBasicInfoArray, PageBasicInfo)
561
562
566 class EmbeddedFontData FS_FINAL : public Object {
567 public:
569 EmbeddedFontData() {}
570
576 EmbeddedFontData(const EmbeddedFontData& other)
577 : nonstandard_font_name_array(other.nonstandard_font_name_array)
578 , standard_font_name_array(other.standard_font_name_array) {}
579
587 EmbeddedFontData& operator=(const EmbeddedFontData& other) {
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
594 WStringArray nonstandard_font_name_array;
596 WStringArray standard_font_name_array;
597 };
598
600 class TableOfContentsConfig FS_FINAL : public Object{
601 public:
611 TableOfContentsConfig(const wchar_t* title, Int32Array bookmark_level_array, bool is_show_serial_number, bool include_toc_pages)
612 : title(title)
613 , bookmark_level_array(bookmark_level_array)
614 , is_show_serial_number(is_show_serial_number)
615 , include_toc_pages(include_toc_pages){}
616
618 TableOfContentsConfig()
619 : title(L"")
620 , bookmark_level_array(NULL)
621 , is_show_serial_number(false)
622 , include_toc_pages(false){}
623
631 TableOfContentsConfig& operator = (const TableOfContentsConfig& other) {
632 this->title = other.title;
633 this->bookmark_level_array = other.bookmark_level_array;
634 this->is_show_serial_number = other.is_show_serial_number;
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) {
648 if (this->bookmark_level_array.GetSize() != other.bookmark_level_array.GetSize())
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;
669 if (this->bookmark_level_array.GetSize() != other.bookmark_level_array.GetSize())
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
689 void Set(const wchar_t* title, Int32Array bookmark_level_array, bool is_show_serial_number, bool include_toc_pages) {
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
697 WString title;
698
705 Int32Array bookmark_level_array;
706
708 bool is_show_serial_number;
713 bool include_toc_pages;
714 };
715
768 class PDFDoc FS_FINAL : public Base {
769 public:
775 typedef enum _PasswordType {
777 e_PwdInvalid = 0,
779 e_PwdNoPassword = 1,
781 e_PwdUser = 2,
783 e_PwdOwner = 3
784 } PasswordType;
785
791 typedef enum _EncryptType {
793 e_EncryptUnknown = -1,
795 e_EncryptNone = 0,
797 e_EncryptPassword = 1,
799 e_EncryptCertificate = 2,
801 e_EncryptFoxitDRM = 3,
803 e_EncryptCustom = 4,
805 e_EncryptRMS = 5,
807 e_EncryptCDRM = 6
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,
852 e_PermExtractAccess = 0x0200,
859 e_PermAssemble = 0x0400,
865 e_PermPrintHigh = 0x0800
866 } UserPermissions;
867
872 typedef enum _SaveFlags {
878 e_SaveFlagNormal = 0,
886 e_SaveFlagIncremental = 0x0001,
894 e_SaveFlagNoOriginal = 0x0002,
899 e_SaveFlagXRefStream = 0x0008,
906 e_SaveFlagLinearized = 0x1000,
913 e_SaveFlagRemoveRedundantObjects = 0x0010,
920 e_SaveFlagNoUpdatingMetadataDateTime = 0x0020
921 } SaveFlags;
922
928 typedef enum _ImportPageFlags {
930 e_ImportFlagNormal = 0,
932 e_ImportFlagWithLayers = 0x0001,
938 e_ImportFlagShareStream = 0x0002
939 } ImportPageFlags;
940
946 typedef enum _ExtractPagesOptions {
948 e_ExtractPagesOptionAnnotation = 0x0001,
950 e_ExtractPagesOptionStructureTree = 0x0002,
952 e_ExtractPagesOptionJavascript = 0x0004,
954 e_ExtractPagesOptionOCProperties = 0x0008,
959 e_ExtractPagesOptionObjectStream = 0x0010,
961 e_ExtractPagesOptionAttachFiles = 0x0020,
963 e_ExtractPagesOptionBookmark = 0x0040,
965 e_ExtractPagesOptionSignature = 0x0080
966 } ExtractPagesOptions;
967
973 typedef enum _InsertDocOptions {
975 e_InsertDocOptionAttachments = 0x0001,
977 e_InsertDocOptionBookmark = 0x0002
978 } InsertDocOptions;
979
985 typedef enum _DisplayMode {
987 e_DisplayUseNone = 0,
989 e_DisplayUseOutlines = 1,
991 e_DisplayUseThumbs = 2,
995 e_DisplayFullScreen = 3,
997 e_DisplayUseOC = 4,
999 e_DisplayUseAttachment = 5
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 {
1023 e_WrapperNone = 0,
1025 e_WrapperFoxit = 1,
1027 e_WrapperPDFV2 = 2
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
1349 EncryptType GetEncryptionType() const;
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
1439 StdEncryptData GetStdEncryptData() const;
1440
1448 CertificateEncryptData GetCertificateEncryptData() const;
1449
1457 DRMEncryptData GetDRMEncryptData() const;
1458
1466 CustomEncryptData GetCustomEncryptData() const;
1467
1478 RMSEncryptData GetRMSEncryptData() const;
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
1630 common::Progressive StartSaveAs(foxit::common::file::WriterCallback* file,
1631 foxit::uint32 save_flags = PDFDoc::e_SaveFlagNormal,
1632 foxit::common::PauseCallback* pause = NULL);
1633
1641 Bookmark GetRootBookmark();
1642
1650 Bookmark CreateRootBookmark();
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
1776 objects::PDFDictionary* GetCatalog() const;
1777
1784 objects::PDFDictionary* GetTrailer() const;
1785
1794 objects::PDFDictionary* GetInfo() const;
1795
1802 objects::PDFDictionary* GetEncryptDict() const;
1803
1810 objects::PDFDictionary* GetPagesDict() const;
1811
1819 objects::PDFObject* GetIndirectObject(uint32 object_number);
1820
1837 uint32 AddIndirectObject(objects::PDFObject* pdf_object);
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
1894 PayLoadData GetPayLoadData();
1895
1911 common::Progressive StartGetPayloadFile(foxit::common::file::WriterCallback* payload_file, common::PauseCallback* pause = NULL);
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
1987 int GetReadingBookmarkCount();
1988
1997 ReadingBookmark GetReadingBookmark(int index);
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
2037 foxit::pdf::Signature GetSignature(int index);
2038
2048 void RemoveSignature(const foxit::pdf::Signature& signature);
2049
2062 PDFPage InsertPage(int index, float width, float height);
2075 PDFPage InsertPage(int index, foxit::pdf::PDFPage::Size size = PDFPage::e_SizeLetter);
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
2227 common::Progressive StartImportPagesFromFilePath(int dest_index,
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);
2279 common::Progressive StartImportPagesFromFilePath(int dest_index,
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
2400 common::Progressive StartExtractPages(foxit::common::file::WriterCallback* file, uint32 options, const foxit::common::Range& page_range = common::Range(),
2401 foxit::common::PauseCallback* pause = NULL);
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
2577 SecurityHandler GetSecurityHandler();
2578
2587 bool RemoveSecurity();
2588
2596 int GetFontCount();
2597
2606 common::Font GetFont(int index);
2607
2613 actions::Action GetOpenAction();
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
2676 PageBasicInfoArray GetAllPageBasicInfo();
2677
2685 EmbeddedFontData GetEmbeddedFontData();
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
2753 common::Progressive StartRecognizeForm(common::PauseCallback* pause = NULL);
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
2819 common::Progressive StartEmbedAllFonts(common::PauseCallback* pause = NULL);
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
2901 common::Progressive StartAddTiledWatermark(foxit::common::file::ReaderCallback* src_img_stream, const TiledWatermarkSettings& settings, const common::Range& page_range, common::PauseCallback* pause = NULL);
2902
2927 common::Progressive StartAddTiledWatermark(const foxit::pdf::PDFPage& page, const TiledWatermarkSettings& settings, const common::Range& page_range, common::PauseCallback* pause = NULL);
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
foxit::pdf::TableOfContentsConfig::include_toc_pages
bool include_toc_pages
true 表示在目录的页码计算中包含目录页面， false 表示在目录的页码计算中排除目录页面。
Definition: fs_pdfdoc.h:713
foxit::pdf::PDFDoc::GetPageBasicInfo
PageBasicInfo GetPageBasicInfo(int index)
通过索引获取指定页面的基本信息。
foxit::pdf::PDFDoc::ImportPageFlags
ImportPageFlags
导入页面使用的标志枚举。
Definition: fs_pdfdoc.h:928
foxit::pdf::TiledWatermarkSettings::TiledWatermarkSettings
TiledWatermarkSettings(const TiledWatermarkSettings &settings)
使用另一个平铺水印设置对象的构造函数。
Definition: fs_pdfdoc.h:119
foxit::pdf::HiddenInfoSettingData::enable_remove_form_fields
bool enable_remove_form_fields
指示是否删除交互式表单字段的布尔值。
Definition: fs_pdfdoc.h:447
foxit::pdf::PDFDoc::StartRecognizeForm
common::Progressive StartRecognizeForm(common::PauseCallback *pause=0)
开始识别表单域。
foxit::pdf::PDFDoc::SaveAsWrapperFile
bool SaveAsWrapperFile(const wchar_t *file_path, const WrapperData *wrapper_data=0, uint32 user_permissions=0xFFFFFFFC, const char *owner_password="")
将当前PDF文档另存为包装文件。
foxit::pdf::PDFDoc::GetRootBookmark
Bookmark GetRootBookmark()
获取书签根节点。
foxit::pdf::PDFDoc::e_PermAnnotForm
操作文本注释和填写交互式表单字段。（权限值中的第6位）
Definition: fs_pdfdoc.h:840
foxit::pdf::TiledWatermarkSettings::Flags
Flags
平铺水印设置标志的枚举。
Definition: fs_pdfdoc.h:63
foxit::pdf::objects::PDFStream
Definition: fs_pdfobject.h:448
foxit::pdf::WrapperData::version
int version
包装器版本。
Definition: fs_pdfdoc.h:268
foxit::pdf::PDFDoc::e_Forms
如果设置，表单字段将从FDF/XFDF文档导入或导出到FDF/XFDF文档。
Definition: fs_pdfdoc.h:1009
foxit::pdf::PDFDoc::~PDFDoc
~PDFDoc()
析构函数。
foxit::pdf::PDFDoc::GetReadingBookmarkCount
int GetReadingBookmarkCount()
获取阅读书签的数量。
foxit::pdf::PDFDoc::RemoveBookmark
bool RemoveBookmark(const Bookmark &bookmark)
删除指定的书签。
foxit::pdf::EmbeddedFontData::standard_font_name_array
WStringArray standard_font_name_array
标准字体的嵌入字体名称数组，如果要取消嵌入可以被系统字体替换。
Definition: fs_pdfdoc.h:596
foxit::pdf::PayLoadData::Set
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
foxit::pdf::PDFDoc::e_Annots
如果设置，注释（链接注释除外）将从FDF/XFDF文档导入或导出到FDF/XFDF文档。
Definition: fs_pdfdoc.h:1011
foxit::pdf::PDFDoc::CreateRootBookmark
Bookmark CreateRootBookmark()
创建新的书签根节点。
foxit::pdf::PDFDoc::SetSecurityHandler
bool SetSecurityHandler(const SecurityHandler &handler)
为加密设置PDF安全处理程序，如标准加密（密码）、 证书加密等。
foxit::pdf::PDFDoc::StartSaveAs
common::Progressive StartSaveAs(const char *file_path, uint32 save_flags=PDFDoc::e_SaveFlagNormal, common::PauseCallback *pause=0)
开始将当前PDF文档另存为另一个PDF文件。
foxit::pdf::PDFDoc::operator==
bool operator==(const PDFDoc &other) const
相等操作符。
foxit::pdf::TiledWatermarkSettings::TiledWatermarkSettings
TiledWatermarkSettings()
构造函数并设置默认值。
Definition: fs_pdfdoc.h:106
foxit::common::Range
Definition: fs_common.h:1364
IFX_FileWrite
文件写入接口。
Definition: fx_stream.h:470
foxit::pdf::PDFDoc::GetFirstAvailPageIndex
int GetFirstAvailPageIndex() const
获取第一个可用页面的页面索引。
foxit::pdf::PDFDoc::ClearRenderCache
void ClearRenderCache()
清除渲染过程中使用的缓存，以减少内存使用。
foxit::pdf::PDFDoc::HasForm
bool HasForm() const
检查当前PDF文档是否有交互式表单（也称为AcroForm）。
foxit::pdf::HiddenInfoSettingData::enable_remove_fileattachment
bool enable_remove_fileattachment
指示是否删除嵌入文件附件的布尔值。
Definition: fs_pdfdoc.h:419
foxit::pdf::PDFDoc::GetStdEncryptData
StdEncryptData GetStdEncryptData() const
获取标准加密（称为密码加密）的加密数据。
foxit::pdf::TableOfContentsConfig::TableOfContentsConfig
TableOfContentsConfig(const wchar_t *title, Int32Array bookmark_level_array, bool is_show_serial_number, bool include_toc_pages)
带参数的构造函数。
Definition: fs_pdfdoc.h:611
foxit::pdf::TiledWatermarkSettings::e_FlagInvisible
如果设置，不显示水印。
Definition: fs_pdfdoc.h:73
foxit::pdf::HiddenInfoSettingData::enable_remove_link
bool enable_remove_link
指示是否删除超链接注释的布尔值。
Definition: fs_pdfdoc.h:475
foxit::pdf::PDFDoc::Load
ErrorCode Load(const String &password="")
使用指定密码加载当前文档内容。
foxit::pdf::TiledWatermarkSettings
Definition: fs_pdfdoc.h:56
foxit::pdf::TableOfContentsConfig::is_show_serial_number
bool is_show_serial_number
true 表示在目录中显示序列号，false 表示不显示序列号。
Definition: fs_pdfdoc.h:708
foxit::pdf::PDFDoc::GetRMSEncryptData
RMSEncryptData GetRMSEncryptData() const
获取RMS加密的加密数据。
foxit::pdf::PDFDoc::StartSaveAsPayloadFile
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中定义）。
foxit::Object
CFX_Object Object
对象类型。
Definition: fs_basictypes.h:220
foxit::pdf::PDFDoc::e_SaveFlagNormal
正常保存文档，不使用任何特殊标志。
Definition: fs_pdfdoc.h:878
foxit::pdf::PDFDoc::e_PermExtract
提取PDF内容。（权限值中的第5位）
Definition: fs_pdfdoc.h:834
foxit::pdf::annots::AnnotArray
Definition: fs_annot.h:1586
foxit::pdf::PDFDoc::HidePageTemplate
bool HidePageTemplate(const wchar_t *template_name)
隐藏命名页面。
foxit::pdf::PayLoadData::version
float version
用于加密此字典引用的加密有效载荷的加密过滤器的版本号。
Definition: fs_pdfdoc.h:355
foxit::pdf::PDFDoc::e_PermAssemble
组装PDF文档。（权限值中的第11位）
Definition: fs_pdfdoc.h:859
foxit::pdf::HiddenInfoSettingData::enable_remove_metadata
bool enable_remove_metadata
指示是否删除文档元数据的布尔值。
Definition: fs_pdfdoc.h:412
foxit::common::e_RotationUnknown
未知旋转。
Definition: fs_common.h:67
foxit::pdf::PDFDoc::e_EncryptPassword
加密类型：密码，这是标准加密。
Definition: fs_pdfdoc.h:797
fs_headerfooter.h
页眉页脚相关定义和类的头文件。
foxit::pdf::TableOfContentsConfig::operator==
bool operator==(const TableOfContentsConfig &other) const
相等操作符。
Definition: fs_pdfdoc.h:646
foxit::pdf::PDFDoc::ExportAnnotToFDF
bool ExportAnnotToFDF(const annots::Annot &pdf_annot, const fdf::FDFDoc &fdf_doc)
将指定的注释导出到FDF/XFDF文档。
foxit::pdf::PayLoadData::PayLoadData
PayLoadData(const PayLoadData &payload_data)
使用另一个有效载荷数据对象的构造函数。
Definition: fs_pdfdoc.h:311
foxit::pdf::PDFDoc::GetTrailer
objects::PDFDictionary * GetTrailer() const
获取拖车字典。
foxit::pdf::PDFDoc::WrapperType
WrapperType
包装类型的枚举。
Definition: fs_pdfdoc.h:1021
foxit::pdf::TiledWatermarkSettings::e_FlagAsPageContents
如果设置，水印在插入到PDF页面时将成为页面内容的一部分。
Definition: fs_pdfdoc.h:65
foxit::pdf::PDFDoc::e_PermModify
修改PDF内容。（权限值中的第4位）
Definition: fs_pdfdoc.h:828
foxit::pdf::PDFDoc::AddPagingSealSignature
PagingSealSignature AddPagingSealSignature(const common::Range &page_range, float width, float height, bool to_check_permission=true)
按页面范围向文档添加骑缝章签名。
foxit::pdf::PDFDoc::GetSecurityHandler
SecurityHandler GetSecurityHandler()
获取当前文档的当前PDF安全处理程序。
foxit::pdf::TableOfContentsConfig::bookmark_level_array
Int32Array bookmark_level_array
书签级别数组，用于指定用于生成"目录"的书签。 对于输入数组中的每个元素，有效范围：从1到(depth)。 depth 由函数 PDFDoc::GetBookmarkLevelDepth 返回。 如果输...
Definition: fs_pdfdoc.h:705
foxit::pdf::TiledWatermarkSettings::row_space
float row_space
平铺水印多行的行间距。单位为英寸，不能是负数。
Definition: fs_pdfdoc.h:171
foxit::pdf::HiddenInfoSettingData::enable_remove_hidden_text
bool enable_remove_hidden_text
指示是否删除隐藏文本的布尔值。
Definition: fs_pdfdoc.h:454
foxit::WStringArray
Definition: fs_basictypes.h:227
foxit::pdf::PDFDoc::SetOpenAction
bool SetOpenAction(actions::Action &action)
设置文档打开时要执行的动作。
foxit::pdf::EmbeddedFontData
Definition: fs_pdfdoc.h:566
foxit::pdf::TiledWatermarkSettings::TiledWatermarkSettings
TiledWatermarkSettings(float row_space, float col_space, float rotation, int opacity, int scale, uint32 flags)
带参数的构造函数。
Definition: fs_pdfdoc.h:91
foxit::pdf::PDFDoc::e_PwdUser
PDF文档中使用用户密码。
Definition: fs_pdfdoc.h:781
foxit::pdf::PayLoadData::description
WString description
有效载荷文件的描述，用于向应用程序显示或向用户提供提示信息。
Definition: fs_pdfdoc.h:363
foxit::pdf::PDFDoc::e_SaveFlagNoUpdatingMetadataDateTime
保存文档时不更新元数据"ModDate"和"CreationDate"。
Definition: fs_pdfdoc.h:920
foxit::pdf::PDFDoc::ImportFromFDF
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文档导入表单字段和注释。
foxit::pdf::PDFDoc::GetAnnotsByIdArray
annots::AnnotArray GetAnnotsByIdArray(const WStringArray &unique_id_arr)
通过唯一ID数组返回注释数组。
foxit::pdf::PageBasicInfo::PageBasicInfo
PageBasicInfo()
构造函数。
Definition: fs_pdfdoc.h:505
foxit::pdf::PDFDoc::StartLoad
common::Progressive StartLoad(const String &password="", bool is_cache_stream=true, common::PauseCallback *pause=0)
开始使用指定密码加载当前文档内容。
foxit::pdf::PDFDoc::GetWrapperOffset
int64 GetWrapperOffset() const
如果当前文档的包装类型是 PDFDoc::e_WrapperFoxit，获取包装偏移量。
foxit::pdf::PDFDoc::StartImportPages
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文档对象）导入页面。
foxit::pdf::PDFDoc::MovePagesTo
bool MovePagesTo(const common::Range &page_range, int dest_index)
将一个或多个页面（按索引指定）移动到新位置。
CFX_ArrayTemplate::GetSize
int GetSize() const
获取数组中元素的数量。
Definition: fx_basic.h:1341
foxit::pdf::PayLoadData::crypto_filter
WString crypto_filter
用于加密加密有效载荷文档的加密过滤器名称。
Definition: fs_pdfdoc.h:357
fs_file.h
文件操作相关定义和函数的头文件。
foxit::pdf::TableOfContentsConfig::operator !=
bool operator !=(const TableOfContentsConfig &other) const
不等操作符。
Definition: fs_pdfdoc.h:666
IFX_FileRead
文件读取接口。
Definition: fx_stream.h:587
foxit::pdf::PDFDoc::UpdateHeaderFooter
void UpdateHeaderFooter(const HeaderFooter &headerfooter)
更新页眉页脚。
foxit::pdf::PDFDoc::e_ImportFlagWithLayers
导入页面时包含图层。
Definition: fs_pdfdoc.h:932
foxit::pdf::PDFDoc::e_ExtractPagesOptionStructureTree
如果设置，表示结构树也将被提取。
Definition: fs_pdfdoc.h:950
foxit::pdf::PDFDoc::GetCatalog
objects::PDFDictionary * GetCatalog() const
获取目录字典。
foxit::pdf::PDFDoc::e_EncryptCustom
加密类型：自定义加密。
Definition: fs_pdfdoc.h:803
CFX_WideString
宽字符串类
Definition: fx_string.h:1457
foxit::pdf::PDFDoc::IsLinearized
bool IsLinearized() const
检查当前PDF文档是否为线性化文件。
foxit::pdf::WrapperData::description
WString description
包装器文件的描述，用于向应用程序显示或向用户提供提示信息。
Definition: fs_pdfdoc.h:276
foxit::pdf::PDFDoc::e_SaveFlagNoOriginal
保存文档时不包含原始数据或未更改的对象。
Definition: fs_pdfdoc.h:894
foxit::pdf::PDFDoc::e_SaveFlagIncremental
增量保存文档。
Definition: fs_pdfdoc.h:886
foxit::pdf::PDFDoc::IsWrapper
bool IsWrapper() const
检查当前文档是否为包装文件。
foxit::WString
CFX_WideString WString
宽字符串。
Definition: fs_basictypes.h:222
foxit::pdf::PDFDoc::SetFileVersion
void SetFileVersion(int version)
设置将存储在保存的PDF文件的PDF头部部分中的PDF文件版本。
foxit::pdf::PDFDoc::ExportFormFieldsToFDF
bool ExportFormFieldsToFDF(const pdf::interform::FieldArray &field_array, bool is_include, const fdf::FDFDoc &fdf_doc)
将指定的表单字段导出到FDF/XFDF文档。
foxit::pdf::PDFDoc::GetFileVersion
int GetFileVersion()
获取存储在PDF头部部分的PDF文件版本。
foxit::pdf::PageBasicInfo::height
float height
页面高度（单位为1/72英寸）。
Definition: fs_pdfdoc.h:551
foxit::pdf::PDFDoc::e_PwdNoPassword
PDF文档中不使用密码。
Definition: fs_pdfdoc.h:779
foxit::pdf::PDFDoc::CheckPassword
PasswordType CheckPassword(const String &password)
检查指定密码的类型。
foxit::pdf::PDFDoc::GetPasswordType
PasswordType GetPasswordType() const
获取当前使用的密码类型。
foxit::uint64
FX_UINT64 uint64
无符号 64 位整数。
Definition: fs_basictypes.h:191
foxit::pdf::PDFDoc::GetUserPermissions
uint32 GetUserPermissions() const
获取用户访问权限。
foxit::pdf::PDFDoc::GetEditableHeaderFooter
HeaderFooter GetEditableHeaderFooter()
获取可编辑的页眉页脚对象。
foxit::pdf::PDFDoc::e_ExtractPagesOptionAttachFiles
如果设置，表示附件文件也将被提取。
Definition: fs_pdfdoc.h:961
foxit::pdf::PDFDoc::e_PermPrintHigh
以更高质量打印PDF文档。（权限值中的第12位）
Definition: fs_pdfdoc.h:865
foxit::pdf::PayLoadData
Definition: fs_pdfdoc.h:280
foxit::pdf::PDFDoc
Definition: fs_pdfdoc.h:768
foxit::pdf::HiddenInfoSettingData
用于从PDF文档中删除隐藏或敏感数据的配置设置。
Definition: fs_pdfdoc.h:367
foxit::pdf::PDFDoc::e_WrapperNone
普通文档。
Definition: fs_pdfdoc.h:1023
foxit::pdf::DRMEncryptData
Definition: fs_security.h:542
foxit::pdf::PayLoadData::operator=
PayLoadData & operator=(const PayLoadData &payload_data)
赋值操作符。
Definition: fs_pdfdoc.h:326
foxit::pdf::PDFDoc::InsertReadingBookmark
ReadingBookmark InsertReadingBookmark(int reading_bookmark_index, const WString &title, int dest_page_index)
向当前PDF文档插入阅读书签。
foxit::pdf::PDFDoc::GetBookmarkLevelDepth
int GetBookmarkLevelDepth()
获取书签层级深度。
foxit::pdf::PDFDoc::IsEmpty
bool IsEmpty() const
检查当前对象是否为空。
foxit::pdf::PDFDoc::RemoveAllHeaderFooters
bool RemoveAllHeaderFooters()
删除所有页眉页脚。
foxit::pdf::PayLoadData::file_size
int64 file_size
有效载荷文件大小。
Definition: fs_pdfdoc.h:361
foxit::pdf::PDFDoc::e_Links
（保留，尚未支持）如果设置，只有链接注释将从XFDF文档导入或导出到XFDF文档。
Definition: fs_pdfdoc.h:1013
foxit::pdf::PDFDoc::ExportToFDF
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文档。
foxit::pdf::PDFDoc::IsOwnerPassword
bool IsOwnerPassword(const String &password)
检查输入密码是否为当前PDF文档的所有者密码。
foxit::pdf::WatermarkTextProperties
Definition: fs_watermark.h:349
foxit::pdf::PDFDoc::e_PwdOwner
PDF文档中使用所有者密码。
Definition: fs_pdfdoc.h:783
foxit::pdf::TiledWatermarkSettings::e_FlagOnTop
如果设置，在其他页面内容之上显示水印。
Definition: fs_pdfdoc.h:69
foxit::pdf::PDFDoc::ExtractPagesOptions
ExtractPagesOptions
提取页面使用的选项枚举。
Definition: fs_pdfdoc.h:946
fs_bookmark.h
书签相关定义和类的头文件。
foxit::pdf::PDFDoc::PDFDoc
PDFDoc()
构造函数。
foxit::fdf::FDFDoc
Definition: fs_fdfdoc.h:51
foxit::pdf::PDFDoc::GetPagesDict
objects::PDFDictionary * GetPagesDict() const
获取"Pages"的字典。
foxit::pdf::RMSEncryptData
Definition: fs_security.h:879
foxit::pdf::EmbeddedFontData::EmbeddedFontData
EmbeddedFontData(const EmbeddedFontData &other)
使用另一个嵌入字体数据对象的构造函数。
Definition: fs_pdfdoc.h:576
foxit::pdf::StdEncryptData
Definition: fs_security.h:137
foxit::pdf::PDFDoc::e_ImportFlagShareStream
导入页面时不将流对象克隆到内存中。
Definition: fs_pdfdoc.h:938
foxit::pdf::PageBasicInfoArray
Definition: fs_pdfdoc.h:560
foxit::pdf::PDFDoc::StartGetPayloadFile
common::Progressive StartGetPayloadFile(foxit::common::file::WriterCallback *payload_file, common::PauseCallback *pause=0)
开始获取载荷文件。
foxit::pdf::PDFDoc::RemoveStructTree
void RemoveStructTree()
移除当前文档中的结构树。
fs_readingbookmark.h
阅读书签相关定义和类的头文件。
foxit::pdf::PDFDoc::DoJSOpenAction
bool DoJSOpenAction()
文档打开时执行JavaScript动作。
foxit::pdf::PDFDoc::e_ExtractPagesOptionOCProperties
如果设置，表示OCProperties也将被提取。
Definition: fs_pdfdoc.h:954
foxit::pdf::PDFDoc::GetSignatureCount
int GetSignatureCount()
获取签名数量。
foxit::pdf::PDFDoc::GetFileSize
uint64 GetFileSize()
获取文件大小。
foxit::pdf::EmbeddedFontData::nonstandard_font_name_array
WStringArray nonstandard_font_name_array
如果要取消嵌入时无法被系统字体替换的嵌入字体的字体名称数组。
Definition: fs_pdfdoc.h:594
foxit::pdf::PagingSealSignature
Definition: fs_signature.h:2035
foxit::pdf::PageBasicInfo
Definition: fs_pdfdoc.h:489
foxit::pdf::PDFDoc::SaveFlags
SaveFlags
PDF文档保存标志的枚举。
Definition: fs_pdfdoc.h:872
foxit::pdf::PDFDoc::LoadW
ErrorCode LoadW(const WString &password=WString())
使用指定密码加载当前文档内容。
foxit::ErrorCode
ErrorCode
错误代码的枚举。
Definition: fs_basictypes.h:236
foxit::pdf::PageBasicInfo::PageBasicInfo
PageBasicInfo(float width, float height, common::Rotation rotation)
带参数的构造函数。
Definition: fs_pdfdoc.h:499
foxit::pdf::WrapperData::type
WString type
包装器类型，用于指示当前包装器文件的类型。
Definition: fs_pdfdoc.h:270
foxit::pdf::TiledWatermarkSettings::scale
int scale
图像或页面的缩放百分比。有效范围：从1到100。 100表示图像或页面以其原始大小显示。默认值为100。
Definition: fs_pdfdoc.h:185
foxit::pdf::EmbeddedFontData::operator=
EmbeddedFontData & operator=(const EmbeddedFontData &other)
赋值操作符。
Definition: fs_pdfdoc.h:587
foxit::pdf::EmbeddedFontData::EmbeddedFontData
EmbeddedFontData()
构造函数。
Definition: fs_pdfdoc.h:569
foxit::pdf::PDFDoc::Sanitize
void Sanitize()
使用默认设置从当前PDF文档中删除所有隐藏或潜在敏感信息。
foxit::pdf::PDFDoc::GetFontCount
int GetFontCount()
计算当前PDF文档中使用的所有PDF字体。
foxit::pdf::PDFDoc::StartAddTiledWatermark
common::Progressive StartAddTiledWatermark(const wchar_t *text, const TiledWatermarkSettings &settings, const WatermarkTextProperties &properties, const common::Range &page_range, common::PauseCallback *pause=0)
添加文本平铺水印到页面中。
foxit::pdf::PDFDoc::e_ImportFlagNormal
正常导入页面。
Definition: fs_pdfdoc.h:930
foxit::pdf::WrapperData
Definition: fs_pdfdoc.h:198
IFX_FileStream
文件流接口，用于读取和写入。
Definition: fx_stream.h:692
foxit::pdf::PDFDoc::RemoveOpenAction
bool RemoveOpenAction()
移除文档打开时要执行的动作。
foxit::pdf::PDFDoc::e_DisplayUseNone
当文档打开时，文档大纲和缩略图都不可见。
Definition: fs_pdfdoc.h:987
foxit::pdf::PDFDoc::DisplayMode
DisplayMode
显示模式的枚举，指定文档打开时应如何显示。
Definition: fs_pdfdoc.h:985
foxit::pdf::PDFDoc::IsUserPassword
bool IsUserPassword(const String &password)
检查输入密码是否为当前PDF文档的用户密码。
foxit::pdf::PageBasicInfo::width
float width
页面宽度（单位为1/72英寸）。
Definition: fs_pdfdoc.h:548
foxit::pdf::TiledWatermarkSettings::operator=
TiledWatermarkSettings & operator=(const TiledWatermarkSettings &settings)
赋值操作符。
Definition: fs_pdfdoc.h:134
foxit::pdf::TableOfContentsConfig::Set
void Set(const wchar_t *title, Int32Array bookmark_level_array, bool is_show_serial_number, bool include_toc_pages)
设置值。
Definition: fs_pdfdoc.h:689
foxit::pdf::PDFDoc::GetEncryptionType
EncryptType GetEncryptionType() const
获取加密类型。
foxit::pdf::PDFDoc::HasLayer
bool HasLayer() const
检查当前PDF文档是否有图层（在《PDF参考手册1.7》中称为"可选内容组"）。
foxit::pdf::PDFDoc::GetEncryptDict
objects::PDFDictionary * GetEncryptDict() const
获取加密字典。
foxit::pdf::PDFDoc::StartEmbedAllFonts
common::Progressive StartEmbedAllFonts(common::PauseCallback *pause=0)
开始转换所有未嵌入字体为内嵌字体。
foxit::pdf::PDFDoc::GetPageText
WString GetPageText(int page_index) const
以显示顺序获取指定页面文本。
foxit::pdf::PDFPage::Size
Size
页面尺寸类型枚举。
Definition: fs_pdfpage.h:495
foxit::pdf::PayLoadData::file_name
WString file_name
有效载荷文件名。
Definition: fs_pdfdoc.h:359
IFX_Pause
Definition: fx_basic.h:3737
foxit::pdf::PDFDoc::e_ExtractPagesOptionSignature
如果设置，表示签名也将被提取。必须与 PDFDoc:e_ExtractPagesOptionAnnotation 结合使用。
Definition: fs_pdfdoc.h:965
foxit::pdf::PDFDoc::GetInfo
objects::PDFDictionary * GetInfo() const
获取信息字典。
foxit::pdf::PDFDoc::IsXFA
bool IsXFA() const
检查当前PDF文档是否为XFA文档。
foxit::pdf::TiledWatermarkSettings::e_FlagNoPrint
如果设置，不打印水印。
Definition: fs_pdfdoc.h:71
foxit::pdf::TiledWatermarkSettings::rotation
float rotation
旋转角度（度）。
Definition: fs_pdfdoc.h:175
foxit::pdf::PDFDoc::e_DisplayFullScreen
当文档打开时，全屏模式，没有菜单栏、窗口控件或任何其他窗口可见。
Definition: fs_pdfdoc.h:995
foxit::pdf::PDFDoc::e_PermPrint
以普通模式打印PDF文档。（权限值中的第3位）
Definition: fs_pdfdoc.h:821
foxit::pdf::PDFDoc::GetAllPageBasicInfo
PageBasicInfoArray GetAllPageBasicInfo()
获取所有页面的基本信息。
foxit::pdf::PDFDoc::e_EncryptCDRM
（保留，目前不使用此值。）加密类型：福昕连接PDF DRM加密。
Definition: fs_pdfdoc.h:807
foxit::pdf::PDFDoc::e_SaveFlagLinearized
将文档保存为线性化文件。
Definition: fs_pdfdoc.h:906
foxit::pdf::PDFDoc::e_DisplayUseOutlines
当文档打开时，文档大纲（书签）可见。
Definition: fs_pdfdoc.h:989
foxit::pdf::PDFDoc::IsPortfolio
bool IsPortfolio()
检查当前PDF文档是否为文档集文件。
foxit::pdf::PDFDoc::PasswordType
PasswordType
PDF文档中当前使用的密码类型的枚举。
Definition: fs_pdfdoc.h:775
foxit::pdf::PDFDoc::e_DisplayUseOC
当文档打开时，可选内容组面板可见。
Definition: fs_pdfdoc.h:997
foxit::common::Progressive
Definition: fs_common.h:373
CFX_ArrayTemplate< int32 >
foxit::pdf::PDFDoc::AddPageFromTemplate
PDFPage AddPageFromTemplate(const wchar_t *template_name)
从命名模板添加新的PDF页面到文档。
foxit::int64
FX_INT64 int64
有符号 64 位整数。
Definition: fs_basictypes.h:189
CFX_ArrayTemplate::GetAt
const TYPE GetAt(int nIndex) const
此方法检索由索引号指定的元素。
Definition: fx_basic.h:1377
foxit::pdf::PDFDoc::GetCustomEncryptData
CustomEncryptData GetCustomEncryptData() const
获取自定义加密的加密数据。
foxit::pdf::PDFDoc::e_ExtractPagesOptionAnnotation
如果设置，表示与提取页面相关的注释也将被提取。
Definition: fs_pdfdoc.h:948
foxit::pdf::PDFDoc::InsertDocOptions
InsertDocOptions
用于将PDF文档插入到另一个文档的选项枚举。
Definition: fs_pdfdoc.h:973
foxit::pdf::PDFDoc::e_PermExtractAccess
残疾人支持。（权限值中的第10位）
Definition: fs_pdfdoc.h:852
foxit::pdf::PDFDoc::DataType
DataType
用于决定从FDF/XFDF文档导入或导出哪些对象的数据类型枚举。
Definition: fs_pdfdoc.h:1007
foxit::uint32
FX_UINT32 uint32
无符号 32 位整数。
Definition: fs_basictypes.h:195
foxit::pdf::PDFDoc::SetDisplayMode
void SetDisplayMode(DisplayMode display_mode)
设置显示模式。
foxit::pdf::PDFDoc::e_SaveFlagRemoveRedundantObjects
保存文档时移除冗余的PDF对象。
Definition: fs_pdfdoc.h:913
foxit::pdf::PDFPage
Definition: fs_pdfpage.h:417
foxit::pdf::PDFDoc::RemoveReadingBookmark
bool RemoveReadingBookmark(const ReadingBookmark &reading_bookmark)
从当前PDF文档中删除阅读书签。
foxit::pdf::PDFDoc::e_EncryptCertificate
加密类型：数字证书加密。
Definition: fs_pdfdoc.h:799
foxit::FS_HANDLE
void * FS_HANDLE
句柄类型。
Definition: fs_basictypes.h:213
foxit::pdf::PDFDoc::GetWrapperType
WrapperType GetWrapperType() const
获取包装类型。
foxit::pdf::PDFDoc::GetEmbeddedFontData
EmbeddedFontData GetEmbeddedFontData()
获取嵌入字体数据。
foxit::pdf::PDFDoc::e_InsertDocOptionBookmark
如果设置，表示书签也将插入到目标文档中。
Definition: fs_pdfdoc.h:977
fs_common.h
通用定义和类的头文件。
foxit::pdf::PDFDoc::e_DisplayUseAttachment
当文档打开时，附件面板可见。
Definition: fs_pdfdoc.h:999
foxit::pdf::HiddenInfoSettingData::operator=
HiddenInfoSettingData & operator=(const HiddenInfoSettingData &data)
赋值操作符。
Definition: fs_pdfdoc.h:392
foxit::pdf::PDFDoc::GetReadingBookmark
ReadingBookmark GetReadingBookmark(int index)
通过索引获取阅读书签。
foxit::pdf::PDFDoc::e_EncryptNone
无加密模式。
Definition: fs_pdfdoc.h:795
foxit::pdf::WrapperData::Set
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
foxit::pdf::PDFDoc::e_PwdInvalid
密码无效。
Definition: fs_pdfdoc.h:777
foxit::pdf::PDFDoc::operator=
PDFDoc & operator=(const PDFDoc &other)
赋值操作符。
foxit::pdf::PDFDoc::e_ExtractPagesOptionBookmark
如果设置，表示书签也将被提取。
Definition: fs_pdfdoc.h:963
foxit::pdf::PDFDoc::DeleteIndirectObject
void DeleteIndirectObject(uint32 object_number)
通过间接对象编号删除间接对象。
foxit::pdf::HiddenInfoSettingData::enable_remove_searchIndex
bool enable_remove_searchIndex
指示是否删除搜索索引的布尔值。
Definition: fs_pdfdoc.h:433
foxit::pdf::CustomEncryptData
Definition: fs_security.h:754
foxit::pdf::PDFDoc::operator !=
bool operator !=(const PDFDoc &other) const
不等操作符。
foxit::pdf::PDFDoc::GetIndirectObject
objects::PDFObject * GetIndirectObject(uint32 object_number)
通过间接对象编号获取间接对象。
foxit::pdf::WrapperData::uri
WString uri
供消费者获取更多信息的URI。
Definition: fs_pdfdoc.h:274
foxit::pdf::TiledWatermarkSettings::col_space
float col_space
平铺水印多行的列间距。单位为英寸，不能是负数。
Definition: fs_pdfdoc.h:173
fs_pdfobject.h
PDF对象相关定义和类的头文件。
foxit::pdf::PDFDoc::e_EncryptRMS
加密类型：微软RMS加密。
Definition: fs_pdfdoc.h:805
foxit::Base
Definition: fs_basictypes.h:465
foxit::pdf::PDFDoc::e_InsertDocOptionAttachments
如果设置，表示附件也将插入到目标文档中。
Definition: fs_pdfdoc.h:975
foxit::pdf::PDFDoc::GetDisplayMode
DisplayMode GetDisplayMode() const
获取显示模式。
foxit::pdf::PDFDoc::GetHeader
String GetHeader() const
获取标识文件所符合的PDF规范版本的PDF头部。
foxit::pdf::PDFDoc::GetFont
common::Font GetFont(int index)
通过索引获取字体。
foxit::pdf::PDFDoc::e_PermFillForm
填写PDF表单。（权限值中的第9位）
Definition: fs_pdfdoc.h:846
foxit::pdf::PDFDoc::GetPageCount
int GetPageCount() const
获取页面数量。
foxit::pdf::HiddenInfoSettingData::enable_remove_comment
bool enable_remove_comment
指示是否删除注释和批注的布尔值。
Definition: fs_pdfdoc.h:440
foxit::pdf::HiddenInfoSettingData::enable_remove_overlaping
bool enable_remove_overlaping
指示是否删除重叠对象的布尔值。
Definition: fs_pdfdoc.h:482
foxit::pdf::PDFDoc::RemoveHiddenInfo
void RemoveHiddenInfo(const HiddenInfoSettingData &hidden_data_setting)
根据用户定义的设置从当前PDF文档中删除指定类型的隐藏信息。
fs_pdfpage.h
PDF页面相关定义和类的头文件。
foxit::pdf::PDFDoc::GetPage
PDFPage GetPage(int index)
通过索引获取PDF页面。
foxit::pdf::PDFDoc::RemoveSecurity
bool RemoveSecurity()
从当前文档中移除安全处理程序，以便后续保存的文档将是未加密的。
foxit::pdf::PDFDoc::GetCertificateEncryptData
CertificateEncryptData GetCertificateEncryptData() const
获取证书加密的加密数据。
foxit::pdf::WrapperData::WrapperData
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
foxit::pdf::annots::Annot
Definition: fs_annot.h:950
foxit::pdf::PDFDoc::InsertPage
PDFPage InsertPage(int index, float width, float height)
通过索引向文档插入新的空白PDF页面。
foxit::pdf::PDFDoc::e_SaveFlagXRefStream
使用XRef流保存文档。
Definition: fs_pdfdoc.h:899
foxit::pdf::SecurityHandler
Definition: fs_security.h:56
foxit::common::Font
Definition: fs_common.h:1519
foxit::pdf::objects::PDFDictionary
Definition: fs_pdfobject.h:848
foxit::pdf::PDFDoc::IsEncrypted
bool IsEncrypted() const
检查当前文档是否为加密文件。
foxit::pdf::TiledWatermarkSettings::Set
void Set(float row_space, float col_space, float rotation, int opacity, int scale, uint32 flags)
设置值。
Definition: fs_pdfdoc.h:161
foxit::pdf::PDFDoc::GetUserPassword
String GetUserPassword(const String &owner_password)
基于所有者密码获取用户密码。
foxit::pdf::PDFDoc::e_ExtractPagesOptionObjectStream
如果设置，表示对结果文件使用 PDFDoc::e_SaveFlagXRefStream 保存标志 以减少结果文件的大小。
Definition: fs_pdfdoc.h:959
foxit::pdf::PDFDoc::GetOpenAction
actions::Action GetOpenAction()
获取文档打开时要执行的动作。
foxit::pdf::PayLoadData::PayLoadData
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
foxit::pdf::PDFDoc::SaveAs
bool SaveAs(const char *file_path, uint32 save_flags=PDFDoc::e_SaveFlagNormal)
将当前PDF文档另存为另一个PDF文件。
foxit::common::Rotation
Rotation
旋转的枚举。
Definition: fs_common.h:57
foxit
Foxit命名空间。
Definition: fs_taggedpdf.h:27
foxit::pdf::objects::PDFObject
Definition: fs_pdfobject.h:55
foxit::pdf::WrapperData::operator=
WrapperData & operator=(const WrapperData &wrapper_data)
赋值操作符。
Definition: fs_pdfdoc.h:239
foxit::pdf::PDFDoc::GetDRMEncryptData
DRMEncryptData GetDRMEncryptData() const
获取Foxit DRM加密的加密数据。
foxit::pdf::actions::Action
Definition: fs_action.h:411
foxit::pdf::HiddenInfoSettingData::enable_remove_bookmark
bool enable_remove_bookmark
指示是否删除书签的布尔值。
Definition: fs_pdfdoc.h:426
foxit::pdf::WrapperData::app_id
WString app_id
应用程序标识，用于指示打开此包装器数据的应用程序。
Definition: fs_pdfdoc.h:272
foxit::pdf::PDFDoc::StartLoadW
common::Progressive StartLoadW(const WString &password=WString(), bool is_cache_stream=true, common::PauseCallback *pause=0)
开始使用指定密码加载当前文档内容。
foxit::pdf::PDFDoc::e_ExtractPagesOptionJavascript
如果设置，表示Javascript也将被提取。
Definition: fs_pdfdoc.h:952
foxit::pdf::TiledWatermarkSettings::e_FlagAsAnnot
如果设置，水印在插入到PDF页面时将成为注释，水印将显示在其他内容之上。
Definition: fs_pdfdoc.h:67
CFX_ByteString
字节字符串类
Definition: fx_string.h:317
foxit::pdf::PDFDoc::e_EncryptUnknown
未知加密类型。
Definition: fs_pdfdoc.h:793
foxit::pdf::PDFDoc::EncryptType
EncryptType
加密类型的枚举。
Definition: fs_pdfdoc.h:791
foxit::pdf::TiledWatermarkSettings::opacity
int opacity
不透明度百分比。有效范围：从0到100。 0表示完全透明，100表示完全不透明。
Definition: fs_pdfdoc.h:180
foxit::pdf::PDFDoc::CreateDSS
void CreateDSS()
在当前PDF文档中创建DSS信息。
foxit::pdf::PDFDoc::StartExtractPages
common::Progressive StartExtractPages(const char *file_path, uint32 options, const common::Range &page_range=common::Range(), common::PauseCallback *pause=0)
开始从当前PDF文档提取页面。
foxit::pdf::PDFDoc::IsTaggedPDF
bool IsTaggedPDF() const
检查当前PDF文档是否为标签化PDF文件。
foxit::pdf::PDFDoc::e_WrapperPDFV2
PDF 2.0包装文档。
Definition: fs_pdfdoc.h:1027
foxit::pdf::HiddenInfoSettingData::enable_remove_content
bool enable_remove_content
指示是否删除不可见或被遮挡内容的布尔值。
Definition: fs_pdfdoc.h:468
foxit::pdf::interform::FieldArray
Definition: fs_pdfform.h:44
foxit::pdf::PageBasicInfo::rotation
common::Rotation rotation
页面旋转。请参考从 common::e_Rotation0 开始的值， 这应该是这些值中的一个。
Definition: fs_pdfdoc.h:556
foxit::pdf::TiledWatermarkSettings::flags
uint32 flags
水印标志。
Definition: fs_pdfdoc.h:194
foxit::pdf::TableOfContentsConfig::operator=
TableOfContentsConfig & operator=(const TableOfContentsConfig &other)
赋值操作符。
Definition: fs_pdfdoc.h:631
foxit::pdf::PDFDoc::e_DisplayUseThumbs
当文档打开时，缩略图可见。
Definition: fs_pdfdoc.h:991
foxit::pdf::HiddenInfoSettingData::enable_remove_hidden_layer
bool enable_remove_hidden_layer
指示是否删除隐藏图层（可选内容组）的布尔值。
Definition: fs_pdfdoc.h:461
foxit::pdf::HiddenInfoSettingData::HiddenInfoSettingData
HiddenInfoSettingData()
构造一个HiddenDataSetting对象，默认启用所有删除选项。
Definition: fs_pdfdoc.h:372
foxit::pdf::PDFDoc::InsertDocument
void InsertDocument(int dest_index, const PDFDoc &src_doc, uint32 options)
将另一个PDF文档插入到当前PDF文档的指定位置。
foxit::pdf::TableOfContentsConfig::TableOfContentsConfig
TableOfContentsConfig()
构造函数。
Definition: fs_pdfdoc.h:618
NULL
#define NULL
空指针值。
Definition: fx_system.h:792
foxit::pdf::Signature
Definition: fs_signature.h:99
foxit::pdf::PDFPage::e_SizeLetter
页面尺寸：letter（信纸）。
Definition: fs_pdfpage.h:497
foxit::pdf::PDFDoc::RemoveSignature
void RemoveSignature(const foxit::pdf::Signature &signature)
删除签名。
foxit::pdf::TableOfContentsConfig::title
WString title
目录的标题。如果这是空字符串，将使用默认值"Table of Contents"。
Definition: fs_pdfdoc.h:697
foxit::pdf::PayLoadData::PayLoadData
PayLoadData()
构造函数。
Definition: fs_pdfdoc.h:283
foxit::pdf::PDFDoc::e_EncryptFoxitDRM
加密类型：福昕DRM加密。
Definition: fs_pdfdoc.h:801
foxit::pdf::PDFDoc::StartImportPagesFromFilePath
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文档（通过文件路径）导入页面。
foxit::pdf::PDFDoc::GetWrapperData
WrapperData GetWrapperData() const
如果当前文档的包装类型是 PDFDoc::e_WrapperFoxit，获取包装数据。
foxit::pdf::PageBasicInfo::operator=
PageBasicInfo & operator=(const PageBasicInfo &page_info)
赋值操作符。
Definition: fs_pdfdoc.h:525
foxit::pdf::PageBasicInfo::PageBasicInfo
PageBasicInfo(const PageBasicInfo &page_info)
使用另一个页面基本信息对象的构造函数。
Definition: fs_pdfdoc.h:514
foxit::pdf::PDFDoc::AddHeaderFooter
void AddHeaderFooter(const HeaderFooter &headerfooter)
添加新的页眉页脚。
foxit::pdf::PDFDoc::GetSignature
foxit::pdf::Signature GetSignature(int index)
通过索引获取签名。
foxit::pdf::CertificateEncryptData
Definition: fs_security.h:330
foxit::pdf::PDFDoc::AddTableOfContents
void AddTableOfContents(const wchar_t *title, Int32Array bookmark_level_array)
将页面作为目录插入到当前PDF文档的前面。
foxit::pdf::TableOfContentsConfig
Definition: fs_pdfdoc.h:600
foxit::fld::FLDDoc
Definition: fs_flddoc.h:25
foxit::pdf::PDFDoc::RemovePage
bool RemovePage(int index)
通过页面索引删除PDF页面。
foxit::pdf::PDFDoc::SetCacheFile
void SetCacheFile(foxit::common::file::StreamCallback *file_stream, bool is_own_file_stream)
设置缓存文件 (代表文件流) 到当前PDF文档。
foxit::pdf::WrapperData::WrapperData
WrapperData()
构造函数。
Definition: fs_pdfdoc.h:201
foxit::pdf::Bookmark
Definition: fs_bookmark.h:57
foxit::pdf::PDFDoc::HasHeaderFooter
bool HasHeaderFooter()
检查当前文档是否有页眉页脚。
foxit::pdf::PageBasicInfo::Set
void Set(float width, float height, common::Rotation rotation)
设置值。
Definition: fs_pdfdoc.h:541
foxit::pdf::ReadingBookmark
Definition: fs_readingbookmark.h:43
foxit::pdf::PDFDoc::UserPermissions
UserPermissions
PDF文档中用户访问权限的枚举。
Definition: fs_pdfdoc.h:815
foxit::pdf::WrapperData::WrapperData
WrapperData(const WrapperData &wrapper_data)
使用另一个包装器数据对象的构造函数。
Definition: fs_pdfdoc.h:225
foxit::pdf::PDFDoc::e_WrapperFoxit
Foxit包装文档。
Definition: fs_pdfdoc.h:1025
foxit::pdf::PDFDoc::GetPayLoadData
PayLoadData GetPayLoadData()
如果当前文档的包装类型是 PDFDoc::e_WrapperPDFV2，获取载荷数据。
foxit::pdf::PDFDoc::AddIndirectObject
uint32 AddIndirectObject(objects::PDFObject *pdf_object)
将PDF对象添加到当前PDF文档中，成为间接对象。
foxit::pdf::PDFDoc::MovePageTo
bool MovePageTo(const PDFPage &page, int dest_index)
将指定页面移动到新位置。