Foxit PDF SDK
fsdk.PDFDoc类 参考

Public 成员函数

def AddHeaderFooter (headerfooter)
 添加新的页眉页脚。 更多...
 
def AddIndirectObject (pdf_object)
 将PDF对象添加到当前PDF文档中,成为间接对象。 更多...
 
def AddPageFromTemplate (template_name)
 从命名模板添加新的PDF页面到文档。 更多...
 
def AddPagingSealSignature (page_range, width, height, to_check_permission)
 按页面范围向文档添加骑缝章签名。 更多...
 
def AddTableOfContents (title, bookmark_level_array)
 将页面作为目录插入到当前PDF文档的前面。 更多...
 
def AddTableOfContents (table_of_contents_config)
 插入目录页到当前PDF最前页。 更多...
 
def CheckPassword (password)
 检查指定密码的类型。 更多...
 
def ClearRenderCache ()
 清除渲染过程中使用的缓存,以减少内存使用。 更多...
 
def CreateDSS ()
 在当前PDF文档中创建DSS信息。 更多...
 
def CreateRootBookmark ()
 创建新的书签根节点。 更多...
 
def DeleteIndirectObject (object_number)
 通过间接对象编号删除间接对象。 更多...
 
def DoJSOpenAction ()
 文档打开时执行JavaScript动作。 更多...
 
def ExportAnnotToFDF (pdf_annot, fdf_doc)
 将指定的注释导出到FDF/XFDF文档。 更多...
 
def ExportFormFieldsToFDF (field_array, is_include, fdf_doc)
 将指定的表单字段导出到FDF/XFDF文档。 更多...
 
def ExportToFDF (fdf_doc, types, page_range)
 将表单字段和注释导出到FDF/XFDF文档。 更多...
 
def GetAllPageBasicInfo ()
 获取所有页面的基本信息。 更多...
 
def GetAnnotsByIdArray (unique_id_arr)
 通过唯一ID数组返回注释数组。 更多...
 
def GetBookmarkLevelDepth ()
 获取书签层级深度。 更多...
 
def GetCatalog ()
 获取目录字典。 更多...
 
def GetCertificateEncryptData ()
 获取证书加密的加密数据。 更多...
 
def GetCustomEncryptData ()
 获取自定义加密的加密数据。 更多...
 
def GetDisplayMode ()
 获取显示模式。 更多...
 
def GetDRMEncryptData ()
 获取Foxit DRM加密的加密数据。 更多...
 
def GetEditableHeaderFooter ()
 获取可编辑的页眉页脚对象。 更多...
 
def GetEmbeddedFontData ()
 获取嵌入字体数据。 更多...
 
def GetEncryptDict ()
 获取加密字典。 更多...
 
def GetEncryptionType ()
 获取加密类型。 更多...
 
def GetFileSize ()
 获取文件大小。 更多...
 
def GetFileVersion ()
 获取存储在PDF头部部分的PDF文件版本。 更多...
 
def GetFirstAvailPageIndex ()
 获取第一个可用页面的页面索引。 更多...
 
def GetFont (index)
 通过索引获取字体。 更多...
 
def GetFontCount ()
 计算当前PDF文档中使用的所有PDF字体。 更多...
 
def GetHeader ()
 获取标识文件所符合的PDF规范版本的PDF头部。 更多...
 
def GetIndirectObject (object_number)
 通过间接对象编号获取间接对象。 更多...
 
def GetInfo ()
 获取信息字典。 更多...
 
def GetOpenAction ()
 获取文档打开时要执行的动作。 更多...
 
def GetPage (index)
 通过索引获取PDF页面。 更多...
 
def GetPageBasicInfo (index)
 通过索引获取指定页面的基本信息。 更多...
 
def GetPageCount ()
 获取页面数量。 更多...
 
def GetPagesDict ()
 获取"Pages"的字典。 更多...
 
def GetPageText (page_index)
 以显示顺序获取指定页面文本。 更多...
 
def GetPasswordType ()
 获取当前使用的密码类型。 更多...
 
def GetPayLoadData ()
 如果当前文档的包装类型是 fsdk.PDFDocE_WrapperPDFV2 ,获取载荷数据。 更多...
 
def GetReadingBookmark (index)
 通过索引获取阅读书签。 更多...
 
def GetReadingBookmarkCount ()
 获取阅读书签的数量。 更多...
 
def GetRMSEncryptData ()
 获取RMS加密的加密数据。 更多...
 
def GetRootBookmark ()
 获取书签根节点。 更多...
 
def GetSecurityHandler ()
 获取当前文档的当前PDF安全处理程序。 更多...
 
def GetSignature (index)
 通过索引获取签名。 更多...
 
def GetSignatureCount ()
 获取签名数量。 更多...
 
def GetStdEncryptData ()
 获取标准加密(称为密码加密)的加密数据。 更多...
 
def GetTrailer ()
 获取拖车字典。 更多...
 
def GetUserPassword (owner_password)
 基于所有者密码获取用户密码。 更多...
 
def GetUserPermissions ()
 获取用户访问权限。 更多...
 
def GetWrapperData ()
 如果当前文档的包装类型是 fsdk.PDFDocE_WrapperFoxit ,获取包装数据。 更多...
 
def GetWrapperOffset ()
 如果当前文档的包装类型是 fsdk.PDFDocE_WrapperFoxit ,获取包装偏移量。 更多...
 
def GetWrapperType ()
 获取包装类型。 更多...
 
def HasForm ()
 检查当前PDF文档是否有交互式表单(也称为AcroForm)。 更多...
 
def HasHeaderFooter ()
 检查当前文档是否有页眉页脚。 更多...
 
def HasLayer ()
 检查当前PDF文档是否有图层(在《PDF参考手册1.7》中称为"可选内容组")。 更多...
 
def HidePageTemplate (template_name)
 隐藏命名页面。 更多...
 
def ImportFromFDF (fdf_doc, types, page_range)
 从FDF/XFDF文档导入表单字段和注释。 更多...
 
def InsertDocument (dest_index, src_doc, options)
 将另一个PDF文档插入到当前PDF文档的指定位置。 更多...
 
def InsertDocument (dest_index, src_doc, options, bookmark_title)
 将另一个PDF文档插入到当前PDF文档的指定位置。 更多...
 
def InsertPage (index, width, height)
 通过索引向文档插入新的空白PDF页面。 更多...
 
def InsertPage (index, size)
 通过索引向文档插入新的空白PDF页面。 更多...
 
def InsertReadingBookmark (reading_bookmark_index, title, dest_page_index)
 向当前PDF文档插入阅读书签。 更多...
 
def IsEmpty ()
 检查当前对象是否为空。 更多...
 
def IsEncrypted ()
 检查当前文档是否为加密文件。 更多...
 
def IsLinearized ()
 检查当前PDF文档是否为线性化文件。 更多...
 
def IsOwnerPassword (password)
 检查输入密码是否为当前PDF文档的所有者密码。 更多...
 
def IsPortfolio ()
 检查当前PDF文档是否为文档集文件。 更多...
 
def IsTaggedPDF ()
 检查当前PDF文档是否为标签化PDF文件。 更多...
 
def IsUserPassword (password)
 检查输入密码是否为当前PDF文档的用户密码。 更多...
 
def IsWrapper ()
 检查当前文档是否为包装文件。 更多...
 
def IsXFA ()
 检查当前PDF文档是否为XFA文档。 更多...
 
def Load (password)
 使用指定密码加载当前文档内容。 更多...
 
def LoadW (password)
 使用指定密码加载当前文档内容。 更多...
 
def MovePagesTo (page_range, dest_index)
 将一个或多个页面(按索引指定)移动到新位置。 更多...
 
def MovePageTo (page, dest_index)
 将指定页面移动到新位置。 更多...
 
def RemoveAllHeaderFooters ()
 删除所有页眉页脚。 更多...
 
def RemoveBookmark (bookmark)
 删除指定的书签。 更多...
 
def RemoveHiddenInfo (hidden_data_setting)
 根据用户定义的设置从当前PDF文档中删除指定类型的隐藏信息。 更多...
 
def RemoveOpenAction ()
 移除文档打开时要执行的动作。 更多...
 
def RemovePage (index)
 通过页面索引删除PDF页面。 更多...
 
def RemovePage (page)
 删除指定的PDF页面。 更多...
 
def RemoveReadingBookmark (reading_bookmark)
 从当前PDF文档中删除阅读书签。 更多...
 
def RemoveSecurity ()
 从当前文档中移除安全处理程序,以便后续保存的文档将是未加密的。 更多...
 
def RemoveSignature (signature)
 删除签名。 更多...
 
def RemoveStructTree ()
 移除当前文档中的结构树。 更多...
 
def Sanitize ()
 使用默认设置从当前PDF文档中删除所有隐藏或潜在敏感信息。 更多...
 
def SaveAs (file_path, save_flags)
 将当前PDF文档另存为另一个PDF文件。 更多...
 
def SaveAsWrapperFile (file_path, wrapper_data, user_permissions, owner_password)
 将当前PDF文档另存为包装文件。 更多...
 
def SetCacheFile (file_stream, is_own_file_stream)
 设置缓存文件 (代表文件流) 到当前PDF文档。 更多...
 
def SetDisplayMode (display_mode)
 设置显示模式。 更多...
 
def SetFileVersion (version)
 设置将存储在保存的PDF文件的PDF头部部分中的PDF文件版本。 更多...
 
def SetOpenAction (action)
 设置文档打开时要执行的动作。 更多...
 
def SetSecurityHandler (handler)
 为加密设置PDF安全处理程序,如标准加密(密码)、 证书加密等。 更多...
 
def StartAddTiledWatermark (text, settings, properties, page_range, pause)
 添加文本平铺水印到页面中。 更多...
 
def StartEmbedAllFonts (pause)
 开始转换所有未嵌入字体为内嵌字体。 更多...
 
def StartExtractPages (file_path, options, page_range, pause)
 开始从当前PDF文档提取页面。 更多...
 
def StartExtractPages (file, options, page_range, pause)
 开始从当前PDF文档提取页面。 更多...
 
def StartGetPayloadFile (payload_file, pause)
 开始获取载荷文件。 更多...
 
def StartImportPages (dest_index, src_doc, flags, layer_name, page_range, pause)
 开始从另一个PDF文档(通过PDF文档对象)导入页面。 更多...
 
def StartImportPagesFromFilePath (dest_index, src_file_path, password, flags, layer_name, page_range, pause)
 开始从另一个PDF文档(通过文件路径)导入页面。 更多...
 
def StartLoad (password, is_cache_stream, pause)
 开始使用指定密码加载当前文档内容。 更多...
 
def StartLoadW (password, is_cache_stream, pause)
 开始使用指定密码加载当前文档内容。 更多...
 
def StartRecognizeForm (pause)
 开始识别表单域。 更多...
 
def StartRecognizeForm (is_set_tool_tips, pause)
 开始识别表单域。 更多...
 
def StartSaveAs (file_path, save_flags, pause)
 开始将当前PDF文档另存为另一个PDF文件。 更多...
 
def StartSaveAs (file, save_flags, pause)
 开始将当前PDF文档另存为另一个PDF文件。 更多...
 
def StartSaveAsPayloadFile (file_path, payload_file_path, crypto_filter, description, version, save_flags, pause)
 开始将当前PDF文档另存为带有载荷文档的包装文档(在PDF 2.0中定义)。 更多...
 
def UpdateHeaderFooter (headerfooter)
 更新页眉页脚。 更多...
 

详细描述

PDF文档对象可以通过文件路径、内存缓冲区、 自定义实现的 fsdk.FileReaderCallback 对象和输入文件流从现有PDF文件构造。然后调用函数 fsdk.PDFDoc.Load fsdk.PDFDoc.StartLoad 来加载文档内容。 此类提供了检索PDF文档不同部分的函数。例如:

此类还提供用于功能的函数,例如将当前文档保存为另一个PDF文件, 从另一个PDF文件导入页面,设置安全处理程序以保存加密的PDF文件等等。
此类对象也可以用于构造其他类的对象,以便访问PDF文档中的指定信息:

  • 要访问表单,请使用PDF文档对象构造 fsdk.Form 对象。

  • 要访问附加操作,请使用PDF文档对象构造 fsdk.AdditionalAction 对象。

  • 要访问查看器首选项信息,请使用PDF文档对象构造 DocViewerPrefs 对象。

  • 要访问元数据信息,请使用PDF文档对象构造 Metadata 对象。

  • 要管理页面标签信息,请使用PDF文档对象构造 PageLabels 对象。

  • 要在PDF文件中搜索,请使用PDF文档对象构造 TextSearch 对象。

  • 要访问图层,请使用PDF文档对象构造 LayerTree 对象。 要渲染图层,请使用PDF文档对象构造 LayerContext 对象。

  • 要构造新的 FileSpec 对象。

  • 要管理关联文件,请使用PDF文档对象构造 AssociatedFiles 对象。

  • 要访问名称树,请使用PDF文档对象构造 fsdk.PDFNameTree 对象。特别地, 对于嵌入文件名称树,可以使用PDF文档对象构造 Attachments 对象, 以便使用。

  • 要进行密文处理,请使用PDF文档对象构造 fsdk.Redaction 对象。

参见
fsdk.Form
fsdk.AdditionalAction
DocViewerPrefs
Metadata
PageLabels
TextSearch
LayerTree
LayerContext
FileSpec
AssociatedFiles
fsdk.PDFNameTree
Attachments
fsdk.Redaction

成员函数说明

◆ AddHeaderFooter()

def fsdk.PDFDoc.AddHeaderFooter (   headerfooter)

添加新的页眉页脚。

PDF文档可以多次添加页眉页脚。当添加新的页眉页脚时,旧的页眉页脚不会被删除, 但如果旧的页眉页脚与新的出现在同一位置,则会被新的覆盖。

参数
[in]headerfooter要添加到当前文档的有效页眉页脚对象。
返回
无。

◆ AddIndirectObject()

def fsdk.PDFDoc.AddIndirectObject (   pdf_object)

将PDF对象添加到当前PDF文档中,成为间接对象。

  • 如果输入的PDF对象是直接对象(其间接对象编号为0), 此函数将其更改为间接对象并添加到PDF文档中。 然后返回新的间接对象编号。

  • 如果输入的PDF对象已经是间接对象(其间接对象编号大于0), 此函数不会再次将其添加到文档中。 返回值将是其自身的间接对象编号。

参数
[in]pdf_objectfsdk.PDFObject 对象。不应为null
返回
新的间接对象编号。将大于0。

◆ AddPageFromTemplate()

def fsdk.PDFDoc.AddPageFromTemplate (   template_name)

从命名模板添加新的PDF页面到文档。

PDF文档中可能存在隐藏页面。隐藏页面映射到PDF文档中模板名称树中定义的名称。 此函数可用于将隐藏页面添加到PDF文档的末尾。
fsdk.PDFNameTree (使用类型 fsdk.PDFNameTreeE_Templates 初始化)可用于确定 哪些模板名称可用。
添加模板后,名称将在内部移动到文档的页面名称树。

参数
[in]template_name模板的名称,其映射的隐藏页面将添加到当前PDF文档的末尾。 如果找不到模板名称,将抛出异常 fsdk.E_ErrParam
返回
如果找到输入的模板名称,返回新的PDF页面对象。

◆ AddPagingSealSignature()

def fsdk.PDFDoc.AddPagingSealSignature (   page_range,
  width,
  height,
  to_check_permission 
)

按页面范围向文档添加骑缝章签名。

此函数将向 page_range 的第一页添加签名。

参数
[in]page_range指定某些页面的范围对象。这些页面将被添加签名。 有效的页面范围:从 1 到 countcount 由函数 fsdk.PDFDoc.GetPageCount 返回。 如果此范围对象由默认构造函数构造且未设置任何值,则表示当前文档的所有页面 都将被添加签名。 此函数不支持具有单个索引的范围或具有单个页面的文档。
[in]width骑缝章的宽度。该值将用于设置每个页面上签名的矩形。
[in]height骑缝章的高度。该值将用于设置每个页面上签名的矩形。
[in]to_check_permission一个布尔值,用于决定 Foxit PDF SDK 是否应在添加签名之前检查 PDF 文档的权限: true 表示 Foxit PDF SDK 应检查文档权限以决定是否允许添加签名, false 表示 Foxit PDF SDK 不应在添加签名之前检查文档权限。 当此参数为 false 时,用户应确保检查文档权限以检查是否允许添加签名。 默认值:true
返回
骑缝章签名对象。

◆ AddTableOfContents() [1/2]

def fsdk.PDFDoc.AddTableOfContents (   title,
  bookmark_level_array 
)

将页面作为目录插入到当前PDF文档的前面。

如果当前文档没有任何书签,此函数将不执行任何操作。

参数
[in]title目录的标题。如果这是空字符串,将使用默认值"Table of Contents"。
[in]bookmark_level_array书签级别数组,用于指定用来生成"目录"的书签。 对于输入数组中的每个元素,有效范围:从1到(depth)。 depth由函数 fsdk.PDFDoc.GetBookmarkLevelDepth 返回。 如果输入数组是空数组,意味着所有书签都用于生成"目录"。
返回
无。

◆ AddTableOfContents() [2/2]

def fsdk.PDFDoc.AddTableOfContents (   table_of_contents_config)

插入目录页到当前PDF最前页。

如果当前文档没有任何书签,这个接口将不会做任何事情。

参数
[in]table_of_contents_configTOC配置对象。
返回
无。

◆ CheckPassword()

def fsdk.PDFDoc.CheckPassword (   password)

检查指定密码的类型。

此函数可用于检查任何密码字符串的类型,包括用于加载文档内容的密码字符串。
某些PDF文档可能同时拥有用户密码和所有者密码,并且这两个密码相同。 但当前函数只能为此类密码返回一种类型。在这种情况下,函数 fsdk.PDFDoc.IsUserPassword fsdk.PDFDoc.IsOwnerPassword 可以帮助进行更多检查。

参数
[in]password要检测的密码字符串。
返回
密码类型。请参考从fsdk.PDFDocE_PwdInvalid 开始的值, 这将是这些值中的一个。

◆ ClearRenderCache()

def fsdk.PDFDoc.ClearRenderCache ( )

清除渲染过程中使用的缓存,以减少内存使用。

返回
无。

◆ CreateDSS()

def fsdk.PDFDoc.CreateDSS ( )

在当前PDF文档中创建DSS信息。

如果当前PDF文档已经有DSS信息,此函数将不执行任何操作并直接返回。

返回
无。

◆ CreateRootBookmark()

def fsdk.PDFDoc.CreateRootBookmark ( )

创建新的书签根节点。

如果当前PDF文档已经有书签根节点,此函数将删除旧的书签树并创建一个新的根节点。

返回
表示根书签的书签对象。

◆ DeleteIndirectObject()

def fsdk.PDFDoc.DeleteIndirectObject (   object_number)

通过间接对象编号删除间接对象。

参数
[in]object_number间接对象编号。应该大于0。
返回
无。

◆ DoJSOpenAction()

def fsdk.PDFDoc.DoJSOpenAction ( )

文档打开时执行JavaScript动作。

返回
true表示成功,false表示失败。

◆ ExportAnnotToFDF()

def fsdk.PDFDoc.ExportAnnotToFDF (   pdf_annot,
  fdf_doc 
)

将指定的注释导出到FDF/XFDF文档。

参数
[in]pdf_annot要导出到FDF/XFDF文档的有效PDF注释对象。
[in]fdf_doc有效的FDF/XFDF文档对象,指定的注释将导出到此文档。
返回
true表示成功,false表示失败。

◆ ExportFormFieldsToFDF()

def fsdk.PDFDoc.ExportFormFieldsToFDF (   field_array,
  is_include,
  fdf_doc 
)

将指定的表单字段导出到FDF/XFDF文档。

参数
[in]field_array表单字段数组。参数is_include将决定是否导出这些表单字段的数据。
[in]is_include布尔值,用于决定是否导出指定表单字段的数据: true表示导出指定表单字段的数据,false表示不导出指定表单字段的数据。
[in]fdf_doc有效的FDF/XFDF文档对象,指定的表单字段将导出到此文档。
返回
true表示成功,false表示失败。

◆ ExportToFDF()

def fsdk.PDFDoc.ExportToFDF (   fdf_doc,
  types,
  page_range 
)

将表单字段和注释导出到FDF/XFDF文档。

有关可用于导出的PDF对象类型的更多详细信息, 请参考"XML Forms Data Format Specification"第22页。

参数
[in]fdf_doc一个有效的FDF/XFDF文档对象,向其导出表单字段和注释。
[in]types用于决定将导出哪种类型的数据。请参考从 fsdk.PDFDocE_Forms 开始的值, 这可以是这些值中的一个或组合。 默认值:(fsdk.PDFDocE_Forms | fsdk.PDFDocE_Annots )。
[in]page_range指定一些页面的范围对象。这些页面中的数据(指定类型)将被导出到FDF/XFDF文档。 如果此范围对象通过默认构造函数构造且未设置任何值,意味着当前文档的所有数据(指定类型) 将被导出到FDF/XFDF文档。
此参数仅在参数types包含 fsdk.PDFDocE_Annots 时有用。
默认值:通过默认构造函数构造且未设置任何值的范围对象。
返回
true表示成功,false表示失败。

◆ GetAllPageBasicInfo()

def fsdk.PDFDoc.GetAllPageBasicInfo ( )

获取所有页面的基本信息。

此函数可以快速获取PDF页面的基本信息,而无需获取该PDF页面对象。 如果当前PDF文档对象是使用AsyncReaderCallback构造的,这意味着进行异步加载, 此函数可能抛出异常 fsdk.E_ErrDataNotReady 。 在这种情况下,用户应为回调函数 fsdk.AsyncReaderCallback.AddDownloadHint 通知的指定范围准备数据,然后再次调用此函数。

返回
包含指定页面基本信息的所有页面基本信息对象数组,数组按页面升序排列。

◆ GetAnnotsByIdArray()

def fsdk.PDFDoc.GetAnnotsByIdArray (   unique_id_arr)

通过唯一ID数组返回注释数组。

参数
[in]unique_id_arr唯一ID数组。唯一ID由 fsdk.Annot.GetUniqueID 返回。
返回
fsdk.Annot 对象数组。

◆ GetBookmarkLevelDepth()

def fsdk.PDFDoc.GetBookmarkLevelDepth ( )

获取书签层级深度。

返回
书签层级的深度。 如果当前文档没有任何书签,将返回零。

◆ GetCatalog()

def fsdk.PDFDoc.GetCatalog ( )

获取目录字典。

返回
目录字典。 如果没有目录字典或发生任何错误,此函数将返回null

◆ GetCertificateEncryptData()

def fsdk.PDFDoc.GetCertificateEncryptData ( )

获取证书加密的加密数据。

当当前文档使用证书加密时,此函数很有用。

返回
证书加密的加密数据。

◆ GetCustomEncryptData()

def fsdk.PDFDoc.GetCustomEncryptData ( )

获取自定义加密的加密数据。

当当前文档使用自定义加密时,此函数很有用。

返回
自定义加密的加密数据。

◆ GetDisplayMode()

def fsdk.PDFDoc.GetDisplayMode ( )

获取显示模式。

显示模式指定文档打开时应如何显示。

返回
显示模式值。请参考从 fsdk.PDFDocE_DisplayUseNone 开始的值, 这将是这些值中的一个。

◆ GetDRMEncryptData()

def fsdk.PDFDoc.GetDRMEncryptData ( )

获取Foxit DRM加密的加密数据。

当当前文档使用Foxit DRM加密时,此函数很有用。

返回
Foxit DRM加密的加密数据。

◆ GetEditableHeaderFooter()

def fsdk.PDFDoc.GetEditableHeaderFooter ( )

获取可编辑的页眉页脚对象。

PDF文档可能已经多次添加页眉页脚,但只有其中一个页眉页脚可以是可编辑的。 此函数用于检索可编辑的页眉页脚。

返回
表示可编辑页眉页脚的页眉页脚对象。

◆ GetEmbeddedFontData()

def fsdk.PDFDoc.GetEmbeddedFontData ( )

获取嵌入字体数据。

此函数用于"优化器"模型中的取消嵌入字体。

返回
嵌入字体数据。

◆ GetEncryptDict()

def fsdk.PDFDoc.GetEncryptDict ( )

获取加密字典。

返回
加密字典。 如果没有加密字典或发生任何错误,此函数将返回null

◆ GetEncryptionType()

def fsdk.PDFDoc.GetEncryptionType ( )

获取加密类型。

返回
加密类型。请参考从fsdk.PDFDocE_EncryptNone 开始的值, 这将是这些值中的一个。

◆ GetFileSize()

def fsdk.PDFDoc.GetFileSize ( )

获取文件大小。

返回
文件大小。

◆ GetFileVersion()

def fsdk.PDFDoc.GetFileVersion ( )

获取存储在PDF头部部分的PDF文件版本。

返回
文件版本。例如值14表示版本"1.4",值15表示"1.5",等等。

◆ GetFirstAvailPageIndex()

def fsdk.PDFDoc.GetFirstAvailPageIndex ( )

获取第一个可用页面的页面索引。

这对于线性化PDF文档很有用,因为在线性化PDF文档中, 第一个可用页面可能不是第一页。
此函数只能在文档成功加载后使用。

返回
第一个可用页面的页面索引。

◆ GetFont()

def fsdk.PDFDoc.GetFont (   index)

通过索引获取字体。

参数
[in]indexPDF字体的索引。有效范围:从0到(count-1)。 count由函数 fsdk.PDFDoc.GetFontCount 返回。
返回
字体对象。

◆ GetFontCount()

def fsdk.PDFDoc.GetFontCount ( )

计算当前PDF文档中使用的所有PDF字体。

此函数将枚举用于页面、注释和交互式表单的所有字体资源。

返回
字体数量。

◆ GetHeader()

def fsdk.PDFDoc.GetHeader ( )

获取标识文件所符合的PDF规范版本的PDF头部。

返回
PDF头部字符串。它会是"PDF-1.4"、"PDF-1.5"等格式。

◆ GetIndirectObject()

def fsdk.PDFDoc.GetIndirectObject (   object_number)

通过间接对象编号获取间接对象。

参数
[in]object_number间接对象编号。应该大于0。
返回
接收间接PDF对象的 fsdk.PDFObject 对象。null 表示未找到。

◆ GetInfo()

def fsdk.PDFDoc.GetInfo ( )

获取信息字典。

文档的信息字典包含文档的元数据。

返回
信息字典。 如果没有"Info"条目或发生任何错误,此函数将返回null

◆ GetOpenAction()

def fsdk.PDFDoc.GetOpenAction ( )

获取文档打开时要执行的动作。

返回
动作对象。

◆ GetPage()

def fsdk.PDFDoc.GetPage (   index)

通过索引获取PDF页面。

如果当前PDF文档对象是使用AsyncReaderCallback构造的(表示进行异步加载), 此函数可能抛出异常 fsdk.E_ErrDataNotReady 。 在这种情况下,用户应该为回调函数 fsdk.AsyncReaderCallback.AddDownloadHint 通知的指定范围准备数据,然后再次调用此函数。

参数
[in]index页面索引。有效范围:从0到(count-1)。 count 由函数 fsdk.PDFDoc.GetPageCount 返回。
返回
PDF页面对象。

◆ GetPageBasicInfo()

def fsdk.PDFDoc.GetPageBasicInfo (   index)

通过索引获取指定页面的基本信息。

此函数可以快速获取PDF页面的基本信息,而无需获取该PDF页面对象。 如果当前PDF文档对象是使用AsyncReaderCallback构造的,这意味着进行异步加载, 此函数可能抛出异常 fsdk.E_ErrDataNotReady 。 在这种情况下,用户应为回调函数 fsdk.AsyncReaderCallback.AddDownloadHint 通知的指定范围准备数据,然后再次调用此函数。

参数
[in]index页面索引。有效范围:从0到(count-1)。 count由函数 fsdk.PDFDoc.GetPageCount 返回。
返回
包含指定页面基本信息的页面基本信息对象。

◆ GetPageCount()

def fsdk.PDFDoc.GetPageCount ( )

获取页面数量。

返回
页面数量。

◆ GetPagesDict()

def fsdk.PDFDoc.GetPagesDict ( )

获取"Pages"的字典。

返回
"Pages"的字典。 如果没有"Pages"条目或发生任何错误,此函数将返回null

◆ GetPageText()

def fsdk.PDFDoc.GetPageText (   page_index)

以显示顺序获取指定页面文本。

参数
[in]page_index页面索引。有效范围:从0到(count-1)。 count 返回于 fsdk.PDFDoc.GetPageCount
返回
页面相关联的所有文本,该文本将以显示顺序提供。

◆ GetPasswordType()

def fsdk.PDFDoc.GetPasswordType ( )

获取当前使用的密码类型。

此函数在加载PDF文档后很有用,以获取加载过程中使用的密码类型。
如果当前文档是新的(不是从现有PDF文件加载),此函数将返回 fsdk.PDFDocE_PwdNoPassword
如果当前文档是从现有文件构造但尚未加载, 此函数将返回fsdk.PDFDocE_PwdInvalid

返回
密码类型。请参考从fsdk.PDFDocE_PwdInvalid 开始的值, 这将是这些值中的一个。

◆ GetPayLoadData()

def fsdk.PDFDoc.GetPayLoadData ( )

如果当前文档的包装类型是 fsdk.PDFDocE_WrapperPDFV2 ,获取载荷数据。

返回
载荷数据。如果找不到包装数据或当前文档的包装类型不是 fsdk.PDFDocE_WrapperPDFV2 ,将返回值为0和空字符串的载荷数据对象。

◆ GetReadingBookmark()

def fsdk.PDFDoc.GetReadingBookmark (   index)

通过索引获取阅读书签。

参数
[in]index阅读书签的索引。有效范围:从0到(count-1)。 count 由函数 fsdk.PDFDoc.GetReadingBookmarkCount 返回。
返回
指定索引的阅读书签对象。

◆ GetReadingBookmarkCount()

def fsdk.PDFDoc.GetReadingBookmarkCount ( )

获取阅读书签的数量。

返回
阅读书签的数量。

◆ GetRMSEncryptData()

def fsdk.PDFDoc.GetRMSEncryptData ( )

获取RMS加密的加密数据。

当当前文档使用RMS加密时,此函数很有用。

返回
RMS加密的加密数据。
注解
如果在函数fsdk.LibraryInitialize 中使用的许可证信息中未定义"RMS"模块, 这意味着用户没有使用RMS相关函数的权利,此函数将抛出异常fsdk.E_ErrNoRMSModuleRight

◆ GetRootBookmark()

def fsdk.PDFDoc.GetRootBookmark ( )

获取书签根节点。

返回
表示根书签的书签对象。 如果当前PDF文档中没有书签,此函数将返回一个其函数 fsdk.Bookmark.IsEmpty 返回true的书签对象。

◆ GetSecurityHandler()

def fsdk.PDFDoc.GetSecurityHandler ( )

获取当前文档的当前PDF安全处理程序。

返回
PDF安全处理程序对象。
注解
如果在函数 fsdk.LibraryInitialize 中使用的许可证信息中未定义模块"RMS", 这意味着用户没有使用RMS相关功能的权限,此函数将抛出异常 fsdk.E_ErrNoRMSModuleRight

◆ GetSignature()

def fsdk.PDFDoc.GetSignature (   index)

通过索引获取签名。

参数
[in]index签名的索引。有效范围:从0到(count-1)。 count 由函数 fsdk.PDFDoc.GetSignatureCount 返回。
返回
签名对象。

◆ GetSignatureCount()

def fsdk.PDFDoc.GetSignatureCount ( )

获取签名数量。

返回
签名数量。

◆ GetStdEncryptData()

def fsdk.PDFDoc.GetStdEncryptData ( )

获取标准加密(称为密码加密)的加密数据。

当当前文档使用密码加密时,此函数很有用。

返回
标准加密的加密数据。

◆ GetTrailer()

def fsdk.PDFDoc.GetTrailer ( )

获取拖车字典。

返回
拖车字典。 如果没有拖车字典或发生任何错误,此函数将返回null

◆ GetUserPassword()

def fsdk.PDFDoc.GetUserPassword (   owner_password)

基于所有者密码获取用户密码。

当当前文档使用密码加密时,此函数很有用。

参数
[in]owner_password所有者密码字符串。
返回
用户密码字符串。

◆ GetUserPermissions()

def fsdk.PDFDoc.GetUserPermissions ( )

获取用户访问权限。

返回
用户访问权限。请参考从 fsdk.PDFDocE_PermPrint 开始的值, 这将是这些值中的一个。

◆ GetWrapperData()

def fsdk.PDFDoc.GetWrapperData ( )

如果当前文档的包装类型是 fsdk.PDFDocE_WrapperFoxit ,获取包装数据。

返回
包装数据。如果找不到包装数据或当前文档的包装类型不是 fsdk.PDFDocE_WrapperFoxit ,将返回值为0和空字符串的包装数据对象。

◆ GetWrapperOffset()

def fsdk.PDFDoc.GetWrapperOffset ( )

如果当前文档的包装类型是 fsdk.PDFDocE_WrapperFoxit ,获取包装偏移量。

返回
包装偏移量。如果找不到包装数据或当前文档的包装类型不是 fsdk.PDFDocE_WrapperFoxit ,将返回-1。

◆ GetWrapperType()

def fsdk.PDFDoc.GetWrapperType ( )

获取包装类型。

返回
包装类型。请参考从 fsdk.PDFDocE_WrapperNone 开始的值, 这将是其值中的一个或组合。

◆ HasForm()

def fsdk.PDFDoc.HasForm ( )

检查当前PDF文档是否有交互式表单(也称为AcroForm)。

如果当前PDF文档对象是使用AsyncReaderCallback构造的(表示进行异步加载), 此函数可能抛出异常 fsdk.E_ErrDataNotReady 。 在这种情况下,用户应该为回调函数 fsdk.AsyncReaderCallback.AddDownloadHint 通知的指定范围准备数据,然后再次调用此函数。

返回
true 表示当前文档有交互式表单。 false 表示当前文档没有交互式表单。

◆ HasHeaderFooter()

def fsdk.PDFDoc.HasHeaderFooter ( )

检查当前文档是否有页眉页脚。

返回
true 表示当前文档有页眉页脚, false 表示当前文档没有页眉页脚。

◆ HasLayer()

def fsdk.PDFDoc.HasLayer ( )

检查当前PDF文档是否有图层(在《PDF参考手册1.7》中称为"可选内容组")。

返回
true 表示当前文档有图层。 false 表示当前文档没有图层。

◆ HidePageTemplate()

def fsdk.PDFDoc.HidePageTemplate (   template_name)

隐藏命名页面。

PDF文档中的页面可以映射到PDF文档中页面名称树中定义的名称。 此函数可用于隐藏这些命名页面。
fsdk.PDFNameTree (使用类型 fsdk.PDFNameTreeE_Pages 初始化)可用于确定 哪些页面名称可用以及将页面映射到名称。
PDF页面被隐藏后,名称将在内部移动到文档的模板名称树。

参数
[in]template_name要隐藏的PDF页面的名称。
返回
true 表示成功,false 表示失败。

◆ ImportFromFDF()

def fsdk.PDFDoc.ImportFromFDF (   fdf_doc,
  types,
  page_range 
)

从FDF/XFDF文档导入表单字段和注释。

它还支持从FDF模板导入表单字段。与FDF模板关联的页面将插入到文档的末尾。 有关可用于导出的PDF对象类型的更多详细信息, 请参考"XML Forms Data Format Specification"第22页。

参数
[in]fdf_doc一个有效的FDF/XFDF文档对象,从中导入表单字段和注释。
[in]types用于决定将导入哪种类型的数据。请参考从 fsdk.PDFDocE_Forms 开始的值, 这可以是这些值中的一个或组合。 默认值:(fsdk.PDFDocE_Forms | fsdk.PDFDocE_Annots )。 如果fdf_doc是fdf模板,此参数不起作用。
[in]page_range指定一些页面的范围对象。FDF/XFDF文档中的数据(指定类型)将被导入到这些指定页面。 如果此范围对象通过默认构造函数构造且未设置任何值,意味着FDF/XFDF文档中的数据(指定类型) 将被导入到相关的PDF页面,这些页面的索引已在FDF/XFDF文档中定义。
此参数仅在参数types包含 fsdk.PDFDocE_Annots 时有用。
默认值:通过默认构造函数构造且未设置任何值的范围对象。 如果fdf_doc是fdf模板,此参数不起作用。
返回
true表示成功,false表示失败。

◆ InsertDocument() [1/2]

def fsdk.PDFDoc.InsertDocument (   dest_index,
  src_doc,
  options 
)

将另一个PDF文档插入到当前PDF文档的指定位置。

参数
[in]dest_index当前PDF文档中的页面索引。用于指定从src_doc插入页面的位置: 如果参数dest_index小于0,这些页面将被插入到最前面。
如果参数dest_index等于或大于当前页面计数, 这些页面将被插入到末尾。
[in]src_doc代表要插入到当前PDF文档的PDF文档的PDF文档对象。 此文档中的所有页面都将被插入到当前PDF文档中。 请保持此源PDF文档对象有效,直到当前文档不再保存或关闭。
[in]options插入PDF文档的选项。请参考从 fsdk.PDFDocE_InsertDocOptionAttachments 开始的值, 这可以是这些值中的一个或组合。0表示不使用任何选项。
返回
无。

◆ InsertDocument() [2/2]

def fsdk.PDFDoc.InsertDocument (   dest_index,
  src_doc,
  options,
  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文档的选项。请参考从 fsdk.PDFDocE_InsertDocOptionAttachments 开始的值, 这可以是这些值中的一个或组合。0表示不使用任何选项。
[in]bookmark_title书签的标题。默认值:InsertBookMark
返回
无。

◆ InsertPage() [1/2]

def fsdk.PDFDoc.InsertPage (   index,
  width,
  height 
)

通过索引向文档插入新的空白PDF页面。

参数
[in]index新页面的页面索引。
如果参数 index 小于0,新页面将插入到第一个位置。
如果参数 index 等于或大于当前页面数量, 新页面将插入到末尾。
[in]width新页面的宽度(单位是1/72英寸)。
[in]height新页面的高度(单位是1/72英寸)。
返回
表示空白页面的新PDF页面对象。

◆ InsertPage() [2/2]

def fsdk.PDFDoc.InsertPage (   index,
  size 
)

通过索引向文档插入新的空白PDF页面。

参数
[in]index新页面的页面索引。
如果参数 index 小于0,新页面将插入到第一个位置。
如果参数 index 等于或大于当前页面数量, 新页面将插入到末尾。
[in]size新页面的尺寸类型。请参考从 fsdk.PDFPageE_SizeLetter 开始的值, 这应该是这些值中的一个。默认值:fsdk.PDFPageE_SizeLetter
返回
表示空白页面的新PDF页面对象。

◆ InsertReadingBookmark()

def fsdk.PDFDoc.InsertReadingBookmark (   reading_bookmark_index,
  title,
  dest_page_index 
)

向当前PDF文档插入阅读书签。

参数
[in]reading_bookmark_index阅读书签索引。
如果 reading_bookmark_index 小于0,新的阅读书签将插入到第一个位置。
如果 reading_bookmark_index 等于或大于阅读书签的数量, 新的阅读书签将插入到末尾。
[in]title新阅读书签的标题字符串,不应为空字符串。
[in]dest_page_index目标页面的索引。
返回
新的阅读书签对象。

◆ IsEmpty()

def fsdk.PDFDoc.IsEmpty ( )

检查当前对象是否为空。

当前对象为空时,表示当前对象是无用的。

返回
true 表示当前对象为空,false 表示不为空。

◆ IsEncrypted()

def fsdk.PDFDoc.IsEncrypted ( )

检查当前文档是否为加密文件。

返回
true表示当前文档是加密文件, false表示当前文档不是加密文件。

◆ IsLinearized()

def fsdk.PDFDoc.IsLinearized ( )

检查当前PDF文档是否为线性化文件。

返回
true 表示当前PDF文档是线性化文件, false 表示当前PDF文档不是线性化文件。

◆ IsOwnerPassword()

def fsdk.PDFDoc.IsOwnerPassword (   password)

检查输入密码是否为当前PDF文档的所有者密码。

参数
[in]password要检测的密码字符串。
返回
true表示输入密码是当前PDF文档的所有者密码,false表示 输入密码不是当前PDF文档的所有者密码。

◆ IsPortfolio()

def fsdk.PDFDoc.IsPortfolio ( )

检查当前PDF文档是否为文档集文件。

返回
true表示当前PDF文档是文档集文件,false表示不是。

◆ IsTaggedPDF()

def fsdk.PDFDoc.IsTaggedPDF ( )

检查当前PDF文档是否为标签化PDF文件。

标签化PDF意味着PDF文档中存在结构树。

返回
true 表示当前PDF文档是标签化PDF文件, false 表示当前PDF文档不是标签化PDF文件。

◆ IsUserPassword()

def fsdk.PDFDoc.IsUserPassword (   password)

检查输入密码是否为当前PDF文档的用户密码。

参数
[in]password要检测的密码字符串。
返回
true表示输入密码是当前PDF文档的用户密码,false表示 输入密码不是当前PDF文档的用户密码。

◆ IsWrapper()

def fsdk.PDFDoc.IsWrapper ( )

检查当前文档是否为包装文件。

返回
true 表示当前文档是包装文件, false 表示当前文档不是包装文件。

◆ IsXFA()

def fsdk.PDFDoc.IsXFA ( )

检查当前PDF文档是否为XFA文档。

目前,Foxit PDF SDK不完全支持XFA文档。当加载XFA文档时, Foxit PDF SDK可能只加载XFA包装级别,无法访问真正的XFA内容。 Foxit PDF SDK尚不支持在XFA文档中插入/导入/删除/移动页面。

返回
true表示当前文档是XFA文档, false表示当前文档不是XFA文档。

◆ Load()

def fsdk.PDFDoc.Load (   password)

使用指定密码加载当前文档内容。

如果当前PDF文档对象是使用AsyncReaderCallback构造的,这意味着进行异步加载, 此函数可能返回 fsdk.E_ErrDataNotReady 。 在这种情况下,用户应该为回调函数 fsdk.AsyncReaderCallback.AddDownloadHint 通知的指定范围准备数据,然后再次调用此函数。

参数
[in]password用于加载当前文档内容的密码字符串。密码可以是用户密码或所有者密码。 如果当前文档未使用密码加密,只需传递空字符串。默认值:空字符串。
返回
fsdk.E_ErrSuccess 表示成功。
fsdk.E_ErrFile 表示访问当前文档时发生任何错误。
fsdk.E_ErrPassword 表示输入密码错误。
fsdk.E_ErrFormat 表示当前文档内容的格式不是PDF或文件已损坏。
fsdk.E_ErrSecurityHandler 表示当前PDF文档由某些不支持的安全处理程序加密。
fsdk.E_ErrCertificate 表示当前PDF文档由数字证书加密, 当前用户没有正确的证书。
对于其他错误代码值,请参考从 fsdk.E_ErrSuccess 开始的值以获取更多详情。

◆ LoadW()

def fsdk.PDFDoc.LoadW (   password)

使用指定密码加载当前文档内容。

如果当前PDF文档对象是使用AsyncReaderCallback构造的,这意味着进行异步加载, 此函数可能返回 fsdk.E_ErrDataNotReady 。 在这种情况下,用户应该为回调函数 fsdk.AsyncReaderCallback.AddDownloadHint 通知的指定范围准备数据,然后再次调用此函数。

参数
[in]password用于加载当前文档内容的密码字符串。密码可以是用户密码或所有者密码。 如果当前文档未使用密码加密,只需传递空字符串。默认值:空字符串。
返回
fsdk.E_ErrSuccess 表示成功。
fsdk.E_ErrFile 表示访问当前文档时发生任何错误。
fsdk.E_ErrPassword 表示输入密码错误。
fsdk.E_ErrFormat 表示当前文档内容的格式不是PDF或文件已损坏。
fsdk.E_ErrSecurityHandler 表示当前PDF文档由某些不支持的安全处理程序加密。
fsdk.E_ErrCertificate 表示当前PDF文档由数字证书加密, 当前用户没有正确的证书。
对于其他错误代码值,请参考从 fsdk.E_ErrSuccess 开始的值以获取更多详情。

◆ MovePagesTo()

def fsdk.PDFDoc.MovePagesTo (   page_range,
  dest_index 
)

将一个或多个页面(按索引指定)移动到新位置。

如果只移动一个页面,此函数与函数 fsdk.PDFDoc.MovePageTo 功能相同。
如果移动多个页面,这些页面将保持参数 page_range 中定义的顺序, 并作为一个整体移动到目标索引位置之后,基于当前页面数组。
此函数成功后,移动页面的索引将发生变化,其余页面的索引也可能受到影响。 例如:

  • 原始页面顺序:[0, 1, 2, 3, 4, 5]

  • 要移动的页面:[0, 1]

  • 目标索引:4(移动到索引4之后)

  • 结果顺序:[2, 3, 4, 0, 1, 5]。

参数
[in]page_range应至少包含一个有效范围的范围对象。 所有相关页面将保持顺序(由此范围指定)并作为一个整体移动。 如果范围中存在重复的索引,只有最后一次出现的才有用。
[in]dest_index目标位置的索引,基于当前页面数组。 页面将作为一个整体移动到目标索引位置之后。 如果要将页面移动到文档开头,将目标索引设置为任何负值,如-1。 如果要将页面移动到文档末尾,设置大于最后页面索引的目标索引。
返回
true 表示成功或无需移动当前页面,false 表示失败。

◆ MovePageTo()

def fsdk.PDFDoc.MovePageTo (   page,
  dest_index 
)

将指定页面移动到新位置。

page 将移动到目标索引位置之后。如果指定页面成功移动到新位置, 指定页面的新索引和旧索引之间所有页面的页面索引也将发生变化。 例如,

  • 原始页面顺序:[0, 1, 2, 3, 4, 5]

  • 要移动的页面:[0]

  • 目标索引:4(移动到索引4之后)

  • 结果顺序:[1, 2, 3, 4, 0, 5]。

参数
[in]page要移动的PDF页面。它应该在当前PDF文档中。
[in]dest_index当前页面数组中目标位置的索引。page 将移动到目标索引位置之后。 count 由函数 fsdk.PDFDoc.GetPageCount 返回。
如果要将页面移动到文档开头,将目标索引设置为任何负值,如-1。 如果要将页面移动到文档末尾,设置大于最后页面索引的目标索引。 如果参数 dest_index 与参数 page 的页面索引相同, 不会进行任何更改,此函数将直接返回true
返回
true 表示成功或无需移动当前页面,false 表示失败。

◆ RemoveAllHeaderFooters()

def fsdk.PDFDoc.RemoveAllHeaderFooters ( )

删除所有页眉页脚。

返回
true 表示成功,false 表示失败。

◆ RemoveBookmark()

def fsdk.PDFDoc.RemoveBookmark (   bookmark)

删除指定的书签。

参数
[in]bookmark要删除的有效书签。
返回
true 表示成功,false 表示失败。

◆ RemoveHiddenInfo()

def fsdk.PDFDoc.RemoveHiddenInfo (   hidden_data_setting)

根据用户定义的设置从当前PDF文档中删除指定类型的隐藏信息。

此方法提供对清理过程的精细控制。只有在提供的设置对象中启用的数据类型才会被删除。 它允许选择性删除诸如元数据、书签、隐藏文本、图层、注释、链接等元素。

参数
[in]hidden_data_setting一个 HiddenInfoSettingData 对象,定义要删除的隐藏数据类型。
返回
无。

◆ RemoveOpenAction()

def fsdk.PDFDoc.RemoveOpenAction ( )

移除文档打开时要执行的动作。

返回
true表示成功,false表示失败。

◆ RemovePage() [1/2]

def fsdk.PDFDoc.RemovePage (   index)

通过页面索引删除PDF页面。

参数
[in]index页面索引。有效范围:从0到(count-1)。 count 由函数 fsdk.PDFDoc.GetPageCount 返回。
返回
true 表示成功,false 表示失败。

◆ RemovePage() [2/2]

def fsdk.PDFDoc.RemovePage (   page)

删除指定的PDF页面。

一旦指定的PDF页面被成功删除,页面对象就不能再使用。

参数
[in]page表示要删除的PDF页面的PDF页面对象。页面应该在当前PDF文档中。
返回
true 表示成功,false 表示失败。

◆ RemoveReadingBookmark()

def fsdk.PDFDoc.RemoveReadingBookmark (   reading_bookmark)

从当前PDF文档中删除阅读书签。

参数
[in]reading_bookmark要删除的有效阅读书签。
返回
true 表示成功,false 表示失败。

◆ RemoveSecurity()

def fsdk.PDFDoc.RemoveSecurity ( )

从当前文档中移除安全处理程序,以便后续保存的文档将是未加密的。

返回
true表示成功,false表示失败。
注解
如果在函数 fsdk.LibraryInitialize 中使用的许可证信息中未定义模块"RMS", 这意味着用户没有使用RMS相关功能的权限,此函数将抛出异常 fsdk.E_ErrNoRMSModuleRight

◆ RemoveSignature()

def fsdk.PDFDoc.RemoveSignature (   signature)

删除签名。

参数
[in]signature要删除的有效签名。如果此签名的类型是 fsdk.SignatureE_SignatureTypePagingSeal ,此函数 将删除与此签名相关的所有签名。
返回
无。

◆ RemoveStructTree()

def fsdk.PDFDoc.RemoveStructTree ( )

移除当前文档中的结构树。

返回
无。

◆ Sanitize()

def fsdk.PDFDoc.Sanitize ( )

使用默认设置从当前PDF文档中删除所有隐藏或潜在敏感信息。

此方法对PDF文档执行完整的清理。它自动检测并删除元数据、注释、隐藏文本、 文件附件、注释以及其他可能包含隐藏或私人信息的元素。

返回
无。

◆ SaveAs()

def fsdk.PDFDoc.SaveAs (   file_path,
  save_flags 
)

将当前PDF文档另存为另一个PDF文件。

如果当前文档是从现有PDF文件加载的,并且在保存之前通过 fsdk.PDFDoc.SetFileVersion 设置了不同的文件版本,Foxit PDF SDK将忽略参数 save_flags 中的 fsdk.PDFDocE_SaveFlagIncremental 并在保存的PDF文件中使用文件版本。

参数
[in]file_path新保存的PDF文件的完整路径。它不应该是空字符串。
[in]save_flags文档保存标志。请参考从 fsdk.PDFDocE_SaveFlagNormal 开始的值, 这可以是这些值中的一个或组合。 默认值:fsdk.PDFDocE_SaveFlagNormal
返回
true 表示保存成功完成,false 表示失败。
注解
此函数不支持将当前PDF文档对象保存回用于构造当前PDF对象的PDF文件。 为了这样做,建议用户按照以下步骤操作:
假设当前PDF对象是从名为"org.pdf"的PDF文件构造的。
  1. 使用当前函数将当前PDF对象保存到临时文件。这里,此临时文件名为"temp.tmp"。

  2. 确保当前PDF对象已析构——这等同于"关闭文档"。

  3. 删除"org.pdf"并将"temp.tmp"重命名为"org.pdf"。

然后用户可以打开保存的PDF文件进行其他操作。

◆ SaveAsWrapperFile()

def fsdk.PDFDoc.SaveAsWrapperFile (   file_path,
  wrapper_data,
  user_permissions,
  owner_password 
)

将当前PDF文档另存为包装文件。

PDF包装是一个扩展标准,它帮助向查看器提示一些信息。
PDF包装包含

  • 包装类型:它是一个标识字符串,

  • 包装偏移量:它告诉原始数据的结束位置,

  • 包装模板:它是包装文档的内容。

此函数使用由 file_path 指定的文件的当前大小来设置包装偏移量。

参数
[in]file_pathPDF文件的完整路径。 当前PDF文档将作为包装文件保存到此PDF文件中。
[in]wrapper_data包装数据。如果这是null,则不使用包装数据。 默认值:null
[in]user_permissions包装文档的用户权限。如果不需要特殊权限,传递0xFFFFFFFC。 请参考从 fsdk.PDFDocE_PermPrint 开始的值, 这应该是这些值中的一个或组合。默认值:0xFFFFFFFC。
[in]owner_password所有者密码。如果这是空字符串,参数 user_permissions 将被忽略。 默认值:空字符串。
返回
true 表示成功,false 表示失败。

◆ SetCacheFile()

def fsdk.PDFDoc.SetCacheFile (   file_stream,
  is_own_file_stream 
)

设置缓存文件 (代表文件流) 到当前PDF文档。

当生成内容流时,缓存文件可以被用于缓存大量数据。

参数
[in]file_stream由用户实现fsdk.StreamCallback 对象用于数据缓存。 它可以是 null 。它是 null ,原始缓存文件将被释放。
[in]is_own_file_stream用于决定福昕PDF SDK 是否应该持有输入流回调对象所有权 :
true 表示输入流对象将被福昕PDF SDK销毁 (当不再为当前文档缓存数据时,可以通过调用接口 StreamCallback::Release 释放)。
false 表示用户应该负责销毁回调对象。
返回
无。

◆ SetDisplayMode()

def fsdk.PDFDoc.SetDisplayMode (   display_mode)

设置显示模式。

显示模式指定文档打开时应如何显示。

参数
[in]display_mode显示模式值。请参考从 fsdk.PDFDocE_DisplayUseNone 开始的值, 这应该是这些值中的一个。
返回
无。

◆ SetFileVersion()

def fsdk.PDFDoc.SetFileVersion (   version)

设置将存储在保存的PDF文件的PDF头部部分中的PDF文件版本。

新的文件版本不会直接影响当前文档,但会在函数 fsdk.PDFDoc.SaveAs fsdk.PDFDoc.StartSaveAs 中的保存PDF文件中使用。此函数不检查PDF内容是否与指定版本匹配。
如果用户想要进行关于PDF版本的合规性转换,请参考模块"Compliance" 并使用类 addon::compliance::PDFCompliance

参数
[in]version指定文件版本的整数,例如值14表示版本"1.4", 值15表示"1.5",等等。此值应从10到17或20, 并且等于或大于当前PDF文件的当前版本。
返回
无。

◆ SetOpenAction()

def fsdk.PDFDoc.SetOpenAction (   action)

设置文档打开时要执行的动作。

参数
[in]action要设置的有效动作。目前仅支持以下类型作为新动作:
fsdk.ActionE_TypeGoto , fsdk.ActionE_TypeURI , fsdk.ActionE_TypeJavaScript , fsdk.ActionE_TypeNamed , fsdk.ActionE_TypeSubmitForm , fsdk.ActionE_TypeResetForm , fsdk.ActionE_TypeHide , fsdk.ActionE_TypeImportData
返回
true表示成功,false表示失败。

◆ SetSecurityHandler()

def fsdk.PDFDoc.SetSecurityHandler (   handler)

为加密设置PDF安全处理程序,如标准加密(密码)、 证书加密等。

参数
[in]handlerPDF安全处理程序对象。
返回
true表示成功,false表示失败。
注解
如果在函数 fsdk.LibraryInitialize 中使用的许可证信息中未定义模块"RMS", 这意味着用户没有使用RMS相关功能的权限,此函数将抛出异常 fsdk.E_ErrNoRMSModuleRight

◆ StartAddTiledWatermark()

def fsdk.PDFDoc.StartAddTiledWatermark (   text,
  settings,
  properties,
  page_range,
  pause 
)

添加文本平铺水印到页面中。

添加页面类型平铺水印。

通过图像流添加图片类型平铺水印到页面中。

Add image type tiled watermark to PDF pages by image path.

如果水印被平铺到多页,这些页面将保持参数page_range的顺序 如果参数 page_range 被初始化为空, 平铺水印将被添加到所有页面中。另外,动态XFA不支持添加平铺水印。

参数
[in]text文本字符串。它将用于平铺水印的内容,它不能为空。
[in]settings平铺水印设置,包含布局设置。
[in]properties平铺水印文本属性。
[in]page_range应至少包含一个有效范围的范围对象。 所有相关页面将保持顺序(由此范围指定)并作为一个整体移动。 如果范围中存在重复的索引,只有最后一次出现的才有用。
[in]pause决定加载过程是否需要暂停的暂停对象。 这可以是null,表示在解析过程中不暂停。 如果这不是null,它应该是用户实现的有效暂停对象。 默认值:null
返回
步进式进度对象。 请通过函数 fsdk.Progressive.GetRateOfProgress 检查当前进度。如果当前进度比率没有到100,需要调用 fsdk.Progressive.Continue 继续进度直到进度完成。

如果水印被平铺到多页,这些页面将保持参数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
返回
步进式进度对象。 请通过函数 fsdk.Progressive.GetRateOfProgress 检查当前进度。如果当前进度比率没有到100,需要调用 fsdk.Progressive.Continue 继续进度直到进度完成。

如果水印被平铺到多页,这些页面将保持参数page_range的顺序 如果参数 page_range 被初始化为空, 平铺水印将被添加到所有页面中。另外,动态XFA不支持添加平铺水印。
图像平铺水印支持 .bmp .dib .jpg .jpeg .jpe .gif .png .tif .tiff 格式。

参数
[in]src_img_streamfsdk.FileReaderCallback 对象用于用户传递图像数据给福昕PDF SDK, 它一定是有效的。
[in]settings平铺水印设置,包含布局设置。
[in]page_range应至少包含一个有效范围的范围对象。 所有相关页面将保持顺序(由此范围指定)并作为一个整体移动。 如果范围中存在重复的索引,只有最后一次出现的才有用。
[in]pause决定加载过程是否需要暂停的暂停对象。 这可以是null,表示在解析过程中不暂停。 如果这不是null,它应该是用户实现的有效暂停对象。 默认值:null
返回
步进式进度对象。 请通过函数 fsdk.Progressive.GetRateOfProgress 检查当前进度。如果当前进度比率没有到100,需要调用 fsdk.Progressive.Continue 继续进度直到进度完成。

如果水印被平铺到多页,这些页面将保持参数page_range的顺序 如果参数 page_range 被初始化为空, 平铺水印将被添加到所有页面中。另外,动态XFA不支持添加平铺水印。

参数
[in]page有效的页面对象,内容用于添加平铺水印。
[in]settings平铺水印设置,包含布局设置。
[in]page_range应至少包含一个有效范围的范围对象。 所有相关页面将保持顺序(由此范围指定)并作为一个整体移动。 如果范围中存在重复的索引,只有最后一次出现的才有用。
[in]pause决定加载过程是否需要暂停的暂停对象。 这可以是null,表示在解析过程中不暂停。 如果这不是null,它应该是用户实现的有效暂停对象。 默认值:null
返回
步进式进度对象。 请通过函数 fsdk.Progressive.GetRateOfProgress 检查当前进度。如果当前进度比率没有到100,需要调用 fsdk.Progressive.Continue 继续进度直到进度完成。

◆ StartEmbedAllFonts()

def fsdk.PDFDoc.StartEmbedAllFonts (   pause)

开始转换所有未嵌入字体为内嵌字体。

转换将花费很长事件, 所以这个接口使用步进式完成。
这个接口只工作与可用的字体来嵌入,字体是否支持内嵌可以通过fsdk.Font.IsSupportEmbedded 检查。
内嵌后,这个接口将删除原始字体对象,然而,原始字体在文档中的引用将仍然存在。

参数
[in]pause决定加载过程是否需要暂停的暂停对象。 这可以是null,表示在解析过程中不暂停。 如果这不是null,它应该是用户实现的有效暂停对象。 默认值:null
返回
步进式进度对象。 请通过函数 fsdk.Progressive.GetRateOfProgress 检查当前进度。如果当前进度比率没有到100,需要调用 fsdk.Progressive.Continue 继续进度直到进度完成。

◆ StartExtractPages() [1/2]

def fsdk.PDFDoc.StartExtractPages (   file_path,
  options,
  page_range,
  pause 
)

开始从当前PDF文档提取页面。

提取页面可能需要很长时间,因此Foxit PDF SDK使用渐进式过程来执行此操作。

参数
[in]file_path用于保存提取页面的新保存PDF文件的完整路径。不应为空字符串。
[in]options提取页面的选项。请参考从 fsdk.PDFDocE_ExtractPagesOptionAnnotation 开始的值, 这可以是这些值中的一个或组合。0表示不使用任何选项。
[in]page_range指定要提取哪些页面的范围对象。如果此范围对象通过默认构造函数构造 且未设置任何值,将提取当前文档中的所有页面。 默认值:通过默认构造函数构造且未设置任何值的范围对象。
[in]pause决定提取过程是否需要暂停的暂停对象。 这可以是null,表示在解析过程中不暂停。 如果不是null,它应该是用户实现的有效暂停对象。 默认值:null
返回
渐进式对象。请通过函数 fsdk.Progressive.GetRateOfProgress 检查当前进度的速率。 如果速率还不是100,调用函数 fsdk.Progressive.Continue 继续进度直到进度完成。

◆ StartExtractPages() [2/2]

def fsdk.PDFDoc.StartExtractPages (   file,
  options,
  page_range,
  pause 
)

开始从当前PDF文档提取页面。

提取页面可能需要很长时间,因此Foxit PDF SDK使用渐进式过程来执行此操作。

参数
[in]file用户实现的 fsdk.FileWriterCallback 对象, 用于以自定义方式存储所有提取页面的数据。
[in]options提取页面的选项。请参考从 fsdk.PDFDocE_ExtractPagesOptionAnnotation 开始的值, 这可以是这些值中的一个或组合。0表示不使用任何选项。
[in]page_range指定要提取哪些页面的范围对象。如果此范围对象通过默认构造函数构造 且未设置任何值,将提取当前文档中的所有页面。 默认值:通过默认构造函数构造且未设置任何值的范围对象。
[in]pause决定提取过程是否需要暂停的暂停对象。 这可以是null,表示在解析过程中不暂停。 如果不是null,它应该是用户实现的有效暂停对象。 默认值:null
返回
渐进式对象。请通过函数 fsdk.Progressive.GetRateOfProgress 检查当前进度的速率。 如果速率还不是100,调用函数 fsdk.Progressive.Continue 继续进度直到进度完成。

◆ StartGetPayloadFile()

def fsdk.PDFDoc.StartGetPayloadFile (   payload_file,
  pause 
)

开始获取载荷文件。

获取载荷文档可能需要很长时间,因此此函数使用渐进式过程来执行此操作。

参数
[in]payload_fileWriterCallback回调对象。用户应该在此回调对象中实现回调函数, 以便此回调对象可以用于保存载荷文件。
[in]pause暂停回调对象,用于决定解析过程是否需要暂停。 这可以是null,表示在解析过程中不暂停。 如果不是null,它应该是用户实现的有效暂停对象。 默认值:null
返回
渐进式对象。请通过函数 fsdk.Progressive.GetRateOfProgress 检查当前进度的速率。 如果速率还不是100,调用函数 fsdk.Progressive.Continue 继续进度直到进度完成。

◆ StartImportPages()

def fsdk.PDFDoc.StartImportPages (   dest_index,
  src_doc,
  flags,
  layer_name,
  page_range,
  pause 
)

开始从另一个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导入页面的选项。请参考从 fsdk.PDFDocE_ImportFlagNormal 开始的值, 这可以是这些值中的一个或组合。 默认值:fsdk.PDFDocE_ImportFlagNormal
[in]layer_name要在应用程序图层面板中显示的不可选择标签的名称或不可选择标签的前缀名称。 默认值:空字符串。
如果参数 flags 包含 fsdk.PDFDocE_ImportFlagWithLayers , 这不应为空,应为有效字符串。 如果参数 flags 不包含 fsdk.PDFDocE_ImportFlagWithLayers , 此字符串将被忽略。
  • 如果要将源PDF文档的所有页面导入到当前文档, 源文档的所有图层将分组在一个不可选择的标签下, 此字符串将直接用作标签。

  • 如果只导入源PDF文档的部分页面到当前文档, 同一页面中的图层将分组在单个不可选择的标签下, 此字符串将用作标签的前缀名称。 标签将类似于"layerName_Page_X"。

[in]page_range指定要插入哪些页面的范围对象。如果此范围对象通过默认构造函数构造 且未设置任何值,将导入源文档中的所有页面。 默认值:通过默认构造函数构造且未设置任何值的范围对象。
[in]pause决定导入过程是否需要暂停的暂停对象。 这可以是null,表示在解析过程中不暂停。 如果不是null,它应该是用户实现的有效暂停对象。 默认值:null
返回
渐进式对象。请通过函数 fsdk.Progressive.GetRateOfProgress 检查当前进度的速率。 如果速率还不是100,调用函数 fsdk.Progressive.Continue 继续进度直到进度完成。

◆ StartImportPagesFromFilePath()

def fsdk.PDFDoc.StartImportPagesFromFilePath (   dest_index,
  src_file_path,
  password,
  flags,
  layer_name,
  page_range,
  pause 
)

开始从另一个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导入页面的选项。请参考从 fsdk.PDFDocE_ImportFlagNormal 开始的值, 这可以是这些值中的一个或组合。 默认值:fsdk.PDFDocE_ImportFlagNormal
[in]layer_name要在应用程序图层面板中显示的不可选择标签的名称或不可选择标签的前缀名称。 默认值:空字符串。
如果参数 flags 包含 fsdk.PDFDocE_ImportFlagWithLayers , 这不应为空,应为有效字符串。 如果参数 flags 不包含 fsdk.PDFDocE_ImportFlagWithLayers , 此字符串将被忽略。
  • 如果要将源PDF文档的所有页面导入到当前文档, 源文档的所有图层将分组在一个不可选择的标签下, 此字符串将直接用作标签。

  • 如果只导入源PDF文档的部分页面到当前文档, 同一页面中的图层将分组在单个不可选择的标签下, 此字符串将用作标签的前缀名称。 标签将类似于"layerName_Page_X"。

[in]page_range指定要导入哪些页面的范围对象。如果此范围对象通过默认构造函数构造 且未设置任何值,将导入源文档中的所有页面。 默认值:通过默认构造函数构造且未设置任何值的范围对象。
[in]pause决定导入过程是否需要暂停的暂停对象。 这可以是null,表示在解析过程中不暂停。 如果不是null,它应该是用户实现的有效暂停对象。 默认值:null
返回
渐进式对象。请通过函数 fsdk.Progressive.GetRateOfProgress 检查当前进度的速率。 如果速率还不是100,调用函数 fsdk.Progressive.Continue 继续进度直到进度完成。

◆ StartLoad()

def fsdk.PDFDoc.StartLoad (   password,
  is_cache_stream,
  pause 
)

开始使用指定密码加载当前文档内容。

加载文档内容可能需要很长时间,因此此函数使用渐进过程来 执行此操作。
使用此函数时,参数is_cache_stream可用于决定是否将 流内容加载到内存中:

  • 将流内容加载到内存中将提高频繁访问的性能,但是, 它也将消耗大量内存空间。

  • 不将流内容加载到内存中,意味着将流内容留在文件系统上, 并在需要时读取它们。这可能会稍微降低性能,但会大大减少 内存消耗,特别是当文件很大时。

参数
[in]password用于加载当前文档内容的密码字符串。密码可以是 用户密码或所有者密码。如果当前文档未使用 密码加密,只需传递空字符串。默认值:空字符串。
[in]is_cache_streamtrue表示将流内容加载到内存中,false表示不将 流内容加载到内存中,只将流内容留在文件系统上并在 需要时读取它们。请参考"详情"部分了解这两种模式之间的区别。 默认值:true
[in]pause决定加载过程是否需要暂停的暂停对象。 这可以是null,表示在解析过程中不暂停。 如果这不是null,它应该是用户实现的有效暂停对象。 默认值:null
返回
一个渐进对象。请通过函数fsdk.Progressive.GetRateOfProgress 检查当前进度的比率。 如果比率尚未达到100,请调用函数fsdk.Progressive.Continue 继续进度, 直到进度完成。

◆ StartLoadW()

def fsdk.PDFDoc.StartLoadW (   password,
  is_cache_stream,
  pause 
)

开始使用指定密码加载当前文档内容。

加载文档内容可能需要很长时间,因此此函数使用渐进过程来 执行此操作。
使用此函数时,参数is_cache_stream可用于决定是否将 流内容加载到内存中:

  • 将流内容加载到内存中将提高频繁访问的性能,但是, 它也将消耗大量内存空间。

  • 不将流内容加载到内存中,意味着将流内容留在文件系统上, 并在需要时读取它们。这可能会稍微降低性能,但会大大减少 内存消耗,特别是当文件很大时。

参数
[in]password用于加载当前文档内容的密码字符串。密码可以是 用户密码或所有者密码。如果当前文档未使用 密码加密,只需传递空字符串。默认值:空字符串。
[in]is_cache_streamtrue表示将流内容加载到内存中,false表示不将 流内容加载到内存中,只将流内容留在文件系统上并在 需要时读取它们。请参考"详情"部分了解这两种模式之间的区别。 默认值:true
[in]pause决定加载过程是否需要暂停的暂停对象。 这可以是null,表示在解析过程中不暂停。 如果这不是null,它应该是用户实现的有效暂停对象。 默认值:null
返回
一个渐进对象。请通过函数fsdk.Progressive.GetRateOfProgress 检查当前进度的比率。 如果比率尚未达到100,请调用函数fsdk.Progressive.Continue 继续进度, 直到进度完成。

◆ StartRecognizeForm() [1/2]

def fsdk.PDFDoc.StartRecognizeForm (   pause)

开始识别表单域。

识别表单可能需要很长时间,因此Foxit PDF SDK使用渐进式过程来执行此操作。
对于Windows平台,在调用这个函数之前,强烈建议用户通过调用 addon::ocr::OCREngine::Initialize 初始化OCR引擎。

参数
[in]pause决定替换过程是否需要暂停的暂停对象。 这可以是null,表示在替换过程中不暂停。 如果不是null,它应该是用户实现的有效暂停对象。
返回
渐进式对象。请通过函数 fsdk.Progressive.GetRateOfProgress 检查当前进度的速率。 如果速率还不是100,调用函数 fsdk.Progressive.Continue 继续进度直到进度完成。

◆ StartRecognizeForm() [2/2]

def fsdk.PDFDoc.StartRecognizeForm (   is_set_tool_tips,
  pause 
)

开始识别表单域。

识别表单可能需要很长时间,因此Foxit PDF SDK使用渐进式过程来执行此操作。
对于Windows平台,在调用这个函数之前,强烈建议用户通过调用 addon::ocr::OCREngine::Initialize 初始化OCR引擎。

参数
[in]is_set_tool_tipstrue 意味着对识别表单设置提示, false 表示不设置。
[in]pause决定替换过程是否需要暂停的暂停对象。 这可以是null,表示在替换过程中不暂停。 如果不是null,它应该是用户实现的有效暂停对象。
返回
渐进式对象。请通过函数 fsdk.Progressive.GetRateOfProgress 检查当前进度的速率。 如果速率还不是100,调用函数 fsdk.Progressive.Continue 继续进度直到进度完成。

◆ StartSaveAs() [1/2]

def fsdk.PDFDoc.StartSaveAs (   file_path,
  save_flags,
  pause 
)

开始将当前PDF文档另存为另一个PDF文件。

保存PDF文档可能需要很长时间,因此此函数使用渐进式过程来执行此操作。
如果当前文档是从现有PDF文件加载的,并且在保存之前通过 fsdk.PDFDoc.SetFileVersion 设置了不同的文件版本,Foxit PDF SDK将忽略参数 save_flags 中的 fsdk.PDFDocE_SaveFlagIncremental 并在保存的PDF文件中使用文件版本。

参数
[in]file_path新保存的PDF文件的完整路径。它不应该是空字符串。
[in]save_flags文档保存标志。请参考从 fsdk.PDFDocE_SaveFlagNormal 开始的值, 这可以是这些值中的一个或组合。 默认值:fsdk.PDFDocE_SaveFlagNormal
[in]pause暂停回调对象,用于决定解析过程是否需要暂停。 这可以是null,表示在解析过程中不暂停。 如果不是null,它应该是用户实现的有效暂停对象。 默认值:null
返回
渐进式对象。请通过函数 fsdk.Progressive.GetRateOfProgress 检查当前进度的速率。 如果速率还不是100,调用函数 fsdk.Progressive.Continue 继续进度直到进度完成。
注解
此函数不支持将当前PDF文档对象保存回用于构造当前PDF对象的PDF文件。 为了这样做,建议用户按照以下步骤操作:
假设当前PDF对象是从名为"org.pdf"的PDF文件构造的。
  1. 使用当前函数将当前PDF对象保存到临时文件。这里,此临时文件名为"temp.tmp"。

  2. 确保当前PDF对象已析构——这等同于"关闭文档"。

  3. 删除"org.pdf"并将"temp.tmp"重命名为"org.pdf"。

然后用户可以打开保存的PDF文件进行其他操作。

◆ StartSaveAs() [2/2]

def fsdk.PDFDoc.StartSaveAs (   file,
  save_flags,
  pause 
)

开始将当前PDF文档另存为另一个PDF文件。

保存PDF文档可能需要很长时间,因此此函数使用渐进式过程来执行此操作。
如果当前文档是从现有PDF文件加载的,并且在保存之前通过 fsdk.PDFDoc.SetFileVersion 设置了不同的文件版本,Foxit PDF SDK将忽略参数 save_flags 中的 fsdk.PDFDocE_SaveFlagIncremental 并在保存的PDF文件中使用文件版本。

参数
[in]file用户实现的 fsdk.FileWriterCallback 对象,用于保存PDF文档。
[in]save_flags文档保存标志。请参考从 fsdk.PDFDocE_SaveFlagNormal 开始的值, 这可以是这些值中的一个或组合。 默认值:fsdk.PDFDocE_SaveFlagNormal
[in]pause暂停回调对象,用于决定解析过程是否需要暂停。 这可以是null,表示在解析过程中不暂停。 如果不是null,它应该是用户实现的有效暂停对象。 默认值:null
返回
渐进式对象。请通过函数 fsdk.Progressive.GetRateOfProgress 检查当前进度的速率。 如果速率还不是100,调用函数 fsdk.Progressive.Continue 继续进度直到进度完成。
注解
此函数不支持将当前PDF文档对象保存回用于构造当前PDF对象的PDF文件。 为了这样做,建议用户按照以下步骤操作:
假设当前PDF对象是从名为"org.pdf"的PDF文件构造的。
  1. 使用当前函数将当前PDF对象保存到临时文件。这里,此临时文件名为"temp.tmp"。

  2. 确保当前PDF对象已析构——这等同于"关闭文档"。

  3. 删除"org.pdf"并将"temp.tmp"重命名为"org.pdf"。

然后用户可以打开保存的PDF文件进行其他操作。

◆ StartSaveAsPayloadFile()

def fsdk.PDFDoc.StartSaveAsPayloadFile (   file_path,
  payload_file_path,
  crypto_filter,
  description,
  version,
  save_flags,
  pause 
)

开始将当前PDF文档另存为带有载荷文档的包装文档(在PDF 2.0中定义)。

保存PDF文档可能需要很长时间,因此此函数使用渐进式过程来执行此操作。
如果当前文档是从现有PDF文件加载的,并且在保存之前通过 fsdk.PDFDoc.SetFileVersion 设置了不同的文件版本,Foxit PDF SDK将忽略参数 save_flags 中的 fsdk.PDFDocE_SaveFlagIncremental 并在保存的PDF文件中使用文件版本。

参数
[in]file_path新保存的PDF文件的完整路径。它不应该是空字符串。
[in]payload_file_path将用作载荷文档的PDF文档的完整路径。 它不应该是空字符串。
[in]crypto_filter用于加密加密载荷文档的加密过滤器的名称。
[in]description包装文件的描述,用于向应用程序显示或面对用户提示信息。
[in]version用于加密此字典引用的加密载荷的加密过滤器的版本号。
[in]save_flags文档保存标志。请参考从 fsdk.PDFDocE_SaveFlagNormal 开始的值, 这可以是这些值中的一个或组合。 默认值:fsdk.PDFDocE_SaveFlagNormal
[in]pause暂停回调对象,用于决定解析过程是否需要暂停。 这可以是null,表示在解析过程中不暂停。 如果不是null,它应该是用户实现的有效暂停对象。 默认值:null
返回
渐进式对象。请通过函数 fsdk.Progressive.GetRateOfProgress 检查当前进度的速率。 如果速率还不是100,调用函数 fsdk.Progressive.Continue 继续进度直到进度完成。

◆ UpdateHeaderFooter()

def fsdk.PDFDoc.UpdateHeaderFooter (   headerfooter)

更新页眉页脚。

PDF文档可以多次添加页眉页脚。当页眉页脚被更新到文档时, 与新页眉页脚出现在同一位置的旧页眉页脚将全部被删除,然后添加新的页眉页脚。

参数
[in]headerfooter要更新到当前文档的有效页眉页脚对象。
返回
无。