|
Foxit PDF SDK
|
Public 成员函数 | |
| PDFDoc () | |
| 构造函数。 更多... | |
| PDFDoc (const char *path) | |
| 构造函数,从现有PDF文件路径。 更多... | |
| PDFDoc (const wchar_t *path) | |
| 构造函数,从现有PDF文件路径。 更多... | |
| PDFDoc (const void *buffer, size_t size) | |
| 构造函数,从内存缓冲区。 更多... | |
| PDFDoc (common::file::ReaderCallback *file_read, bool is_async=false) | |
| 构造函数,使用文件读取回调对象。 更多... | |
| PDFDoc (const PDFDoc &other) | |
| 构造函数,通过另一个PDF文档对象。 更多... | |
| ~PDFDoc () | |
| 析构函数。 | |
| void | AddHeaderFooter (const HeaderFooter &headerfooter) |
| 添加新的页眉页脚。 更多... | |
| uint32 | AddIndirectObject (objects::PDFObject *pdf_object) |
| 将PDF对象添加到当前PDF文档中,成为间接对象。 更多... | |
| PDFPage | AddPageFromTemplate (const wchar_t *template_name) |
| 从命名模板添加新的PDF页面到文档。 更多... | |
| PagingSealSignature | AddPagingSealSignature (const common::Range &page_range, float width, float height, bool to_check_permission=true) |
| 按页面范围向文档添加骑缝章签名。 更多... | |
| void | AddTableOfContents (const wchar_t *title, Int32Array bookmark_level_array) |
| 将页面作为目录插入到当前PDF文档的前面。 更多... | |
| void | AddTableOfContents (const TableOfContentsConfig &table_of_contents_config) |
| 插入目录页到当前PDF最前页。 更多... | |
| PasswordType | CheckPassword (const String &password) |
| 检查指定密码的类型。 更多... | |
| PasswordType | CheckPasswordW (const WString &password) |
| 检查指定Unicode密码的类型。 更多... | |
| void | ClearRenderCache () |
| 清除渲染过程中使用的缓存,以减少内存使用。 更多... | |
| void | CreateDSS () |
| 在当前PDF文档中创建DSS信息。 更多... | |
| Bookmark | CreateRootBookmark () |
| 创建新的书签根节点。 更多... | |
| void | DeleteIndirectObject (uint32 object_number) |
| 通过间接对象编号删除间接对象。 更多... | |
| bool | DoJSOpenAction () |
| 文档打开时执行JavaScript动作。 更多... | |
| bool | ExportAnnotToFDF (const annots::Annot &pdf_annot, const fdf::FDFDoc &fdf_doc) |
| 将指定的注释导出到FDF/XFDF文档。 更多... | |
| bool | ExportFormFieldsToFDF (const pdf::interform::FieldArray &field_array, bool is_include, const fdf::FDFDoc &fdf_doc) |
| 将指定的表单字段导出到FDF/XFDF文档。 更多... | |
| 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文档。 更多... | |
| PageBasicInfoArray | GetAllPageBasicInfo () |
| 获取所有页面的基本信息。 更多... | |
| annots::AnnotArray | GetAnnotsByIdArray (const WStringArray &unique_id_arr) |
| 通过唯一ID数组返回注释数组。 更多... | |
| int | GetBookmarkLevelDepth () |
| 获取书签层级深度。 更多... | |
| objects::PDFDictionary * | GetCatalog () const |
| 获取目录字典。 更多... | |
| CertificateEncryptData | GetCertificateEncryptData () const |
| 获取证书加密的加密数据。 更多... | |
| CustomEncryptData | GetCustomEncryptData () const |
| 获取自定义加密的加密数据。 更多... | |
| DisplayMode | GetDisplayMode () const |
| 获取显示模式。 更多... | |
| DRMEncryptData | GetDRMEncryptData () const |
| 获取Foxit DRM加密的加密数据。 更多... | |
| HeaderFooter | GetEditableHeaderFooter () |
| 获取可编辑的页眉页脚对象。 更多... | |
| EmbeddedFontData | GetEmbeddedFontData () |
| 获取嵌入字体数据。 更多... | |
| objects::PDFDictionary * | GetEncryptDict () const |
| 获取加密字典。 更多... | |
| EncryptType | GetEncryptionType () const |
| 获取加密类型。 更多... | |
| uint64 | GetFileSize () |
| 获取文件大小。 更多... | |
| int | GetFileVersion () |
| 获取存储在PDF头部部分的PDF文件版本。 更多... | |
| int | GetFirstAvailPageIndex () const |
| 获取第一个可用页面的页面索引。 更多... | |
| common::Font | GetFont (int index) |
| 通过索引获取字体。 更多... | |
| int | GetFontCount () |
| 计算当前PDF文档中使用的所有PDF字体。 更多... | |
| String | GetHeader () const |
| 获取标识文件所符合的PDF规范版本的PDF头部。 更多... | |
| objects::PDFObject * | GetIndirectObject (uint32 object_number) |
| 通过间接对象编号获取间接对象。 更多... | |
| objects::PDFDictionary * | GetInfo () const |
| 获取信息字典。 更多... | |
| actions::Action | GetOpenAction () |
| 获取文档打开时要执行的动作。 更多... | |
| PDFPage | GetPage (int index) |
| 通过索引获取PDF页面。 更多... | |
| PageBasicInfo | GetPageBasicInfo (int index) |
| 通过索引获取指定页面的基本信息。 更多... | |
| int | GetPageCount () const |
| 获取页面数量。 更多... | |
| objects::PDFDictionary * | GetPagesDict () const |
| 获取"Pages"的字典。 更多... | |
| WString | GetPageText (int page_index) const |
| 以显示顺序获取指定页面文本。 更多... | |
| PasswordType | GetPasswordType () const |
| 获取当前使用的密码类型。 更多... | |
| PayLoadData | GetPayLoadData () |
| 如果当前文档的包装类型是 PDFDoc::e_WrapperPDFV2,获取载荷数据。 更多... | |
| ReadingBookmark | GetReadingBookmark (int index) |
| 通过索引获取阅读书签。 更多... | |
| int | GetReadingBookmarkCount () |
| 获取阅读书签的数量。 更多... | |
| RMSEncryptData | GetRMSEncryptData () const |
| 获取RMS加密的加密数据。 更多... | |
| Bookmark | GetRootBookmark () |
| 获取书签根节点。 更多... | |
| SecurityHandler | GetSecurityHandler () |
| 获取当前文档的当前PDF安全处理程序。 更多... | |
| foxit::pdf::Signature | GetSignature (int index) |
| 通过索引获取签名。 更多... | |
| int | GetSignatureCount () |
| 获取签名数量。 更多... | |
| StdEncryptData | GetStdEncryptData () const |
| 获取标准加密(称为密码加密)的加密数据。 更多... | |
| objects::PDFDictionary * | GetTrailer () const |
| 获取拖车字典。 更多... | |
| String | GetUserPassword (const String &owner_password) |
| 基于所有者密码获取用户密码。 更多... | |
| uint32 | GetUserPermissions () const |
| 获取用户访问权限。 更多... | |
| WrapperData | GetWrapperData () const |
| 如果当前文档的包装类型是 PDFDoc::e_WrapperFoxit,获取包装数据。 更多... | |
| int64 | GetWrapperOffset () const |
| 如果当前文档的包装类型是 PDFDoc::e_WrapperFoxit,获取包装偏移量。 更多... | |
| WrapperType | GetWrapperType () const |
| 获取包装类型。 更多... | |
| bool | HasForm () const |
| 检查当前PDF文档是否有交互式表单(也称为AcroForm)。 更多... | |
| bool | HasHeaderFooter () |
| 检查当前文档是否有页眉页脚。 更多... | |
| bool | HasLayer () const |
| 检查当前PDF文档是否有图层(在《PDF参考手册1.7》中称为"可选内容组")。 更多... | |
| bool | HidePageTemplate (const wchar_t *template_name) |
| 隐藏命名页面。 更多... | |
| 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文档导入表单字段和注释。 更多... | |
| void | InsertDocument (int dest_index, const PDFDoc &src_doc, uint32 options) |
| 将另一个PDF文档插入到当前PDF文档的指定位置。 更多... | |
| void | InsertDocument (int dest_index, const PDFDoc &src_doc, uint32 options, const wchar_t *bookmark_title) |
| 将另一个PDF文档插入到当前PDF文档的指定位置。 更多... | |
| PDFPage | InsertPage (int index, float width, float height) |
| 通过索引向文档插入新的空白PDF页面。 更多... | |
| PDFPage | InsertPage (int index, foxit::pdf::PDFPage::Size size=PDFPage::e_SizeLetter) |
| 通过索引向文档插入新的空白PDF页面。 更多... | |
| ReadingBookmark | InsertReadingBookmark (int reading_bookmark_index, const WString &title, int dest_page_index) |
| 向当前PDF文档插入阅读书签。 更多... | |
| bool | IsEmpty () const |
| 检查当前对象是否为空。 更多... | |
| bool | IsEncrypted () const |
| 检查当前文档是否为加密文件。 更多... | |
| bool | IsLinearized () const |
| 检查当前PDF文档是否为线性化文件。 更多... | |
| bool | IsOwnerPassword (const String &password) |
| 检查输入密码是否为当前PDF文档的所有者密码。 更多... | |
| bool | IsOwnerPassword (const foxit::WString &password) |
| 检查输入密码是否为当前PDF文档的所有者密码。 更多... | |
| bool | IsPortfolio () |
| 检查当前PDF文档是否为文档集文件。 更多... | |
| bool | IsTaggedPDF () const |
| 检查当前PDF文档是否为标签化PDF文件。 更多... | |
| bool | IsUserPassword (const String &password) |
| 检查输入密码是否为当前PDF文档的用户密码。 更多... | |
| bool | IsUserPassword (const foxit::WString &password) |
| 检查输入密码是否为当前PDF文档的用户密码。 更多... | |
| bool | IsWrapper () const |
| 检查当前文档是否为包装文件。 更多... | |
| bool | IsXFA () const |
| 检查当前PDF文档是否为XFA文档。 更多... | |
| ErrorCode | Load (const String &password="") |
| 使用指定密码加载当前文档内容。 更多... | |
| ErrorCode | LoadW (const WString &password=WString()) |
| 使用指定密码加载当前文档内容。 更多... | |
| bool | MovePagesTo (const common::Range &page_range, int dest_index) |
| 将一个或多个页面(按索引指定)移动到新位置。 更多... | |
| bool | MovePageTo (const PDFPage &page, int dest_index) |
| 将指定页面移动到新位置。 更多... | |
| bool | operator != (const PDFDoc &other) const |
| 不等操作符。 更多... | |
| PDFDoc & | operator= (const PDFDoc &other) |
| 赋值操作符。 更多... | |
| bool | operator== (const PDFDoc &other) const |
| 相等操作符。 更多... | |
| bool | RemoveAllHeaderFooters () |
| 删除所有页眉页脚。 更多... | |
| bool | RemoveBookmark (const Bookmark &bookmark) |
| 删除指定的书签。 更多... | |
| void | RemoveHiddenInfo (const HiddenInfoSettingData &hidden_data_setting) |
| 根据用户定义的设置从当前PDF文档中删除指定类型的隐藏信息。 更多... | |
| bool | RemoveOpenAction () |
| 移除文档打开时要执行的动作。 更多... | |
| bool | RemovePage (int index) |
| 通过页面索引删除PDF页面。 更多... | |
| bool | RemovePage (const foxit::pdf::PDFPage &page) |
| 删除指定的PDF页面。 更多... | |
| bool | RemoveReadingBookmark (const ReadingBookmark &reading_bookmark) |
| 从当前PDF文档中删除阅读书签。 更多... | |
| bool | RemoveSecurity () |
| 从当前文档中移除安全处理程序,以便后续保存的文档将是未加密的。 更多... | |
| void | RemoveSignature (const foxit::pdf::Signature &signature) |
| 删除签名。 更多... | |
| void | RemoveStructTree () |
| 移除当前文档中的结构树。 更多... | |
| void | Sanitize () |
| 使用默认设置从当前PDF文档中删除所有隐藏或潜在敏感信息。 更多... | |
| bool | SaveAs (const char *file_path, uint32 save_flags=PDFDoc::e_SaveFlagNormal) |
| 将当前PDF文档另存为另一个PDF文件。 更多... | |
| bool | SaveAs (const wchar_t *file_path, uint32 save_flags=PDFDoc::e_SaveFlagNormal) |
| 将当前PDF文档另存为另一个PDF文件。 更多... | |
| bool | SaveAsWrapperFile (const wchar_t *file_path, const WrapperData *wrapper_data=0, uint32 user_permissions=0xFFFFFFFC, const char *owner_password="") |
| 将当前PDF文档另存为包装文件。 更多... | |
| void | SetCacheFile (foxit::common::file::StreamCallback *file_stream, bool is_own_file_stream) |
| 设置缓存文件 (代表文件流) 到当前PDF文档。 更多... | |
| void | SetDisplayMode (DisplayMode display_mode) |
| 设置显示模式。 更多... | |
| void | SetFileVersion (int version) |
| 设置将存储在保存的PDF文件的PDF头部部分中的PDF文件版本。 更多... | |
| bool | SetOpenAction (actions::Action &action) |
| 设置文档打开时要执行的动作。 更多... | |
| bool | SetSecurityHandler (const SecurityHandler &handler) |
| 为加密设置PDF安全处理程序,如标准加密(密码)、 证书加密等。 更多... | |
| common::Progressive | StartAddTiledWatermark (const wchar_t *text, const TiledWatermarkSettings &settings, const WatermarkTextProperties &properties, const common::Range &page_range, common::PauseCallback *pause=0) |
| 添加文本平铺水印到页面中。 更多... | |
| common::Progressive | StartAddTiledWatermark (const wchar_t *src_img_file_path, const TiledWatermarkSettings &settings, const common::Range &page_range, common::PauseCallback *pause=0) |
| Add image type tiled watermark to PDF pages by image path. 更多... | |
| common::Progressive | StartAddTiledWatermark (foxit::common::file::ReaderCallback *src_img_stream, const TiledWatermarkSettings &settings, const common::Range &page_range, common::PauseCallback *pause=0) |
| 通过图像流添加图片类型平铺水印到页面中。 更多... | |
| common::Progressive | StartAddTiledWatermark (const foxit::pdf::PDFPage &page, const TiledWatermarkSettings &settings, const common::Range &page_range, common::PauseCallback *pause=0) |
| 添加页面类型平铺水印。 更多... | |
| common::Progressive | StartEmbedAllFonts (common::PauseCallback *pause=0) |
| 开始转换所有未嵌入字体为内嵌字体。 更多... | |
| common::Progressive | StartExtractPages (const char *file_path, uint32 options, const common::Range &page_range=common::Range(), common::PauseCallback *pause=0) |
| 开始从当前PDF文档提取页面。 更多... | |
| common::Progressive | StartExtractPages (const wchar_t *file_path, uint32 options, const common::Range &page_range=common::Range(), common::PauseCallback *pause=0) |
| 开始从当前PDF文档提取页面。 更多... | |
| common::Progressive | StartExtractPages (foxit::common::file::WriterCallback *file, uint32 options, const foxit::common::Range &page_range=common::Range(), foxit::common::PauseCallback *pause=0) |
| 开始从当前PDF文档提取页面。 更多... | |
| common::Progressive | StartGetPayloadFile (foxit::common::file::WriterCallback *payload_file, common::PauseCallback *pause=0) |
| 开始获取载荷文件。 更多... | |
| 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文档对象)导入页面。 更多... | |
| 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文档(通过文件路径)导入页面。 更多... | |
| common::Progressive | StartImportPagesFromFilePath (int dest_index, const wchar_t *src_file_path, const WString &password, uint32 flags=PDFDoc::e_ImportFlagNormal, const char *layer_name="", const common::Range &page_range=common::Range(), common::PauseCallback *pause=0) |
| 开始从另一个PDF文档(通过文件路径)导入页面。 更多... | |
| common::Progressive | StartLoad (const String &password="", bool is_cache_stream=true, common::PauseCallback *pause=0) |
| 开始使用指定密码加载当前文档内容。 更多... | |
| common::Progressive | StartLoadW (const WString &password=WString(), bool is_cache_stream=true, common::PauseCallback *pause=0) |
| 开始使用指定密码加载当前文档内容。 更多... | |
| common::Progressive | StartRecognizeForm (common::PauseCallback *pause=0) |
| 开始识别表单域。 更多... | |
| common::Progressive | StartRecognizeForm (bool is_set_tool_tips, common::PauseCallback *pause=0) |
| 开始识别表单域。 更多... | |
| common::Progressive | StartSaveAs (const char *file_path, uint32 save_flags=PDFDoc::e_SaveFlagNormal, common::PauseCallback *pause=0) |
| 开始将当前PDF文档另存为另一个PDF文件。 更多... | |
| common::Progressive | StartSaveAs (const wchar_t *file_path, uint32 save_flags=PDFDoc::e_SaveFlagNormal, common::PauseCallback *pause=0) |
| 开始将当前PDF文档另存为另一个PDF文件。 更多... | |
| common::Progressive | StartSaveAs (foxit::common::file::WriterCallback *file, foxit::uint32 save_flags=PDFDoc::e_SaveFlagNormal, foxit::common::PauseCallback *pause=0) |
| 开始将当前PDF文档另存为另一个PDF文件。 更多... | |
| 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中定义)。 更多... | |
| void | UpdateHeaderFooter (const HeaderFooter &headerfooter) |
| 更新页眉页脚。 更多... | |
Public 成员函数 继承自 foxit::Base | |
| FS_HANDLE | Handle () const |
| 获取当前对象的句柄。 更多... | |
PDF文档对象可以通过文件路径、内存缓冲区、 自定义实现的 common::file::ReaderCallback 对象和输入文件流从现有PDF文件构造。然后调用函数 pdf::PDFDoc::Load 或 PDFDoc::StartLoad 来加载文档内容。 此类提供了检索PDF文档不同部分的函数。例如:
此类还提供用于功能的函数,例如将当前文档保存为另一个PDF文件, 从另一个PDF文件导入页面,设置安全处理程序以保存加密的PDF文件等等。
此类对象也可以用于构造其他类的对象,以便访问PDF文档中的指定信息:
提取页面使用的选项枚举。
此枚举的值可以单独使用或组合使用。
| 枚举值 | |
|---|---|
| e_ExtractPagesOptionAnnotation | 如果设置,表示与提取页面相关的注释也将被提取。 |
| e_ExtractPagesOptionStructureTree | 如果设置,表示结构树也将被提取。 |
| e_ExtractPagesOptionJavascript | 如果设置,表示Javascript也将被提取。 |
| e_ExtractPagesOptionOCProperties | 如果设置,表示OCProperties也将被提取。 |
| e_ExtractPagesOptionObjectStream | 如果设置,表示对结果文件使用 PDFDoc::e_SaveFlagXRefStream 保存标志 以减少结果文件的大小。 |
| e_ExtractPagesOptionAttachFiles | 如果设置,表示附件文件也将被提取。 |
| e_ExtractPagesOptionBookmark | 如果设置,表示书签也将被提取。 |
| e_ExtractPagesOptionSignature | 如果设置,表示签名也将被提取。必须与 PDFDoc:e_ExtractPagesOptionAnnotation 结合使用。 |
PDF文档保存标志的枚举。
此枚举的值可以单独使用或组合使用。
| 枚举值 | |
|---|---|
| e_SaveFlagNormal | 正常保存文档,不使用任何特殊标志。 这只能与标志 PDFDoc::e_SaveFlagNoUpdatingMetadataDateTime 组合使用。 |
| e_SaveFlagIncremental | 增量保存文档。 这可以单独使用或与除 PDFDoc::e_SaveFlagNormal 外的其他保存标志组合使用。 特别地,如果与 PDFDoc::e_SaveFlagNoOriginal 组合使用, 将只保存增量数据。 |
| e_SaveFlagNoOriginal | 保存文档时不包含原始数据或未更改的对象。 这可以单独使用或与除 PDFDoc::e_SaveFlagNormal 外的其他保存标志组合使用。 特别地,如果与 PDFDoc::e_SaveFlagIncremental 组合使用, 将只保存增量数据。 |
| e_SaveFlagXRefStream | 使用XRef流保存文档。 这可以单独使用或与除 PDFDoc::e_SaveFlagNormal 外的其他保存标志组合使用。 |
| e_SaveFlagLinearized | 将文档保存为线性化文件。 这应该单独使用,不能与除 PDFDoc::e_SaveFlagNoUpdatingMetadataDateTime 外的其他保存标志一起使用。 这只能用于函数 pdf::PDFDoc::SaveAs 或 PDFDoc::StartSaveAs。 |
| e_SaveFlagRemoveRedundantObjects | 保存文档时移除冗余的PDF对象。 这可以单独使用或与 PDFDoc::e_SaveFlagNoOriginal、PDFDoc::e_SaveFlagXRefStream 或 PDFDoc::e_SaveFlagNoUpdatingMetadataDateTime 组合使用。 这只能用于函数 pdf::PDFDoc::SaveAs 或 PDFDoc::StartSaveAs。 |
| e_SaveFlagNoUpdatingMetadataDateTime | 保存文档时不更新元数据"ModDate"和"CreationDate"。 这可以单独使用或与其他保存标志组合使用。 这只能用于函数 pdf::PDFDoc::SaveAs 和 PDFDoc::StartSaveAs。 |
PDF文档中用户访问权限的枚举。
此枚举的值可以单独使用或组合使用。
| 枚举值 | |
|---|---|
| e_PermPrint | 以普通模式打印PDF文档。(权限值中的第3位) 如果用户要打印更高质量级别的PDF文档,请将当前值与 值 PDFDoc::e_PermPrintHigh 一起设置。 |
| e_PermModify | 修改PDF内容。(权限值中的第4位) 如果设置了此值,用户可以通过除了由 值 PDFDoc::e_PermAnnotForm、PDFDoc::e_PermFillForm 和 PDFDoc::e_PermAssemble 控制的操作之外的操作来修改PDF文档的内容。 |
| e_PermExtract | 提取PDF内容。(权限值中的第5位) 如果设置了此值,用户可以通过除了由值 PDFDoc::e_PermExtractAccess 控制的操作之外的操作从文档中复制或以其他方式提取文本和图形。 |
| e_PermAnnotForm | 操作文本注释和填写交互式表单字段。(权限值中的第6位) 如果也设置了值 PDFDoc::e_PermModify, 用户可以创建或修改交互式表单字段(包括签名字段)。 |
| e_PermFillForm | 填写PDF表单。(权限值中的第9位) 如果设置了此值,用户可以填写交互式表单字段(包括签名字段), 即使未使用值 PDFDoc::e_PermAnnotForm。 |
| e_PermExtractAccess | 残疾人支持。(权限值中的第10位) 如果设置了此值,用户可以提取文本和图形以支持残疾用户的辅助功能 或用于其他目的。 |
| e_PermAssemble | 组装PDF文档。(权限值中的第11位) 如果设置了此值,可以组装文档 (插入、旋转或删除页面并创建书签或缩略图), 无论是否设置了值 PDFDoc::e_PermModify。 |
| e_PermPrintHigh | 以更高质量打印PDF文档。(权限值中的第12位) 如果未设置此值(且设置了值 PDFDoc::e_PermPrint), 打印将限制为外观的低级表示,可能质量较差。 |
| foxit::pdf::PDFDoc::PDFDoc | ( | ) |
构造函数。
此构造函数用于构造新的PDF文档(没有任何数据)。 文件版本值默认为17(作为PDF版本1.7)。
|
explicit |
|
explicit |
|
explicit |
构造函数,从内存缓冲区。
构造这样的PDF文档对象后,请确保在使用类 PDFDoc 中的大多数函数之前 已加载文档对象。
| [in] | buffer | 包含序列化文档的内存缓冲区。PDF文档数据应完全加载在此内存缓冲区中。 它不应该是 NULL。 |
| [in] | size | 内存缓冲区的大小。它应该大于0。 |
|
explicit |
构造函数,使用文件读取回调对象。
构造这样的PDF文档对象后,请确保在使用类 PDFDoc 中的大多数函数之前 已加载文档对象。
| [in] | file_read | 由用户实现的 common::file::ReaderCallback 对象,用于 加载PDF文档。它不应该是 NULL。 如果输入的回调对象是 common::file::AsyncReaderCallback 对象,且 is_async 为 true, 这意味着PDF文档将通过异步方法加载;否则, 文档将以普通方式加载。 |
| [in] | is_async | 输入的 common::file::ReaderCallback 对象是否用于异步加载。 默认值:false。 |
| foxit::pdf::PDFDoc::PDFDoc | ( | const PDFDoc & | other | ) |
构造函数,通过另一个PDF文档对象。
| [in] | other | 另一个PDF文档对象。 |
| void foxit::pdf::PDFDoc::AddHeaderFooter | ( | const HeaderFooter & | headerfooter | ) |
添加新的页眉页脚。
PDF文档可以多次添加页眉页脚。当添加新的页眉页脚时,旧的页眉页脚不会被删除, 但如果旧的页眉页脚与新的出现在同一位置,则会被新的覆盖。
| [in] | headerfooter | 要添加到当前文档的有效页眉页脚对象。 |
| uint32 foxit::pdf::PDFDoc::AddIndirectObject | ( | objects::PDFObject * | pdf_object | ) |
将PDF对象添加到当前PDF文档中,成为间接对象。
| [in] | pdf_object | objects::PDFObject 对象。不应为NULL。 |
| PDFPage foxit::pdf::PDFDoc::AddPageFromTemplate | ( | const wchar_t * | template_name | ) |
从命名模板添加新的PDF页面到文档。
PDF文档中可能存在隐藏页面。隐藏页面映射到PDF文档中模板名称树中定义的名称。 此函数可用于将隐藏页面添加到PDF文档的末尾。
类 objects::PDFNameTree(使用类型 objects::PDFNameTree::e_Templates 初始化)可用于确定 哪些模板名称可用。
添加模板后,名称将在内部移动到文档的页面名称树。
| [in] | template_name | 模板的名称,其映射的隐藏页面将添加到当前PDF文档的末尾。 如果找不到模板名称,将抛出异常 foxit::e_ErrParam。 |
| PagingSealSignature foxit::pdf::PDFDoc::AddPagingSealSignature | ( | const common::Range & | page_range, |
| float | width, | ||
| float | height, | ||
| bool | to_check_permission = true |
||
| ) |
按页面范围向文档添加骑缝章签名。
此函数将向 page_range 的第一页添加签名。
| [in] | page_range | 指定某些页面的范围对象。这些页面将被添加签名。 有效的页面范围:从 1 到 count。count 由函数 PDFDoc::GetPageCount 返回。 如果此范围对象由默认构造函数构造且未设置任何值,则表示当前文档的所有页面 都将被添加签名。 此函数不支持具有单个索引的范围或具有单个页面的文档。 |
| [in] | width | 骑缝章的宽度。该值将用于设置每个页面上签名的矩形。 |
| [in] | height | 骑缝章的高度。该值将用于设置每个页面上签名的矩形。 |
| [in] | to_check_permission | 一个布尔值,用于决定 Foxit PDF SDK 是否应在添加签名之前检查 PDF 文档的权限: true 表示 Foxit PDF SDK 应检查文档权限以决定是否允许添加签名, false 表示 Foxit PDF SDK 不应在添加签名之前检查文档权限。 当此参数为 false 时,用户应确保检查文档权限以检查是否允许添加签名。 默认值:true。 |
| void foxit::pdf::PDFDoc::AddTableOfContents | ( | const wchar_t * | title, |
| Int32Array | bookmark_level_array | ||
| ) |
将页面作为目录插入到当前PDF文档的前面。
如果当前文档没有任何书签,此函数将不执行任何操作。
| [in] | title | 目录的标题。如果这是空字符串,将使用默认值"Table of Contents"。 |
| [in] | bookmark_level_array | 书签级别数组,用于指定用来生成"目录"的书签。 对于输入数组中的每个元素,有效范围:从1到(depth)。 depth由函数 PDFDoc::GetBookmarkLevelDepth 返回。 如果输入数组是空数组,意味着所有书签都用于生成"目录"。 |
| void foxit::pdf::PDFDoc::AddTableOfContents | ( | const TableOfContentsConfig & | table_of_contents_config | ) |
插入目录页到当前PDF最前页。
如果当前文档没有任何书签,这个接口将不会做任何事情。
| [in] | table_of_contents_config | TOC配置对象。 |
| PasswordType foxit::pdf::PDFDoc::CheckPassword | ( | const String & | password | ) |
检查指定密码的类型。
此函数可用于检查任何密码字符串的类型,包括用于加载文档内容的密码字符串。
某些PDF文档可能同时拥有用户密码和所有者密码,并且这两个密码相同。 但当前函数只能为此类密码返回一种类型。在这种情况下,函数 PDFDoc::IsUserPassword和PDFDoc::IsOwnerPassword可以帮助进行更多检查。
| [in] | password | 要检测的密码字符串。 |
| PasswordType foxit::pdf::PDFDoc::CheckPasswordW | ( | const WString & | password | ) |
检查指定Unicode密码的类型。
此函数可用于检查任何密码字符串的类型,包括用于加载文档内容的密码字符串。
对于某些PDF文档,它同时拥有用户密码和所有者密码,并且这两个密码相同。 但当前函数只能为此类密码返回一种类型。在这种情况下,函数 PDFDoc::IsUserPassword和PDFDoc::IsOwnerPassword可以帮助进行更多检查。
| [in] | password | 要检测的Unicode密码字符串。 |
| void foxit::pdf::PDFDoc::ClearRenderCache | ( | ) |
清除渲染过程中使用的缓存,以减少内存使用。
| void foxit::pdf::PDFDoc::CreateDSS | ( | ) |
在当前PDF文档中创建DSS信息。
如果当前PDF文档已经有DSS信息,此函数将不执行任何操作并直接返回。
| Bookmark foxit::pdf::PDFDoc::CreateRootBookmark | ( | ) |
创建新的书签根节点。
如果当前PDF文档已经有书签根节点,此函数将删除旧的书签树并创建一个新的根节点。
| void foxit::pdf::PDFDoc::DeleteIndirectObject | ( | uint32 | object_number | ) |
通过间接对象编号删除间接对象。
| [in] | object_number | 间接对象编号。应该大于0。 |
| bool foxit::pdf::PDFDoc::DoJSOpenAction | ( | ) |
文档打开时执行JavaScript动作。
| bool foxit::pdf::PDFDoc::ExportAnnotToFDF | ( | const annots::Annot & | pdf_annot, |
| const fdf::FDFDoc & | fdf_doc | ||
| ) |
将指定的注释导出到FDF/XFDF文档。
| [in] | pdf_annot | 要导出到FDF/XFDF文档的有效PDF注释对象。 |
| [in] | fdf_doc | 有效的FDF/XFDF文档对象,指定的注释将导出到此文档。 |
| bool foxit::pdf::PDFDoc::ExportFormFieldsToFDF | ( | const pdf::interform::FieldArray & | field_array, |
| bool | is_include, | ||
| const fdf::FDFDoc & | fdf_doc | ||
| ) |
将指定的表单字段导出到FDF/XFDF文档。
| [in] | field_array | 表单字段数组。参数is_include将决定是否导出这些表单字段的数据。 |
| [in] | is_include | 布尔值,用于决定是否导出指定表单字段的数据: true表示导出指定表单字段的数据,false表示不导出指定表单字段的数据。 |
| [in] | fdf_doc | 有效的FDF/XFDF文档对象,指定的表单字段将导出到此文档。 |
| bool foxit::pdf::PDFDoc::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文档。
有关可用于导出的PDF对象类型的更多详细信息, 请参考"XML Forms Data Format Specification"第22页。
| [in] | fdf_doc | 一个有效的FDF/XFDF文档对象,向其导出表单字段和注释。 |
| [in] | types | 用于决定将导出哪种类型的数据。请参考从 PDFDoc::e_Forms 开始的值, 这可以是这些值中的一个或组合。 默认值:(PDFDoc::e_Forms | PDFDoc::e_Annots)。 |
| [in] | page_range | 指定一些页面的范围对象。这些页面中的数据(指定类型)将被导出到FDF/XFDF文档。 如果此范围对象通过默认构造函数构造且未设置任何值,意味着当前文档的所有数据(指定类型) 将被导出到FDF/XFDF文档。 此参数仅在参数types包含 PDFDoc::e_Annots 时有用。 默认值:通过默认构造函数构造且未设置任何值的范围对象。 |
| PageBasicInfoArray foxit::pdf::PDFDoc::GetAllPageBasicInfo | ( | ) |
获取所有页面的基本信息。
此函数可以快速获取PDF页面的基本信息,而无需获取该PDF页面对象。 如果当前PDF文档对象是使用AsyncReaderCallback构造的,这意味着进行异步加载, 此函数可能抛出异常 foxit::e_ErrDataNotReady。 在这种情况下,用户应为回调函数 common::file::AsyncReaderCallback::AddDownloadHint 通知的指定范围准备数据,然后再次调用此函数。
| annots::AnnotArray foxit::pdf::PDFDoc::GetAnnotsByIdArray | ( | const WStringArray & | unique_id_arr | ) |
通过唯一ID数组返回注释数组。
| [in] | unique_id_arr | 唯一ID数组。唯一ID由 annots::Annot::GetUniqueID 返回。 |
| int foxit::pdf::PDFDoc::GetBookmarkLevelDepth | ( | ) |
获取书签层级深度。
| objects::PDFDictionary* foxit::pdf::PDFDoc::GetCatalog | ( | ) | const |
获取目录字典。
| CertificateEncryptData foxit::pdf::PDFDoc::GetCertificateEncryptData | ( | ) | const |
获取证书加密的加密数据。
当当前文档使用证书加密时,此函数很有用。
| CustomEncryptData foxit::pdf::PDFDoc::GetCustomEncryptData | ( | ) | const |
获取自定义加密的加密数据。
当当前文档使用自定义加密时,此函数很有用。
| DisplayMode foxit::pdf::PDFDoc::GetDisplayMode | ( | ) | const |
| DRMEncryptData foxit::pdf::PDFDoc::GetDRMEncryptData | ( | ) | const |
获取Foxit DRM加密的加密数据。
当当前文档使用Foxit DRM加密时,此函数很有用。
| HeaderFooter foxit::pdf::PDFDoc::GetEditableHeaderFooter | ( | ) |
获取可编辑的页眉页脚对象。
PDF文档可能已经多次添加页眉页脚,但只有其中一个页眉页脚可以是可编辑的。 此函数用于检索可编辑的页眉页脚。
| EmbeddedFontData foxit::pdf::PDFDoc::GetEmbeddedFontData | ( | ) |
获取嵌入字体数据。
此函数用于"优化器"模型中的取消嵌入字体。
| objects::PDFDictionary* foxit::pdf::PDFDoc::GetEncryptDict | ( | ) | const |
获取加密字典。
| EncryptType foxit::pdf::PDFDoc::GetEncryptionType | ( | ) | const |
获取加密类型。
| uint64 foxit::pdf::PDFDoc::GetFileSize | ( | ) |
获取文件大小。
| int foxit::pdf::PDFDoc::GetFileVersion | ( | ) |
获取存储在PDF头部部分的PDF文件版本。
| int foxit::pdf::PDFDoc::GetFirstAvailPageIndex | ( | ) | const |
获取第一个可用页面的页面索引。
这对于线性化PDF文档很有用,因为在线性化PDF文档中, 第一个可用页面可能不是第一页。
此函数只能在文档成功加载后使用。
| common::Font foxit::pdf::PDFDoc::GetFont | ( | int | index | ) |
| int foxit::pdf::PDFDoc::GetFontCount | ( | ) |
计算当前PDF文档中使用的所有PDF字体。
此函数将枚举用于页面、注释和交互式表单的所有字体资源。
| String foxit::pdf::PDFDoc::GetHeader | ( | ) | const |
获取标识文件所符合的PDF规范版本的PDF头部。
| objects::PDFObject* foxit::pdf::PDFDoc::GetIndirectObject | ( | uint32 | object_number | ) |
| objects::PDFDictionary* foxit::pdf::PDFDoc::GetInfo | ( | ) | const |
获取信息字典。
文档的信息字典包含文档的元数据。
| actions::Action foxit::pdf::PDFDoc::GetOpenAction | ( | ) |
获取文档打开时要执行的动作。
| PDFPage foxit::pdf::PDFDoc::GetPage | ( | int | index | ) |
通过索引获取PDF页面。
如果当前PDF文档对象是使用AsyncReaderCallback构造的(表示进行异步加载), 此函数可能抛出异常 foxit::e_ErrDataNotReady。 在这种情况下,用户应该为回调函数 common::file::AsyncReaderCallback::AddDownloadHint 通知的指定范围准备数据,然后再次调用此函数。
| [in] | index | 页面索引。有效范围:从0到(count-1)。 count 由函数 PDFDoc::GetPageCount 返回。 |
| PageBasicInfo foxit::pdf::PDFDoc::GetPageBasicInfo | ( | int | index | ) |
通过索引获取指定页面的基本信息。
此函数可以快速获取PDF页面的基本信息,而无需获取该PDF页面对象。 如果当前PDF文档对象是使用AsyncReaderCallback构造的,这意味着进行异步加载, 此函数可能抛出异常 foxit::e_ErrDataNotReady。 在这种情况下,用户应为回调函数 common::file::AsyncReaderCallback::AddDownloadHint 通知的指定范围准备数据,然后再次调用此函数。
| [in] | index | 页面索引。有效范围:从0到(count-1)。 count由函数 PDFDoc::GetPageCount 返回。 |
| int foxit::pdf::PDFDoc::GetPageCount | ( | ) | const |
获取页面数量。
| objects::PDFDictionary* foxit::pdf::PDFDoc::GetPagesDict | ( | ) | const |
获取"Pages"的字典。
| WString foxit::pdf::PDFDoc::GetPageText | ( | int | page_index | ) | const |
以显示顺序获取指定页面文本。
| [in] | page_index | 页面索引。有效范围:从0到(count-1)。 count 返回于 PDFDoc::GetPageCount 。 |
| PasswordType foxit::pdf::PDFDoc::GetPasswordType | ( | ) | const |
获取当前使用的密码类型。
此函数在加载PDF文档后很有用,以获取加载过程中使用的密码类型。
如果当前文档是新的(不是从现有PDF文件加载),此函数将返回 PDFDoc::e_PwdNoPassword。
如果当前文档是从现有文件构造但尚未加载, 此函数将返回PDFDoc::e_PwdInvalid。
| PayLoadData foxit::pdf::PDFDoc::GetPayLoadData | ( | ) |
如果当前文档的包装类型是 PDFDoc::e_WrapperPDFV2,获取载荷数据。
| ReadingBookmark foxit::pdf::PDFDoc::GetReadingBookmark | ( | int | index | ) |
通过索引获取阅读书签。
| [in] | index | 阅读书签的索引。有效范围:从0到(count-1)。 count 由函数 PDFDoc::GetReadingBookmarkCount 返回。 |
| int foxit::pdf::PDFDoc::GetReadingBookmarkCount | ( | ) |
获取阅读书签的数量。
| RMSEncryptData foxit::pdf::PDFDoc::GetRMSEncryptData | ( | ) | const |
获取RMS加密的加密数据。
当当前文档使用RMS加密时,此函数很有用。
| Bookmark foxit::pdf::PDFDoc::GetRootBookmark | ( | ) |
获取书签根节点。
| SecurityHandler foxit::pdf::PDFDoc::GetSecurityHandler | ( | ) |
获取当前文档的当前PDF安全处理程序。
| foxit::pdf::Signature foxit::pdf::PDFDoc::GetSignature | ( | int | index | ) |
| int foxit::pdf::PDFDoc::GetSignatureCount | ( | ) |
获取签名数量。
| StdEncryptData foxit::pdf::PDFDoc::GetStdEncryptData | ( | ) | const |
获取标准加密(称为密码加密)的加密数据。
当当前文档使用密码加密时,此函数很有用。
| objects::PDFDictionary* foxit::pdf::PDFDoc::GetTrailer | ( | ) | const |
获取拖车字典。
基于所有者密码获取用户密码。
当当前文档使用密码加密时,此函数很有用。
| [in] | owner_password | 所有者密码字符串。 |
| uint32 foxit::pdf::PDFDoc::GetUserPermissions | ( | ) | const |
获取用户访问权限。
| WrapperData foxit::pdf::PDFDoc::GetWrapperData | ( | ) | const |
如果当前文档的包装类型是 PDFDoc::e_WrapperFoxit,获取包装数据。
| int64 foxit::pdf::PDFDoc::GetWrapperOffset | ( | ) | const |
如果当前文档的包装类型是 PDFDoc::e_WrapperFoxit,获取包装偏移量。
| WrapperType foxit::pdf::PDFDoc::GetWrapperType | ( | ) | const |
获取包装类型。
| bool foxit::pdf::PDFDoc::HasForm | ( | ) | const |
检查当前PDF文档是否有交互式表单(也称为AcroForm)。
如果当前PDF文档对象是使用AsyncReaderCallback构造的(表示进行异步加载), 此函数可能抛出异常 foxit::e_ErrDataNotReady。 在这种情况下,用户应该为回调函数 common::file::AsyncReaderCallback::AddDownloadHint 通知的指定范围准备数据,然后再次调用此函数。
| bool foxit::pdf::PDFDoc::HasHeaderFooter | ( | ) |
检查当前文档是否有页眉页脚。
| bool foxit::pdf::PDFDoc::HasLayer | ( | ) | const |
检查当前PDF文档是否有图层(在《PDF参考手册1.7》中称为"可选内容组")。
| bool foxit::pdf::PDFDoc::HidePageTemplate | ( | const wchar_t * | template_name | ) |
隐藏命名页面。
PDF文档中的页面可以映射到PDF文档中页面名称树中定义的名称。 此函数可用于隐藏这些命名页面。
类 objects::PDFNameTree(使用类型 objects::PDFNameTree::e_Pages 初始化)可用于确定 哪些页面名称可用以及将页面映射到名称。
PDF页面被隐藏后,名称将在内部移动到文档的模板名称树。
| [in] | template_name | 要隐藏的PDF页面的名称。 |
| bool foxit::pdf::PDFDoc::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文档导入表单字段和注释。
它还支持从FDF模板导入表单字段。与FDF模板关联的页面将插入到文档的末尾。 有关可用于导出的PDF对象类型的更多详细信息, 请参考"XML Forms Data Format Specification"第22页。
| [in] | fdf_doc | 一个有效的FDF/XFDF文档对象,从中导入表单字段和注释。 |
| [in] | types | 用于决定将导入哪种类型的数据。请参考从 PDFDoc::e_Forms 开始的值, 这可以是这些值中的一个或组合。 默认值:(PDFDoc::e_Forms | PDFDoc::e_Annots)。 如果fdf_doc是fdf模板,此参数不起作用。 |
| [in] | page_range | 指定一些页面的范围对象。FDF/XFDF文档中的数据(指定类型)将被导入到这些指定页面。 如果此范围对象通过默认构造函数构造且未设置任何值,意味着FDF/XFDF文档中的数据(指定类型) 将被导入到相关的PDF页面,这些页面的索引已在FDF/XFDF文档中定义。 此参数仅在参数types包含 PDFDoc::e_Annots 时有用。 默认值:通过默认构造函数构造且未设置任何值的范围对象。 如果fdf_doc是fdf模板,此参数不起作用。 |
将另一个PDF文档插入到当前PDF文档的指定位置。
| [in] | dest_index | 当前PDF文档中的页面索引。用于指定从src_doc插入页面的位置: 如果参数dest_index小于0,这些页面将被插入到最前面。 如果参数dest_index等于或大于当前页面计数, 这些页面将被插入到末尾。 |
| [in] | src_doc | 代表要插入到当前PDF文档的PDF文档的PDF文档对象。 此文档中的所有页面都将被插入到当前PDF文档中。 请保持此源PDF文档对象有效,直到当前文档不再保存或关闭。 |
| [in] | options | 插入PDF文档的选项。请参考从 PDFDoc::e_InsertDocOptionAttachments 开始的值, 这可以是这些值中的一个或组合。0表示不使用任何选项。 |
| void foxit::pdf::PDFDoc::InsertDocument | ( | int | dest_index, |
| const PDFDoc & | src_doc, | ||
| uint32 | options, | ||
| const wchar_t * | bookmark_title | ||
| ) |
将另一个PDF文档插入到当前PDF文档的指定位置。
| [in] | dest_index | 当前PDF文档中的页面索引。用于指定从src_doc插入页面的位置: 如果参数dest_index小于0,这些页面将被插入到最前面。 如果参数dest_index等于或大于当前页面计数, 这些页面将被插入到末尾。 |
| [in] | src_doc | 代表要插入到当前PDF文档的PDF文档的PDF文档对象。 此文档中的所有页面都将被插入到当前PDF文档中。 请保持此源PDF文档对象有效,直到当前文档不再保存或关闭。 |
| [in] | options | 插入PDF文档的选项。请参考从 PDFDoc::e_InsertDocOptionAttachments 开始的值, 这可以是这些值中的一个或组合。0表示不使用任何选项。 |
| [in] | bookmark_title | 书签的标题。默认值:InsertBookMark。 |
| PDFPage foxit::pdf::PDFDoc::InsertPage | ( | int | index, |
| float | width, | ||
| float | height | ||
| ) |
通过索引向文档插入新的空白PDF页面。
| [in] | index | 新页面的页面索引。 如果参数 index 小于0,新页面将插入到第一个位置。 如果参数 index 等于或大于当前页面数量, 新页面将插入到末尾。 |
| [in] | width | 新页面的宽度(单位是1/72英寸)。 |
| [in] | height | 新页面的高度(单位是1/72英寸)。 |
| PDFPage foxit::pdf::PDFDoc::InsertPage | ( | int | index, |
| foxit::pdf::PDFPage::Size | size = PDFPage::e_SizeLetter |
||
| ) |
通过索引向文档插入新的空白PDF页面。
| [in] | index | 新页面的页面索引。 如果参数 index 小于0,新页面将插入到第一个位置。 如果参数 index 等于或大于当前页面数量, 新页面将插入到末尾。 |
| [in] | size | 新页面的尺寸类型。请参考从 PDFPage::e_SizeLetter 开始的值, 这应该是这些值中的一个。默认值:PDFPage::e_SizeLetter。 |
| ReadingBookmark foxit::pdf::PDFDoc::InsertReadingBookmark | ( | int | reading_bookmark_index, |
| const WString & | title, | ||
| int | dest_page_index | ||
| ) |
向当前PDF文档插入阅读书签。
| [in] | reading_bookmark_index | 阅读书签索引。 如果 reading_bookmark_index 小于0,新的阅读书签将插入到第一个位置。 如果 reading_bookmark_index 等于或大于阅读书签的数量, 新的阅读书签将插入到末尾。 |
| [in] | title | 新阅读书签的标题字符串,不应为空字符串。 |
| [in] | dest_page_index | 目标页面的索引。 |
| bool foxit::pdf::PDFDoc::IsEmpty | ( | ) | const |
检查当前对象是否为空。
当前对象为空时,表示当前对象是无用的。
| bool foxit::pdf::PDFDoc::IsEncrypted | ( | ) | const |
检查当前文档是否为加密文件。
| bool foxit::pdf::PDFDoc::IsLinearized | ( | ) | const |
检查当前PDF文档是否为线性化文件。
| bool foxit::pdf::PDFDoc::IsOwnerPassword | ( | const String & | password | ) |
检查输入密码是否为当前PDF文档的所有者密码。
| [in] | password | 要检测的密码字符串。 |
| bool foxit::pdf::PDFDoc::IsOwnerPassword | ( | const foxit::WString & | password | ) |
检查输入密码是否为当前PDF文档的所有者密码。
| [in] | password | 要检测的密码字符串。 |
| bool foxit::pdf::PDFDoc::IsPortfolio | ( | ) |
检查当前PDF文档是否为文档集文件。
| bool foxit::pdf::PDFDoc::IsTaggedPDF | ( | ) | const |
检查当前PDF文档是否为标签化PDF文件。
标签化PDF意味着PDF文档中存在结构树。
| bool foxit::pdf::PDFDoc::IsUserPassword | ( | const String & | password | ) |
检查输入密码是否为当前PDF文档的用户密码。
| [in] | password | 要检测的密码字符串。 |
| bool foxit::pdf::PDFDoc::IsUserPassword | ( | const foxit::WString & | password | ) |
检查输入密码是否为当前PDF文档的用户密码。
| [in] | password | 要检测的密码字符串。 |
| bool foxit::pdf::PDFDoc::IsWrapper | ( | ) | const |
检查当前文档是否为包装文件。
| bool foxit::pdf::PDFDoc::IsXFA | ( | ) | const |
检查当前PDF文档是否为XFA文档。
目前,Foxit PDF SDK不完全支持XFA文档。当加载XFA文档时, Foxit PDF SDK可能只加载XFA包装级别,无法访问真正的XFA内容。 Foxit PDF SDK尚不支持在XFA文档中插入/导入/删除/移动页面。
使用指定密码加载当前文档内容。
如果当前PDF文档对象是使用AsyncReaderCallback构造的,这意味着进行异步加载, 此函数可能返回 foxit::e_ErrDataNotReady。 在这种情况下,用户应该为回调函数 common::file::AsyncReaderCallback::AddDownloadHint 通知的指定范围准备数据,然后再次调用此函数。
| [in] | password | 用于加载当前文档内容的密码字符串。密码可以是用户密码或所有者密码。 如果当前文档未使用密码加密,只需传递空字符串。默认值:空字符串。 |
使用指定密码加载当前文档内容。
如果当前PDF文档对象是使用AsyncReaderCallback构造的,这意味着进行异步加载, 此函数可能返回 foxit::e_ErrDataNotReady。 在这种情况下,用户应该为回调函数 common::file::AsyncReaderCallback::AddDownloadHint 通知的指定范围准备数据,然后再次调用此函数。
| [in] | password | 用于加载当前文档内容的密码字符串。密码可以是用户密码或所有者密码。 如果当前文档未使用密码加密,只需传递空字符串。默认值:空字符串。 |
| bool foxit::pdf::PDFDoc::MovePagesTo | ( | const common::Range & | page_range, |
| int | dest_index | ||
| ) |
将一个或多个页面(按索引指定)移动到新位置。
如果只移动一个页面,此函数与函数 PDFDoc::MovePageTo 功能相同。
如果移动多个页面,这些页面将保持参数 page_range 中定义的顺序, 并作为一个整体移动到目标索引位置之后,基于当前页面数组。
此函数成功后,移动页面的索引将发生变化,其余页面的索引也可能受到影响。 例如:
| [in] | page_range | 应至少包含一个有效范围的范围对象。 所有相关页面将保持顺序(由此范围指定)并作为一个整体移动。 如果范围中存在重复的索引,只有最后一次出现的才有用。 |
| [in] | dest_index | 目标位置的索引,基于当前页面数组。 页面将作为一个整体移动到目标索引位置之后。 如果要将页面移动到文档开头,将目标索引设置为任何负值,如-1。 如果要将页面移动到文档末尾,设置大于最后页面索引的目标索引。 |
| bool foxit::pdf::PDFDoc::MovePageTo | ( | const PDFPage & | page, |
| int | dest_index | ||
| ) |
将指定页面移动到新位置。
page 将移动到目标索引位置之后。如果指定页面成功移动到新位置, 指定页面的新索引和旧索引之间所有页面的页面索引也将发生变化。 例如,
| [in] | page | 要移动的PDF页面。它应该在当前PDF文档中。 |
| [in] | dest_index | 当前页面数组中目标位置的索引。page 将移动到目标索引位置之后。 count 由函数 PDFDoc::GetPageCount 返回。 如果要将页面移动到文档开头,将目标索引设置为任何负值,如-1。 如果要将页面移动到文档末尾,设置大于最后页面索引的目标索引。 如果参数 dest_index 与参数 page 的页面索引相同, 不会进行任何更改,此函数将直接返回true。 |
| bool foxit::pdf::PDFDoc::operator != | ( | const PDFDoc & | other | ) | const |
不等操作符。
| [in] | other | 另一个PDF文档对象。此函数将检查当前对象是否不等于这个对象。 |
赋值操作符。
| [in] | other | 另一个PDF文档对象,其值将被赋给当前对象。 |
| bool foxit::pdf::PDFDoc::operator== | ( | const PDFDoc & | other | ) | const |
相等操作符。
| [in] | other | 另一个PDF文档对象。此函数将检查当前对象是否等于这个对象。 |
| bool foxit::pdf::PDFDoc::RemoveAllHeaderFooters | ( | ) |
删除所有页眉页脚。
| bool foxit::pdf::PDFDoc::RemoveBookmark | ( | const Bookmark & | bookmark | ) |
删除指定的书签。
| [in] | bookmark | 要删除的有效书签。 |
| void foxit::pdf::PDFDoc::RemoveHiddenInfo | ( | const HiddenInfoSettingData & | hidden_data_setting | ) |
根据用户定义的设置从当前PDF文档中删除指定类型的隐藏信息。
此方法提供对清理过程的精细控制。只有在提供的设置对象中启用的数据类型才会被删除。 它允许选择性删除诸如元数据、书签、隐藏文本、图层、注释、链接等元素。
| [in] | hidden_data_setting | 一个 HiddenInfoSettingData 对象,定义要删除的隐藏数据类型。 |
| bool foxit::pdf::PDFDoc::RemoveOpenAction | ( | ) |
移除文档打开时要执行的动作。
| bool foxit::pdf::PDFDoc::RemovePage | ( | int | index | ) |
通过页面索引删除PDF页面。
| [in] | index | 页面索引。有效范围:从0到(count-1)。 count 由函数 PDFDoc::GetPageCount 返回。 |
| bool foxit::pdf::PDFDoc::RemovePage | ( | const foxit::pdf::PDFPage & | page | ) |
删除指定的PDF页面。
一旦指定的PDF页面被成功删除,页面对象就不能再使用。
| [in] | page | 表示要删除的PDF页面的PDF页面对象。页面应该在当前PDF文档中。 |
| bool foxit::pdf::PDFDoc::RemoveReadingBookmark | ( | const ReadingBookmark & | reading_bookmark | ) |
从当前PDF文档中删除阅读书签。
| [in] | reading_bookmark | 要删除的有效阅读书签。 |
| bool foxit::pdf::PDFDoc::RemoveSecurity | ( | ) |
从当前文档中移除安全处理程序,以便后续保存的文档将是未加密的。
| void foxit::pdf::PDFDoc::RemoveSignature | ( | const foxit::pdf::Signature & | signature | ) |
删除签名。
| [in] | signature | 要删除的有效签名。如果此签名的类型是 Signature::e_SignatureTypePagingSeal,此函数 将删除与此签名相关的所有签名。 |
| void foxit::pdf::PDFDoc::RemoveStructTree | ( | ) |
移除当前文档中的结构树。
| void foxit::pdf::PDFDoc::Sanitize | ( | ) |
使用默认设置从当前PDF文档中删除所有隐藏或潜在敏感信息。
此方法对PDF文档执行完整的清理。它自动检测并删除元数据、注释、隐藏文本、 文件附件、注释以及其他可能包含隐藏或私人信息的元素。
| bool foxit::pdf::PDFDoc::SaveAs | ( | const char * | file_path, |
| uint32 | save_flags = PDFDoc::e_SaveFlagNormal |
||
| ) |
将当前PDF文档另存为另一个PDF文件。
如果当前文档是从现有PDF文件加载的,并且在保存之前通过 PDFDoc::SetFileVersion 设置了不同的文件版本,Foxit PDF SDK将忽略参数 save_flags 中的 PDFDoc::e_SaveFlagIncremental 并在保存的PDF文件中使用文件版本。
| [in] | file_path | 新保存的PDF文件的完整路径。它不应该是空字符串。 |
| [in] | save_flags | 文档保存标志。请参考从 PDFDoc::e_SaveFlagNormal 开始的值, 这可以是这些值中的一个或组合。 默认值:PDFDoc::e_SaveFlagNormal。 |
| bool foxit::pdf::PDFDoc::SaveAs | ( | const wchar_t * | file_path, |
| uint32 | save_flags = PDFDoc::e_SaveFlagNormal |
||
| ) |
将当前PDF文档另存为另一个PDF文件。
如果当前文档是从现有PDF文件加载的,并且在保存之前通过 PDFDoc::SetFileVersion 设置了不同的文件版本,Foxit PDF SDK将忽略参数 save_flags 中的 PDFDoc::e_SaveFlagIncremental 并在保存的PDF文件中使用文件版本。
| [in] | file_path | 新保存的PDF文件的完整路径。它不应该是空字符串。 |
| [in] | save_flags | 文档保存标志。请参考从 PDFDoc::e_SaveFlagNormal 开始的值, 这可以是这些值中的一个或组合。 默认值:PDFDoc::e_SaveFlagNormal。 |
| bool foxit::pdf::PDFDoc::SaveAsWrapperFile | ( | const wchar_t * | file_path, |
| const WrapperData * | wrapper_data = 0, |
||
| uint32 | user_permissions = 0xFFFFFFFC, |
||
| const char * | owner_password = "" |
||
| ) |
将当前PDF文档另存为包装文件。
PDF包装是一个扩展标准,它帮助向查看器提示一些信息。
PDF包装包含
此函数使用由 file_path 指定的文件的当前大小来设置包装偏移量。
| [in] | file_path | PDF文件的完整路径。 当前PDF文档将作为包装文件保存到此PDF文件中。 |
| [in] | wrapper_data | 包装数据。如果这是NULL,则不使用包装数据。 默认值:NULL。 |
| [in] | user_permissions | 包装文档的用户权限。如果不需要特殊权限,传递0xFFFFFFFC。 请参考从 PDFDoc::e_PermPrint 开始的值, 这应该是这些值中的一个或组合。默认值:0xFFFFFFFC。 |
| [in] | owner_password | 所有者密码。如果这是空字符串,参数 user_permissions 将被忽略。 默认值:空字符串。 |
| void foxit::pdf::PDFDoc::SetCacheFile | ( | foxit::common::file::StreamCallback * | file_stream, |
| bool | is_own_file_stream | ||
| ) |
设置缓存文件 (代表文件流) 到当前PDF文档。
当生成内容流时,缓存文件可以被用于缓存大量数据。
| [in] | file_stream | 由用户实现common::file::StreamCallback 对象用于数据缓存。 它可以是 NULL 。它是 NULL ,原始缓存文件将被释放。 |
| [in] | is_own_file_stream | 用于决定福昕PDF SDK 是否应该持有输入流回调对象所有权 : true 表示输入流对象将被福昕PDF SDK销毁 (当不再为当前文档缓存数据时,可以通过调用接口 StreamCallback::Release 释放)。 false 表示用户应该负责销毁回调对象。 |
| void foxit::pdf::PDFDoc::SetDisplayMode | ( | DisplayMode | display_mode | ) |
设置显示模式。
显示模式指定文档打开时应如何显示。
| [in] | display_mode | 显示模式值。请参考从 PDFDoc::e_DisplayUseNone 开始的值, 这应该是这些值中的一个。 |
| void foxit::pdf::PDFDoc::SetFileVersion | ( | int | version | ) |
设置将存储在保存的PDF文件的PDF头部部分中的PDF文件版本。
新的文件版本不会直接影响当前文档,但会在函数 pdf::PDFDoc::SaveAs 或 PDFDoc::StartSaveAs 中的保存PDF文件中使用。此函数不检查PDF内容是否与指定版本匹配。
如果用户想要进行关于PDF版本的合规性转换,请参考模块"Compliance" 并使用类 addon::compliance::PDFCompliance。
| [in] | version | 指定文件版本的整数,例如值14表示版本"1.4", 值15表示"1.5",等等。此值应从10到17或20, 并且等于或大于当前PDF文件的当前版本。 |
| bool foxit::pdf::PDFDoc::SetOpenAction | ( | actions::Action & | action | ) |
设置文档打开时要执行的动作。
| bool foxit::pdf::PDFDoc::SetSecurityHandler | ( | const SecurityHandler & | handler | ) |
为加密设置PDF安全处理程序,如标准加密(密码)、 证书加密等。
| [in] | handler | PDF安全处理程序对象。 |
| common::Progressive foxit::pdf::PDFDoc::StartAddTiledWatermark | ( | const wchar_t * | text, |
| const TiledWatermarkSettings & | settings, | ||
| const WatermarkTextProperties & | properties, | ||
| const common::Range & | page_range, | ||
| common::PauseCallback * | pause = 0 |
||
| ) |
添加文本平铺水印到页面中。
如果水印被平铺到多页,这些页面将保持参数page_range的顺序 如果参数 page_range 被初始化为空, 平铺水印将被添加到所有页面中。另外,动态XFA不支持添加平铺水印。
| [in] | text | 文本字符串。它将用于平铺水印的内容,它不能为空。 |
| [in] | settings | 平铺水印设置,包含布局设置。 |
| [in] | properties | 平铺水印文本属性。 |
| [in] | page_range | 应至少包含一个有效范围的范围对象。 所有相关页面将保持顺序(由此范围指定)并作为一个整体移动。 如果范围中存在重复的索引,只有最后一次出现的才有用。 |
| [in] | pause | 决定加载过程是否需要暂停的暂停对象。 这可以是NULL,表示在解析过程中不暂停。 如果这不是NULL,它应该是用户实现的有效暂停对象。 默认值:NULL。 |
| common::Progressive foxit::pdf::PDFDoc::StartAddTiledWatermark | ( | const wchar_t * | src_img_file_path, |
| const TiledWatermarkSettings & | settings, | ||
| const common::Range & | page_range, | ||
| common::PauseCallback * | pause = 0 |
||
| ) |
Add image type tiled watermark to PDF pages by image path.
如果水印被平铺到多页,这些页面将保持参数page_range的顺序 如果参数 page_range 被初始化为空, 平铺水印将被添加到所有页面中。另外,动态XFA不支持添加平铺水印。
图像平铺水印支持 .bmp .dib .jpg .jpeg .jpe .gif .png .tif .tiff 格式。
| [in] | src_img_file_path | 图像文件路径。这个不应该为空。 |
| [in] | settings | 平铺水印设置,包含布局设置。 |
| [in] | page_range | 应至少包含一个有效范围的范围对象。 所有相关页面将保持顺序(由此范围指定)并作为一个整体移动。 如果范围中存在重复的索引,只有最后一次出现的才有用。 |
| [in] | pause | 决定加载过程是否需要暂停的暂停对象。 这可以是NULL,表示在解析过程中不暂停。 如果这不是NULL,它应该是用户实现的有效暂停对象。 默认值:NULL。 |
| common::Progressive foxit::pdf::PDFDoc::StartAddTiledWatermark | ( | foxit::common::file::ReaderCallback * | src_img_stream, |
| const TiledWatermarkSettings & | settings, | ||
| const common::Range & | page_range, | ||
| common::PauseCallback * | pause = 0 |
||
| ) |
通过图像流添加图片类型平铺水印到页面中。
如果水印被平铺到多页,这些页面将保持参数page_range的顺序 如果参数 page_range 被初始化为空, 平铺水印将被添加到所有页面中。另外,动态XFA不支持添加平铺水印。
图像平铺水印支持 .bmp .dib .jpg .jpeg .jpe .gif .png .tif .tiff 格式。
| [in] | src_img_stream | common::file::ReaderCallback 对象用于用户传递图像数据给福昕PDF SDK, 它一定是有效的。 |
| [in] | settings | 平铺水印设置,包含布局设置。 |
| [in] | page_range | 应至少包含一个有效范围的范围对象。 所有相关页面将保持顺序(由此范围指定)并作为一个整体移动。 如果范围中存在重复的索引,只有最后一次出现的才有用。 |
| [in] | pause | 决定加载过程是否需要暂停的暂停对象。 这可以是NULL,表示在解析过程中不暂停。 如果这不是NULL,它应该是用户实现的有效暂停对象。 默认值:NULL。 |
| common::Progressive foxit::pdf::PDFDoc::StartAddTiledWatermark | ( | const foxit::pdf::PDFPage & | page, |
| const TiledWatermarkSettings & | settings, | ||
| const common::Range & | page_range, | ||
| common::PauseCallback * | pause = 0 |
||
| ) |
添加页面类型平铺水印。
如果水印被平铺到多页,这些页面将保持参数page_range的顺序 如果参数 page_range 被初始化为空, 平铺水印将被添加到所有页面中。另外,动态XFA不支持添加平铺水印。
| [in] | page | 有效的页面对象,内容用于添加平铺水印。 |
| [in] | settings | 平铺水印设置,包含布局设置。 |
| [in] | page_range | 应至少包含一个有效范围的范围对象。 所有相关页面将保持顺序(由此范围指定)并作为一个整体移动。 如果范围中存在重复的索引,只有最后一次出现的才有用。 |
| [in] | pause | 决定加载过程是否需要暂停的暂停对象。 这可以是NULL,表示在解析过程中不暂停。 如果这不是NULL,它应该是用户实现的有效暂停对象。 默认值:NULL。 |
| common::Progressive foxit::pdf::PDFDoc::StartEmbedAllFonts | ( | common::PauseCallback * | pause = 0 | ) |
开始转换所有未嵌入字体为内嵌字体。
转换将花费很长事件, 所以这个接口使用步进式完成。
这个接口只工作与可用的字体来嵌入,字体是否支持内嵌可以通过common::Font::IsSupportEmbedded 检查。
内嵌后,这个接口将删除原始字体对象,然而,原始字体在文档中的引用将仍然存在。
| [in] | pause | 决定加载过程是否需要暂停的暂停对象。 这可以是NULL,表示在解析过程中不暂停。 如果这不是NULL,它应该是用户实现的有效暂停对象。 默认值:NULL。 |
| common::Progressive foxit::pdf::PDFDoc::StartExtractPages | ( | const char * | file_path, |
| uint32 | options, | ||
| const common::Range & | page_range = common::Range(), |
||
| common::PauseCallback * | pause = 0 |
||
| ) |
开始从当前PDF文档提取页面。
提取页面可能需要很长时间,因此Foxit PDF SDK使用渐进式过程来执行此操作。
| [in] | file_path | 用于保存提取页面的新保存PDF文件的完整路径。它不应该是空字符串。 |
| [in] | options | 提取页面的选项。请参考从 PDFDoc::e_ExtractPagesOptionAnnotation 开始的值, 这可以是这些值中的一个或组合。 0表示不使用任何选项。 |
| [in] | page_range | 指定要提取哪些页面的范围对象。如果此范围对象通过默认构造函数构造 且未设置任何值,将提取当前文档中的所有页面。 默认值:通过默认构造函数构造且未设置任何值的范围对象。 |
| [in] | pause | 决定提取过程是否需要暂停的暂停对象。 这可以是NULL,表示在解析过程中不暂停。 如果不是NULL,它应该是用户实现的有效暂停对象。 默认值:NULL。 |
| common::Progressive foxit::pdf::PDFDoc::StartExtractPages | ( | const wchar_t * | file_path, |
| uint32 | options, | ||
| const common::Range & | page_range = common::Range(), |
||
| common::PauseCallback * | pause = 0 |
||
| ) |
开始从当前PDF文档提取页面。
提取页面可能需要很长时间,因此Foxit PDF SDK使用渐进式过程来执行此操作。
| [in] | file_path | 用于保存提取页面的新保存PDF文件的完整路径。不应为空字符串。 |
| [in] | options | 提取页面的选项。请参考从 PDFDoc::e_ExtractPagesOptionAnnotation 开始的值, 这可以是这些值中的一个或组合。0表示不使用任何选项。 |
| [in] | page_range | 指定要提取哪些页面的范围对象。如果此范围对象通过默认构造函数构造 且未设置任何值,将提取当前文档中的所有页面。 默认值:通过默认构造函数构造且未设置任何值的范围对象。 |
| [in] | pause | 决定提取过程是否需要暂停的暂停对象。 这可以是NULL,表示在解析过程中不暂停。 如果不是NULL,它应该是用户实现的有效暂停对象。 默认值:NULL。 |
| common::Progressive foxit::pdf::PDFDoc::StartExtractPages | ( | foxit::common::file::WriterCallback * | file, |
| uint32 | options, | ||
| const foxit::common::Range & | page_range = common::Range(), |
||
| foxit::common::PauseCallback * | pause = 0 |
||
| ) |
开始从当前PDF文档提取页面。
提取页面可能需要很长时间,因此Foxit PDF SDK使用渐进式过程来执行此操作。
| [in] | file | 用户实现的 common::file::WriterCallback 对象, 用于以自定义方式存储所有提取页面的数据。 |
| [in] | options | 提取页面的选项。请参考从 PDFDoc::e_ExtractPagesOptionAnnotation 开始的值, 这可以是这些值中的一个或组合。0表示不使用任何选项。 |
| [in] | page_range | 指定要提取哪些页面的范围对象。如果此范围对象通过默认构造函数构造 且未设置任何值,将提取当前文档中的所有页面。 默认值:通过默认构造函数构造且未设置任何值的范围对象。 |
| [in] | pause | 决定提取过程是否需要暂停的暂停对象。 这可以是NULL,表示在解析过程中不暂停。 如果不是NULL,它应该是用户实现的有效暂停对象。 默认值:NULL。 |
| common::Progressive foxit::pdf::PDFDoc::StartGetPayloadFile | ( | foxit::common::file::WriterCallback * | payload_file, |
| common::PauseCallback * | pause = 0 |
||
| ) |
开始获取载荷文件。
获取载荷文档可能需要很长时间,因此此函数使用渐进式过程来执行此操作。
| [in] | payload_file | WriterCallback回调对象。用户应该在此回调对象中实现回调函数, 以便此回调对象可以用于保存载荷文件。 |
| [in] | pause | 暂停回调对象,用于决定解析过程是否需要暂停。 这可以是NULL,表示在解析过程中不暂停。 如果不是NULL,它应该是用户实现的有效暂停对象。 默认值:NULL。 |
| common::Progressive foxit::pdf::PDFDoc::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 SDK使用渐进式过程来执行此操作。
源PDF文档页面中的已签名签名不会导入到当前PDF文档中。
目前,如果当前PDF文档或源PDF文档包含XFA,Foxit PDF SDK 不支持进行导入。
如果此函数用于合并两个PDF文件,强烈建议将页面导入到目标PDF文件的末尾, 而不是目标PDF文件的开头。
| [in] | dest_index | 当前PDF文档中的页面索引。用于指定导入页面的插入位置: 如果参数 dest_index 小于0,导入的页面将插入到第一个位置。 如果参数 dest_index 等于或大于当前页面数量, 导入的页面将插入到末尾。 |
| [in] | src_doc | 作为源PDF文档的PDF文档对象。此文档中的页面将导入到 当前PDF文档。请保持此源PDF文档对象有效, 直到当前文档不再保存或关闭。 |
| [in] | flags | 导入页面的选项。请参考从 PDFDoc::e_ImportFlagNormal 开始的值, 这可以是这些值中的一个或组合。 默认值:PDFDoc::e_ImportFlagNormal。 |
| [in] | layer_name | 要在应用程序图层面板中显示的不可选择标签的名称或不可选择标签的前缀名称。 默认值:空字符串。 如果参数 flags 包含 PDFDoc::e_ImportFlagWithLayers, 这不应为空,应为有效字符串。 如果参数 flags 不包含 PDFDoc::e_ImportFlagWithLayers, 此字符串将被忽略。
|
| [in] | page_range | 指定要插入哪些页面的范围对象。如果此范围对象通过默认构造函数构造 且未设置任何值,将导入源文档中的所有页面。 默认值:通过默认构造函数构造且未设置任何值的范围对象。 |
| [in] | pause | 决定导入过程是否需要暂停的暂停对象。 这可以是NULL,表示在解析过程中不暂停。 如果不是NULL,它应该是用户实现的有效暂停对象。 默认值:NULL。 |
| common::Progressive foxit::pdf::PDFDoc::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 SDK使用渐进式过程来执行此操作。
源PDF文档页面中的已签名签名不会导入到当前PDF文档中。
目前,如果当前PDF文档或源PDF文档包含XFA,Foxit PDF SDK不支持进行导入。
如果此函数用于合并两个PDF文件,强烈建议将页面导入到目标PDF文件的末尾, 而不是目标PDF文件的开头。
| [in] | dest_index | 当前PDF文档中的页面索引。用于指定导入页面的插入位置。 如果参数 dest_index 小于0,导入的页面将插入到第一个位置。 如果参数 dest_index 等于或大于当前页面数量, 导入的页面将插入到末尾。 |
| [in] | src_file_path | 作为源PDF文档的现有PDF文件的完整路径。 将从此PDF文件导入一些页面到当前PDF文档。 |
| [in] | password | 用于加载源PDF文档内容的密码字符串。 密码可以是用户密码或所有者密码。如果源PDF文档未使用密码加密, 只需传递空字符串。 |
| [in] | flags | 导入页面的选项。请参考从 PDFDoc::e_ImportFlagNormal 开始的值, 这可以是这些值中的一个或组合。 默认值:PDFDoc::e_ImportFlagNormal。 |
| [in] | layer_name | 要在应用程序图层面板中显示的不可选择标签的名称或不可选择标签的前缀名称。 默认值:空字符串。 如果参数 flags 包含 PDFDoc::e_ImportFlagWithLayers, 这不应为空,应为有效字符串。 如果参数 flags 不包含 PDFDoc::e_ImportFlagWithLayers, 此字符串将被忽略。
|
| [in] | page_range | 指定要导入哪些页面的范围对象。如果此范围对象通过默认构造函数构造 且未设置任何值,将导入源文档中的所有页面。 默认值:通过默认构造函数构造且未设置任何值的范围对象。 |
| [in] | pause | 决定导入过程是否需要暂停的暂停对象。 这可以是NULL,表示在解析过程中不暂停。 如果不是NULL,它应该是用户实现的有效暂停对象。 默认值:NULL。 |
| common::Progressive foxit::pdf::PDFDoc::StartImportPagesFromFilePath | ( | int | dest_index, |
| const wchar_t * | src_file_path, | ||
| const WString & | password, | ||
| uint32 | flags = PDFDoc::e_ImportFlagNormal, |
||
| const char * | layer_name = "", |
||
| const common::Range & | page_range = common::Range(), |
||
| common::PauseCallback * | pause = 0 |
||
| ) |
开始从另一个PDF文档(通过文件路径)导入页面。
导入页面可能需要很长时间,因此Foxit PDF SDK使用渐进式过程来执行此操作。
源PDF文档页面中的已签名签名不会导入到当前PDF文档中。
目前,如果当前PDF文档或源PDF文档包含XFA,Foxit PDF SDK不支持进行导入。
如果此函数用于合并两个PDF文件,强烈建议将页面导入到目标PDF文件的末尾, 而不是目标PDF文件的开头。
| [in] | dest_index | 当前PDF文档中的页面索引。用于指定导入页面的插入位置。 如果参数 dest_index 小于0,导入的页面将插入到第一个位置。 如果参数 dest_index 等于或大于当前页面数量, 导入的页面将插入到末尾。 |
| [in] | src_file_path | 作为源PDF文档的现有PDF文件的完整路径。 将从此PDF文件导入一些页面到当前PDF文档。 |
| [in] | password | 用于加载源PDF文档内容的密码字符串。 密码可以是用户密码或所有者密码。如果源PDF文档未使用密码加密, 只需传递空字符串。 |
| [in] | flags | 导入页面的选项。请参考从 PDFDoc::e_ImportFlagNormal 开始的值, 这可以是这些值中的一个或组合。 默认值:PDFDoc::e_ImportFlagNormal。 |
| [in] | layer_name | 要在应用程序图层面板中显示的不可选择标签的名称或不可选择标签的前缀名称。 默认值:空字符串。 如果参数 flags 包含 PDFDoc::e_ImportFlagWithLayers, 这不应为空,应为有效字符串。 如果参数 flags 不包含 PDFDoc::e_ImportFlagWithLayers, 此字符串将被忽略。
|
| [in] | page_range | 指定要导入哪些页面的范围对象。如果此范围对象通过默认构造函数构造 且未设置任何值,将导入源文档中的所有页面。 默认值:通过默认构造函数构造且未设置任何值的范围对象。 |
| [in] | pause | 决定导入过程是否需要暂停的暂停对象。 这可以是NULL,表示在解析过程中不暂停。 如果不是NULL,它应该是用户实现的有效暂停对象。 默认值:NULL。 |
| common::Progressive foxit::pdf::PDFDoc::StartLoad | ( | const String & | password = "", |
| bool | is_cache_stream = true, |
||
| common::PauseCallback * | pause = 0 |
||
| ) |
开始使用指定密码加载当前文档内容。
加载文档内容可能需要很长时间,因此此函数使用渐进过程来 执行此操作。
使用此函数时,参数is_cache_stream可用于决定是否将 流内容加载到内存中:
| [in] | password | 用于加载当前文档内容的密码字符串。密码可以是 用户密码或所有者密码。如果当前文档未使用 密码加密,只需传递空字符串。默认值:空字符串。 |
| [in] | is_cache_stream | true表示将流内容加载到内存中,false表示不将 流内容加载到内存中,只将流内容留在文件系统上并在 需要时读取它们。请参考"详情"部分了解这两种模式之间的区别。 默认值:true。 |
| [in] | pause | 决定加载过程是否需要暂停的暂停对象。 这可以是NULL,表示在解析过程中不暂停。 如果这不是NULL,它应该是用户实现的有效暂停对象。 默认值:NULL。 |
| common::Progressive foxit::pdf::PDFDoc::StartLoadW | ( | const WString & | password = WString(), |
| bool | is_cache_stream = true, |
||
| common::PauseCallback * | pause = 0 |
||
| ) |
开始使用指定密码加载当前文档内容。
加载文档内容可能需要很长时间,因此此函数使用渐进过程来 执行此操作。
使用此函数时,参数is_cache_stream可用于决定是否将 流内容加载到内存中:
| [in] | password | 用于加载当前文档内容的密码字符串。密码可以是 用户密码或所有者密码。如果当前文档未使用 密码加密,只需传递空字符串。默认值:空字符串。 |
| [in] | is_cache_stream | true表示将流内容加载到内存中,false表示不将 流内容加载到内存中,只将流内容留在文件系统上并在 需要时读取它们。请参考"详情"部分了解这两种模式之间的区别。 默认值:true。 |
| [in] | pause | 决定加载过程是否需要暂停的暂停对象。 这可以是NULL,表示在解析过程中不暂停。 如果这不是NULL,它应该是用户实现的有效暂停对象。 默认值:NULL。 |
| common::Progressive foxit::pdf::PDFDoc::StartRecognizeForm | ( | common::PauseCallback * | pause = 0 | ) |
开始识别表单域。
识别表单可能需要很长时间,因此Foxit PDF SDK使用渐进式过程来执行此操作。
对于Windows平台,在调用这个函数之前,强烈建议用户通过调用 addon::ocr::OCREngine::Initialize 初始化OCR引擎。
| [in] | pause | 决定替换过程是否需要暂停的暂停对象。 这可以是NULL,表示在替换过程中不暂停。 如果不是NULL,它应该是用户实现的有效暂停对象。 |
| common::Progressive foxit::pdf::PDFDoc::StartRecognizeForm | ( | bool | is_set_tool_tips, |
| common::PauseCallback * | pause = 0 |
||
| ) |
开始识别表单域。
识别表单可能需要很长时间,因此Foxit PDF SDK使用渐进式过程来执行此操作。
对于Windows平台,在调用这个函数之前,强烈建议用户通过调用 addon::ocr::OCREngine::Initialize 初始化OCR引擎。
| [in] | is_set_tool_tips | true 意味着对识别表单设置提示, false 表示不设置。 |
| [in] | pause | 决定替换过程是否需要暂停的暂停对象。 这可以是NULL,表示在替换过程中不暂停。 如果不是NULL,它应该是用户实现的有效暂停对象。 |
| common::Progressive foxit::pdf::PDFDoc::StartSaveAs | ( | const char * | file_path, |
| uint32 | save_flags = PDFDoc::e_SaveFlagNormal, |
||
| common::PauseCallback * | pause = 0 |
||
| ) |
开始将当前PDF文档另存为另一个PDF文件。
保存PDF文档可能需要很长时间,因此此函数使用渐进式过程来执行此操作。
如果当前文档是从现有PDF文件加载的,并且在保存之前通过 PDFDoc::SetFileVersion 设置了不同的文件版本,Foxit PDF SDK将忽略参数 save_flags 中的 PDFDoc::e_SaveFlagIncremental 并在保存的PDF文件中使用文件版本。
| [in] | file_path | 新保存的PDF文件的完整路径。它不应该是空字符串。 |
| [in] | save_flags | 文档保存标志。请参考从 PDFDoc::e_SaveFlagNormal 开始的值, 这可以是这些值中的一个或组合。 默认值:PDFDoc::e_SaveFlagNormal。 |
| [in] | pause | 暂停回调对象,用于决定解析过程是否需要暂停。 这可以是NULL,表示在解析过程中不暂停。 如果不是NULL,它应该是用户实现的有效暂停对象。 默认值:NULL。 |
| common::Progressive foxit::pdf::PDFDoc::StartSaveAs | ( | const wchar_t * | file_path, |
| uint32 | save_flags = PDFDoc::e_SaveFlagNormal, |
||
| common::PauseCallback * | pause = 0 |
||
| ) |
开始将当前PDF文档另存为另一个PDF文件。
保存PDF文档可能需要很长时间,因此此函数使用渐进式过程来执行此操作。
如果当前文档是从现有PDF文件加载的,并且在保存之前通过 PDFDoc::SetFileVersion 设置了不同的文件版本,Foxit PDF SDK将忽略参数 save_flags 中的 PDFDoc::e_SaveFlagIncremental 并在保存的PDF文件中使用文件版本。
| [in] | file_path | 新保存的PDF文件的完整路径。它不应该是空字符串。 |
| [in] | save_flags | 文档保存标志。请参考从 PDFDoc::e_SaveFlagNormal 开始的值, 这可以是这些值中的一个或组合。 默认值:PDFDoc::e_SaveFlagNormal。 |
| [in] | pause | 暂停回调对象,用于决定解析过程是否需要暂停。 这可以是NULL,表示在解析过程中不暂停。 如果不是NULL,它应该是用户实现的有效暂停对象。 默认值:NULL。 |
| common::Progressive foxit::pdf::PDFDoc::StartSaveAs | ( | foxit::common::file::WriterCallback * | file, |
| foxit::uint32 | save_flags = PDFDoc::e_SaveFlagNormal, |
||
| foxit::common::PauseCallback * | pause = 0 |
||
| ) |
开始将当前PDF文档另存为另一个PDF文件。
保存PDF文档可能需要很长时间,因此此函数使用渐进式过程来执行此操作。
如果当前文档是从现有PDF文件加载的,并且在保存之前通过 PDFDoc::SetFileVersion 设置了不同的文件版本,Foxit PDF SDK将忽略参数 save_flags 中的 PDFDoc::e_SaveFlagIncremental 并在保存的PDF文件中使用文件版本。
| [in] | file | 用户实现的 common::file::WriterCallback 对象,用于保存PDF文档。 |
| [in] | save_flags | 文档保存标志。请参考从 PDFDoc::e_SaveFlagNormal 开始的值, 这可以是这些值中的一个或组合。 默认值:PDFDoc::e_SaveFlagNormal。 |
| [in] | pause | 暂停回调对象,用于决定解析过程是否需要暂停。 这可以是NULL,表示在解析过程中不暂停。 如果不是NULL,它应该是用户实现的有效暂停对象。 默认值:NULL。 |
| common::Progressive foxit::pdf::PDFDoc::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中定义)。
保存PDF文档可能需要很长时间,因此此函数使用渐进式过程来执行此操作。
如果当前文档是从现有PDF文件加载的,并且在保存之前通过 PDFDoc::SetFileVersion 设置了不同的文件版本,Foxit PDF SDK将忽略参数 save_flags 中的 PDFDoc::e_SaveFlagIncremental 并在保存的PDF文件中使用文件版本。
| [in] | file_path | 新保存的PDF文件的完整路径。它不应该是空字符串。 |
| [in] | payload_file_path | 将用作载荷文档的PDF文档的完整路径。 它不应该是空字符串。 |
| [in] | crypto_filter | 用于加密加密载荷文档的加密过滤器的名称。 |
| [in] | description | 包装文件的描述,用于向应用程序显示或面对用户提示信息。 |
| [in] | version | 用于加密此字典引用的加密载荷的加密过滤器的版本号。 |
| [in] | save_flags | 文档保存标志。请参考从 PDFDoc::e_SaveFlagNormal 开始的值, 这可以是这些值中的一个或组合。 默认值:PDFDoc::e_SaveFlagNormal。 |
| [in] | pause | 暂停回调对象,用于决定解析过程是否需要暂停。 这可以是NULL,表示在解析过程中不暂停。 如果不是NULL,它应该是用户实现的有效暂停对象。 默认值:NULL。 |
| void foxit::pdf::PDFDoc::UpdateHeaderFooter | ( | const HeaderFooter & | headerfooter | ) |
更新页眉页脚。
PDF文档可以多次添加页眉页脚。当页眉页脚被更新到文档时, 与新页眉页脚出现在同一位置的旧页眉页脚将全部被删除,然后添加新的页眉页脚。
| [in] | headerfooter | 要更新到当前文档的有效页眉页脚对象。 |