|
Foxit PDF SDK
|
Public 成员函数 | |
| Signature (Field field) | |
| 构造函数,使用父类对象。 更多... | |
| Signature (PDFDoc document, PDFDictionary sig_field_dict) | |
| 构造函数,从签名字段字典创建。 更多... | |
| bool | ClearSignedData () |
| 如果当前签名已签名且验证有效,清除数据和外观。 更多... | |
| void | EnableEmbedFont (bool enable_embed_font) |
| 启用或禁用嵌入字体。 更多... | |
| void | EnableIncrementalSaveForFirstSigning (bool enable_incremental_save) |
| 启用或禁用首次签名的增量保存。用户应在调用 函数Signature.StartSign 之前调用此函数。 默认值:false。 更多... | |
| bool | GenerateAppearance () |
| 生成未签名签名的外观。 更多... | |
| int | GetAppearanceFlags () |
| 获取签名外观标志。 更多... | |
| Bitmap | GetBitmap () |
| 获取用于签名外观的位图。 更多... | |
| bool | GetByteRangeArray (int[] out_byte_range_array) |
| 获取字节范围数据,包括4个元素。 更多... | |
| string | GetCert (int index) |
| 通过索引从当前签名的证书链中获取证书。 更多... | |
| int | GetCertCount () |
| 获取当前签名证书链中的证书数量。 更多... | |
| string | GetCertificateInfo (string key) |
| 获取证书信息。 更多... | |
| Signature.DocPermission | GetDocPermission () |
| 获取当前签名的文档权限。 更多... | |
| PDFDoc | GetDocument () |
| 获取当前签名所属的PDF文档。 更多... | |
| Signature.FieldMDPAction | GetFieldMDPAction () |
| 获取FieldMDP("MDP"表示修改检测和预防)操作类型。 更多... | |
| WStringArray | GetFieldMDPActionFields () |
| 获取用于FieldMDP操作的字段名称数组。 更多... | |
| string | GetFilter () |
| 获取过滤器。 更多... | |
| string | GetKeyLabel (Signature.LabelName label_name) |
| 获取指定键标签的字符串。 更多... | |
| string | GetKeyValue (Signature.KeyName key) |
| 获取指定键名的字符串值。 更多... | |
| Signature.PAdESLevel | GetPAdESLevel () |
| 获取PAdES级别。 更多... | |
| SignatureArray | GetPagingSealGroupElements () |
| 获取当前分页印章签名的组元素。 更多... | |
| PagingSealSignature | GetPagingSealSignature () |
| 获取分页印章签名。 更多... | |
| PDFDictionary | GetSignatureDict () |
| 获取签名字典。 更多... | |
| Signature.SignatureType | GetSignatureType () |
| 获取签名类型。 更多... | |
| PDFDoc | GetSignedVersionDocument (string file_path) |
| 获取当前签名签署时的已签名版本中的PDF文档。 更多... | |
| DateTime | GetSignTime () |
| 获取签名时间。 更多... | |
| uint | GetState () |
| 获取当前状态。 更多... | |
| string | GetSubFilter () |
| 获取子过滤器。 更多... | |
| new bool | IsEmpty () |
| 检查当前对象是否为空。 更多... | |
| bool | IsSigned () |
| 检查当前签名是否已签名。 更多... | |
| bool | IsTimeStamp () |
| 检查当前签名是否为时间戳签名。 更多... | |
| void | SetAppearanceContent (string appearance_content) |
| 为已签名签名外观设置自定义外观内容(作为低级绘图操作命令)。 更多... | |
| void | SetAppearanceFlags (int appearance_flags) |
| 设置签名外观标志。 更多... | |
| void | SetBitmap (Bitmap bitmap) |
| 为签名外观设置位图。 更多... | |
| void | SetCertChain (WStringArray cert_chain) |
| 设置证书链。 更多... | |
| void | SetCustomObject (string key, PDFObject pdf_object) |
| 为签名字典设置自定义PDF对象。 更多... | |
| void | SetDefaultContentsLength (int default_length) |
| 设置表示签名值(称为已签名数据)的签名内容的默认长度。 更多... | |
| void | SetDocPermission (Signature.DocPermission permission) |
| 设置当前签名的文档权限。 更多... | |
| void | SetFieldMDPActionFields (Signature.FieldMDPAction action, WStringArray field_array) |
| 设置FieldMDP("MDP"表示修改检测和预防)操作名称数组。 更多... | |
| void | SetFilter (string filter) |
| 设置过滤器。 更多... | |
| void | SetImage (Image image, int frame_index) |
| 为签名外观设置图像,指定帧索引。 更多... | |
| void | SetImage (string file_path, int frame_index) |
| 使用指定帧索引为签名外观设置图像。 更多... | |
| void | SetKeyLabel (Signature.LabelName label_name, string label_value) |
| 设置指定键标签的字符串。 更多... | |
| void | SetKeyValue (Signature.KeyName key, string value) |
| 设置指定键名的字符串值。 更多... | |
| void | SetSignTime (DateTime sign_time) |
| 设置签名时间。 更多... | |
| void | SetSubFilter (string sub_filter) |
| 设置子过滤器。 更多... | |
| Progressive | StartSign (string cert_path, byte[] cert_password, Signature.DigestAlgorithm digest_algorithm, string save_path, global::System.IntPtr client_data, PauseCallback pause) |
| 如果当前签名未签名,开始签名当前签名。 更多... | |
| Progressive | StartSign (StreamCallback cert_file_stream, byte[] cert_password, Signature.DigestAlgorithm digest_algorithm, string save_path, global::System.IntPtr client_data, PauseCallback pause) |
| 如果当前签名是未签名的,开始签名当前签名。 更多... | |
| Progressive | StartSign (string cert_path, byte[] cert_password, Signature.DigestAlgorithm digest_algorithm, StreamCallback stream_callback, global::System.IntPtr client_data, PauseCallback pause) |
| 如果当前签名为未签名状态,则开始签名当前签名。 更多... | |
| Progressive | StartSign (StreamCallback cert_file_stream, byte[] cert_password, Signature.DigestAlgorithm digest_algorithm, StreamCallback stream_callback, global::System.IntPtr client_data, PauseCallback pause) |
| 如果当前签名为未签名状态,则开始签名当前签名。 更多... | |
| Progressive | StartVerify (global::System.IntPtr client_data, PauseCallback pause) |
| 如果当前签名已签名,开始验证当前签名的完整性。 更多... | |
Public 成员函数 继承自 foxit.pdf.interform.Field | |
| Field (PDFDoc document, PDFDictionary field_dict) | |
| 从字段字典构造函数。 更多... | |
| Field (Field field) | |
| 构造函数,使用另一个表单字段对象。 更多... | |
| Alignment | GetAlignment () |
| 获取对齐值。 更多... | |
| string | GetAlternateName () |
| 获取备用名称。 更多... | |
| Control | GetControl (int index) |
| 通过索引获取表单控件。 更多... | |
| Control | GetControl (PDFPage page, int index) |
| 在指定PDF页面中通过索引获取表单控件。 更多... | |
| int | GetControlCount () |
| 获取表单控件数量。 更多... | |
| int | GetControlCount (PDFPage page) |
| 获取指定PDF页面中的表单控件数量。 更多... | |
| DefaultAppearance | GetDefaultAppearance () |
| 获取默认外观数据。 更多... | |
| string | GetDefaultValue () |
| 获取默认值。 更多... | |
| PDFObject | GetDefaultValueObj () |
| 获取字段默认值的PDF对象。 更多... | |
| PDFDictionary | GetDict () |
| 获取当前对象的PDF字典。 更多... | |
| int | GetFlags () |
| 获取字段标志。 更多... | |
| PDFObject | GetInheritedAttribute (string attribute_name) |
| 获取指定属性的PDF对象,该属性可能从字段树中的祖先节点继承。 更多... | |
| string | GetMappingName () |
| 获取映射名称。 更多... | |
| int | GetMaxLength () |
| 获取字段文本的最大长度(以字符为单位)。 更多... | |
| string | GetName () |
| 获取字段名称。 更多... | |
| ChoiceOptionArray | GetOptions () |
| 获取列表框或组合框的选项。 更多... | |
| int | GetTopVisibleIndex () |
| 获取可滚动列表框的选项顶部索引。 更多... | |
| Field.Type | GetType () |
| 获取字段类型。 更多... | |
| string | GetValue () |
| 获取值。 更多... | |
| PDFObject | GetValueObj () |
| 获取字段值的PDF对象。 更多... | |
| bool | IsEmpty () |
| 检查当前对象是否为空。 更多... | |
| bool | Reset () |
| 将当前字段中的数据重置为其默认值。(不支持签名字段) 更多... | |
| void | SetAlignment (Alignment alignment) |
| 设置表单的对齐属性,作为文档范围的默认值。(不支持签名字段) 更多... | |
| void | SetAlternateName (string alternate_name) |
| 设置备用名称。(不支持签名字段) 更多... | |
| void | SetDefaultAppearance (DefaultAppearance default_ap) |
| 设置默认外观数据。 更多... | |
| void | SetDefaultValue (string value) |
| 设置默认值。 更多... | |
| void | SetFlags (int flags) |
| 设置字段标志。 更多... | |
| void | SetMappingName (string name) |
| 设置映射名称。(不支持签名字段) 更多... | |
| void | SetMaxLength (int max_length) |
| 设置字段文本的最大长度(以字符为单位)。 更多... | |
| void | SetOptions (ChoiceOptionArray option_array) |
| 设置列表框或组合框的选项。 更多... | |
| void | SetTopVisibleIndex (int index) |
| 设置可滚动列表框的顶部索引。 更多... | |
| void | SetValue (string value) |
| 设置值。 更多... | |
数字签名(PDF 1.3)可用于验证用户身份和文档内容。 它存储有关签名者和文档签名时状态的信息。签名包含在签名字段中, 作为表单字段的一种类型,因此类Signature 派生自 类foxit.pdf.interform.Field 。 可以通过以下函数检索/添加签名对象:
要直接从PDF文档中计数和检索为签名对象,请使用函数 pdf.PDFDoc.GetSignatureCount 和PDFDoc.GetSignature 。
要计数和检索为签名字段,当字段类型为 foxit.pdf.interform.Field.Type.e_TypeSignature 时,请使用函数 interform.Form.GetFieldCount 和interform.Form.GetField 。
要添加新签名,请使用函数PDFPage.AddSignature 。
要删除签名,请使用函数PDFDoc.RemoveSignature 。
在签名中,过滤器和子过滤器键用于指定将用于签名和验证签名的 签名回调对象的过滤器和子过滤器。Foxit PDF SDK为以下过滤器和子过滤器提供默认 签名回调:
过滤器:"Adobe.PPKLite"和子过滤器:"adbe.pkcs7.detached"
过滤器:"Adobe.PPKLite"和子过滤器:"adbe.pkcs7.sha1"
过滤器:"Adobe.PPKLite"和子过滤器:"ETSI.CAdES.detached"
过滤器:"Adobe.PPKLite"和子过滤器:"ETSI.RFC3161"
对于子过滤器"ETSI.CAdES.detached"和子过滤器"ETSI.RFC3161",如果要使用默认签名回调进行签名, 请确保已向TimeStampServerMgr 设置默认时间戳服务器。 对于其他过滤器和子过滤器,或者如果用户想要为上述过滤器和子过滤器使用自定义签名回调, 用户应准备自定义签名回调并通过函数 common.Library.RegisterSignatureCallback 将回调注册到Foxit PDF SDK。
此类提供获取/设置签名信息/属性、签名或验证签名等功能。 例如:
要签名未签名的签名,请使用函数Signature.StartSign 。 成功签名后,强烈建议用户关闭当前文档, 然后打开已签名的PDF文档,然后执行后续操作。
要验证已签名签名的完整性,请使用函数Signature.StartVerify 。 要检查已签名的签名是否有效,请参阅类LTVVerifier 。
要直接检索签名字典,请使用函数Signature.GetSignatureDict 。
在签名未签名的签名之前,用户可以调用以下函数来设置签名信息和 签名外观:
要使用默认Foxit外观模板,相关信息可以通过 Signature.SetAppearanceFlags 、Signature.SetSignTime 、Signature.SetKeyValue 、 Signature.SetBitmap 、Signature.SetImage 设置。
要使用自定义外观,请通过函数 Signature.SetAppearanceContent 设置外观流内容。
如果未签名的签名已设置一些签名信息,但文档直接保存或 在未签名的情况下关闭,这些数据(包括过滤器和子过滤器)将在 保存的文档或关闭的文档中丢失。当文档再次打开时,未签名的签名需要 至少指定过滤器和子过滤器进行签名;否则,此签名无法签名。
|
strong |
签名外观标志的枚举。
此枚举的值可以单独使用或组合使用。
|
strong |
|
strong |
|
strong |
签名字段MDP("MDP"表示修改检测和预防)操作类型的枚举。
此枚举的值应单独使用。
| 枚举值 | |
|---|---|
| e_FieldMDPActionNone | 无字段MDP操作。 |
| e_FieldMDPActionAll | 所有表单字段的标志将被设置为只读。 |
| e_FieldMDPActionInclude | 指定表单字段的标志将被设置为只读。
|
| e_FieldMDPActionExclude | 表单字段(除指定表单字段外)的标志将被设置为只读。
|
|
strong |
|
strong |
签名标签名称的枚举。
此枚举的值应单独使用。
|
strong |
|
strong |
|
strong |
签名状态的枚举。
此枚举的值可以单独使用或组合使用。
这些值可以分为四部分:
从 foxit.pdf.Signature.States.e_StateUnknown 开始的值(具有相同前缀名称)表示签名状态, 在签名成功验证之前。
从 foxit.pdf.Signature.States.e_StateVerifyValid 开始的值(具有相同前缀名称)表示 签名的验证状态。
从 foxit.pdf.Signature.States.e_StateVerifyIssueValid 开始的值(具有相同前缀名称)表示 签名的发行者验证状态,具有更多详细信息。
从 foxit.pdf.Signature.States.e_StateVerifyTimestampNone 开始的值(具有相同前缀名称)表示 时间戳的验证状态,具有更多详细信息。
|
inline |
构造函数,使用父类对象。
| [in] | field | 父类对象。 |
|
inline |
构造函数,从签名字段字典创建。
| [in] | document | 一个有效的PDF文档。 |
| [in] | sig_field_dict | 表示签名字段的PDF字典。 它应该属于参数document指定的PDF文档; |
|
inline |
如果当前签名已签名且验证有效,清除数据和外观。
此函数用于已签名且有效的签名。
注意:从7.0开始,此函数仅用于验证签名的完整性。 要检查签名是否有效,请参阅类LTVVerifier 。
|
inline |
启用或禁用嵌入字体。
| 指示是否为签名文本嵌入字体的标志。 | true表示为签名文本嵌入字体。 false表示不为签名文本嵌入字体。 |
|
inline |
启用或禁用首次签名的增量保存。用户应在调用 函数Signature.StartSign 之前调用此函数。
默认值:false。
| [in] | enable_incremental_save | 指示是否对首次签名使用增量保存的标志。 true表示对首次签名使用增量保存。 false表示对首次签名使用默认保存。 |
|
inline |
|
inline |
获取签名外观标志。
签名外观标志指示将显示哪些信息。 目前,这仅在Signature.SetAppearanceFlags 成功设置后有用。 对于从PDF文档获取的签名,此函数的返回值无用。
|
inline |
获取用于签名外观的位图。
|
inline |
获取字节范围数据,包括4个元素。
此函数用于已签名的签名,以检索其用于摘要计算的字节范围。 字节范围数组包含4个元素。这4个元素总是成对的 整数(起始字节偏移量,字节长度),描述了 摘要计算的确切字节范围。
请参阅<PDF Reference 1.7>第8.7节数字签名了解更多详细信息。
| [out] | out_byte_range_array | 接收字节范围数据的输出参数。 请确保此数组可以包含4个元素。 |
|
inline |
通过索引从当前签名的证书链中获取证书。
建议在验证签名之前使用此函数。 当当前签名的子过滤器为"adbe.x509.rsa_sha1"时,应用程序需要调用此函数 在验证签名之前获取已验证的公共证书。 证书链中的第一个证书是签名证书,可用于验证签名。
| [in] | index | 要获取的证书索引。有效范围:从0到(count-1)。 count由函数Signature.GetCertCount 返回。 |
|
inline |
获取当前签名证书链中的证书数量。
建议在验证签名之前使用此函数。 当当前签名的子过滤器为"adbe.x509.rsa_sha1"时,应用程序需要调用此函数 获取证书链中的证书数量,然后调用函数Signature.GetCert 在验证签名之前获取已验证的公共证书。
|
inline |
获取证书信息。
此函数用于已签名的签名。 目前,此函数仅支持iOS和Android平台。
| [in] | key | 证书键字符串。目前可以是以下键之一:
|
|
inline |
获取当前签名的文档权限。
如果权限值不是foxit.pdf.Signature.DocPermission.e_DocPermUnrestricted ,表示当前签名已签名时添加新签名将失败
如果权限值是foxit.pdf.Signature.DocPermission.e_DocPermFillingFormAndSigning 或foxit.pdf.Signature.DocPermission.e_DocPermFillingFormSigningAndAnnotating , 表示当前签名已签名时当前签名字段的标志为只读。
|
inline |
获取当前签名所属的PDF文档。
|
inline |
获取FieldMDP("MDP"表示修改检测和预防)操作类型。
|
inline |
获取用于FieldMDP操作的字段名称数组。
返回的字段名称数组与FieldMDP操作相关(可通过函数Signature.GetFieldMDPAction 检查):
如果FieldMDP操作类型为foxit.pdf.Signature.FieldMDPAction.e_FieldMDPActionNone ,返回的字段名称数组无用。
如果FieldMDP操作类型为foxit.pdf.Signature.FieldMDPAction.e_FieldMDPActionAll ,返回的字段名称数组将包含所有表单字段的名称。
如果FieldMDP操作类型为foxit.pdf.Signature.FieldMDPAction.e_FieldMDPActionInclude ,返回的字段名称数组指定在当前签名签署时标志为只读的表单字段。
如果FieldMDP操作类型为foxit.pdf.Signature.FieldMDPAction.e_FieldMDPActionExclude ,返回的字段名称数组指定在当前签名为已签名签名时标志不为只读的表单字段 (但其余字段的标志为只读)。
|
inline |
获取过滤器。
过滤器和子过滤器用于指定将使用哪个已注册的签名回调对象来 签名/验证当前签名。
|
inline |
获取指定键标签的字符串。
如果当前签名是时间戳签名,此函数将始终返回空字符串。
| [in] | label_name | 键标签。请参考从foxit.pdf.Signature.LabelName.e_LabelNameSigner 开始的值, 这应该是这些值中的一个。 |
|
inline |
获取指定键名的字符串值。
此函数用于获取签名字典中某些键的字符串值,如"Reason"、 "Location"等。特别地,
| [in] | key | 键名。请参阅从foxit.pdf.Signature.KeyName.e_KeyNameSigner 开始的值, 应为这些值中的一个。 |
|
inline |
获取PAdES级别。
|
inline |
获取当前分页印章签名的组元素。
如果当前签名类型为foxit.pdf.Signature.SignatureType.e_SignatureTypePagingSeal , 此函数将返回与当前签名关联的签名数组。 否则,将返回空数组。
|
inline |
获取分页印章签名。
如果当前签名类型为foxit.pdf.Signature.SignatureType.e_SignatureTypePagingSeal ,此函数将返回 与当前签名关联的分页印章签名对象。
|
inline |
获取签名字典。
签名字典是签名字段字典的一部分。
|
inline |
获取签名类型。
|
inline |
获取当前签名签署时的已签名版本中的PDF文档。
当PDF文档已被多个签名签署且用户想要获取其中一个签名 签署时的PDF文档时,此函数很有用。
| [in] | file_path | 当前签名所属的原始打开PDF文档的完整路径。不应为空字符串。 |
|
inline |
获取签名时间。
|
inline |
获取当前状态。
在验证签名之前,此函数用于获取当前签名是否已签名 或当前签名是否缺少签名数据的状态。
在验证签名之后,此函数用于获取验证状态–表示 已验证的签名已签名;如果已验证的签名仍未签名,此函数将 获取未签名状态。
要使用默认Foxit外观模板,相关信息可以通过 Signature.SetAppearanceFlags 、Signature.SetSignTime 、 Signature.SetKeyValue 、Signature.SetBitmap 、Signature.SetImage 设置。
要使用自定义外观,请通过函数 Signature.SetAppearanceContent 设置外观流内容。
|
inline |
获取子过滤器。
过滤器和子过滤器用于指定将使用哪个已注册的签名回调对象来 签名/验证当前签名。
|
inline |
检查当前对象是否为空。
当前对象为空时,表示当前对象无用。
|
inline |
检查当前签名是否已签名。
|
inline |
检查当前签名是否为时间戳签名。
|
inline |
为已签名签名外观设置自定义外观内容(作为低级绘图操作命令)。
此函数只能在为未签名的签名调用函数Signature.StartSign 之前使用。
一旦设置了自定义外观内容,它将用作已签名外观。在这种情况下, 由Signature.SetAppearanceFlags 设置的外观标志将被忽略, 相关信息将不会在外观中使用——这些信息由以下函数设置: Signature.SetSignTime 、Signature.SetKeyValue (过滤器和子过滤器除外)、 Signature.SetBitmap 、Signature.SetImage 。
如果当前签名是时间戳签名,此函数将不执行任何操作。
| [in] | appearance_content | 自定义外观内容。这应该是用于外观的绘制操作命令序列, 例如"10 10 m 20 10 l S"。请参考<PDF Reference 1.7> P196了解更多详情。 |
|
inline |
设置签名外观标志。
建议在为未签名的签名调用函数Signature.StartSign 之前使用此函数。
签名外观标志指示在已签名外观中将显示哪些信息。 如果已通过函数Signature.SetAppearanceContent 设置自定义外观内容, 外观标志将被忽略。
如果当前签名是时间戳签名,此函数将不执行任何操作。
| [in] | appearance_flags | 签名外观标志。请参阅从 foxit.pdf.Signature.APFlags.e_APFlagFoxitFlag 开始的值,应为 这些值中的一个或它们的组合。 |
|
inline |
为签名外观设置位图。
建议在为未签名的签名调用函数Signature.StartSign 之前使用此函数。 如果已通过函数Signature.SetAppearanceContent 设置了自定义外观内容, 则位图将不会在已签名外观中使用。
如果当前签名是时间戳签名,此函数将不执行任何操作。
| [in] | bitmap | 要设置到外观的位图。它应该是有效的。 |
|
inline |
设置证书链。
建议在签名未签名的签名之前使用此函数。 当签名子过滤器为"adbe.x509.rsa_sha1"时,用户需要调用此函数 将证书链设置到签名中。对于其他子过滤器,此函数将直接返回而不执行任何操作。
| [in] | cert_chain | 表示证书链的字符串数组。 |
|
inline |
为签名字典设置自定义PDF对象。
建议在为未签名的签名调用函数Signature.StartSign 之前使用此函数。
| [in] | key | 签名字典的键,将设置其值元素。不应为空字符串。 |
| [in] | pdf_object | 要设置为键值的自定义PDFObject 对象。不应为null。 它可以是直接PDF对象或间接PDF对象。 |
|
inline |
设置表示签名值(称为已签名数据)的签名内容的默认长度。
此函数只能在为未签名的签名调用函数Signature.StartSign 之前使用。
签名内容表示签名值(称为已签名数据)。 初始化签名字段时,签名内容将以默认长度7942初始化。当使用自定义签名回调来签名和验证未签名的签名时, 用户可以调用此函数来更改签名内容的默认长度。在这种情况下, 用户还应确保回调函数SignatureCallback.Sign 中返回的已签名数据的长度 不应大于此函数设置的默认长度。
| [in] | default_length | 签名值(称为已签名数据)的默认长度,以字节为单位。 不应小于4098。 |
|
inline |
设置当前签名的文档权限。
此函数仅对未签名的签名有用。如果对已签名的签名使用此函数,则不会执行任何操作。
关于权限值的一些注意事项:
如果为当前未签名的签名设置除foxit.pdf.Signature.DocPermission.e_DocPermUnrestricted 之外的任何权限值, 则当当前签名为已签名签名时,添加新签名将失败。
如果为当前未签名的签名设置权限值foxit.pdf.Signature.DocPermission.e_DocPermFillingFormAndSigning 或foxit.pdf.Signature.DocPermission.e_DocPermFillingFormSigningAndAnnotating , 则FieldMDP操作将为foxit.pdf.Signature.FieldMDPAction.e_FieldMDPActionInclude ,且 当当前签名为已签名签名时,当前签名字段的标志将为只读。
| [in] | permission | 文档权限。请参阅从foxit.pdf.Signature.DocPermission.e_DocPermUnrestricted 开始的值, 应为这些值中的一个。 |
|
inline |
设置FieldMDP("MDP"表示修改检测和预防)操作名称数组。
此函数仅对未签名的签名有用。如果对已签名的签名使用此函数,则不会执行任何操作。
如果当前签名已签名,此函数无效。
| [in] | action | FieldMDP操作类型。请参阅从foxit.pdf.Signature.FieldMDPAction.e_FieldMDPActionNone 开始的值, 应为这些值中的一个。
|
| [in] | field_array | 用于FieldMDP操作的字段名称数组。 |
|
inline |
设置过滤器。
过滤器和子过滤器用于指定将使用哪个已注册的签名回调对象来 签名/验证当前签名。用户应设置过滤器和子过滤器以 使用Foxit PDF SDK中的默认签名回调,或使用其他过滤器和子过滤器,但请 确保在签名或验证当前签名之前,具有非默认过滤器和子过滤器的签名回调对象 已在Foxit PDF SDK中注册。 默认签名回调的过滤器和子过滤器是:
过滤器:"Adobe.PPKLite"和子过滤器:"adbe.pkcs7.detached"
过滤器:"Adobe.PPKLite"和子过滤器:"adbe.pkcs7.sha1"
过滤器:"Adobe.PPKLite"和子过滤器:"ETSI.CAdES.detached"
过滤器:"Adobe.PPKLite"和子过滤器:"ETSI.RFC3161"
| [in] | filter | 过滤器字符串。不能为空字符串。 |
|
inline |
为签名外观设置图像,指定帧索引。
建议在为未签名的签名调用函数Signature.StartSign 之前使用此函数。 如果已通过函数Signature.SetAppearanceContent 设置了自定义外观内容, 则图像将不会在已签名外观中使用。
输入图像可能包含多个帧,只能将图像的一帧设置到当前签名。
如果当前签名是时间戳签名,此函数将不执行任何操作。
| [in] | image | 图像。它的一帧将设置到当前签名。此图像至少包含 一帧,图像类型不应为foxit.common.Image.Type.e_Unknown 。 |
| [in] | frame_index | 帧索引。有效范围:从0到(count-1)。 count由函数common.Image.GetFrameCount 返回。 |
|
inline |
使用指定帧索引为签名外观设置图像。
建议在为未签名的签名调用函数Signature.StartSign 之前使用此函数。 如果已通过函数Signature.SetAppearanceContent 设置了自定义外观内容, 则图像将不会在已签名外观中使用。
输入图像可能包含多个帧,只能将图像的一帧设置到当前签名。
如果当前签名是时间戳签名,此函数将不执行任何操作。
| [in] | file_path | 现有图像文件的完整路径。不应为空字符串。 |
| [in] | frame_index | 帧索引。有效范围:从0到(count-1)。 count由输入图像文件的函数common.Image.GetFrameCount 返回。 |
|
inline |
设置指定键标签的字符串。
建议在为未签名的签名调用函数Signature.StartSign 之前使用此函数。
此函数用于设置签名字典中某些键的自定义标签的字符串值。 如果未设置自定义标签,Foxit PDF SDK将使用默认标签。请参阅从foxit.pdf.Signature.LabelName.e_LabelNameSigner 开始的值的注释了解更多详细信息。
如果当前签名是时间戳签名,此函数将不执行任何操作。
| [in] | label_name | 键标签。请参阅从foxit.pdf.Signature.LabelName.e_LabelNameSigner 开始的值, 应为这些值中的一个。 |
| [in] | label_value | 键标签的新字符串值。如果这是空字符串,Foxit PDF SDK将使用默认标签。 请参阅从foxit.pdf.Signature.LabelName.e_LabelNameSigner 开始的值的注释了解更多详细信息。 |
|
inline |
设置指定键名的字符串值。
建议在为未签名的签名调用函数Signature.StartSign 之前使用此函数。
此函数用于设置签名字典中某些键的字符串值,如签名者、原因、 位置等。
如果当前签名是时间戳签名,此函数将不执行任何操作。
| [in] | key | 键名。请参阅从foxit.pdf.Signature.KeyName.e_KeyNameSigner 开始的值, 应为这些值中的一个。 |
| [in] | value | 新的字符串值。 |
|
inline |
|
inline |
设置子过滤器。
过滤器和子过滤器用于指定将使用哪个已注册的签名回调对象来 签名/验证当前签名。用户应设置过滤器和子过滤器以 使用Foxit PDF SDK中的默认签名回调,或使用其他过滤器和子过滤器,但请 确保在签名或验证当前签名之前,具有非默认过滤器和子过滤器的签名回调对象 已在Foxit PDF SDK中注册。 默认签名回调的过滤器和子过滤器是:
过滤器:"Adobe.PPKLite"和子过滤器:"adbe.pkcs7.detached"
过滤器:"Adobe.PPKLite"和子过滤器:"adbe.pkcs7.sha1"
过滤器:"Adobe.PPKLite"和子过滤器:"ETSI.CAdES.detached"
过滤器:"Adobe.PPKLite"和子过滤器:"ETSI.RFC3161"
| [in] | sub_filter | 子过滤器字符串。 |
|
inline |
如果当前签名未签名,开始签名当前签名。
此函数用于未签名的签名。当前签名的过滤器和子过滤器键指定 将用于签名当前签名的签名回调对象的名称。因此在签名之前, 请确保当前签名具有有效的过滤器和子过滤器字符串值。如果过滤器和子过滤器 是以下字符串之一,表示使用Foxit PDF SDK中的默认签名回调:
过滤器:"Adobe.PPKLite"和子过滤器:"adbe.pkcs7.detached"
过滤器:"Adobe.PPKLite"和子过滤器:"adbe.pkcs7.sha1"
过滤器:"Adobe.PPKLite"和子过滤器:"ETSI.CAdES.detached"
过滤器:"Adobe.PPKLite"和子过滤器:"ETSI.RFC3161"
对于其他过滤器和子过滤器,或者如果用户想要为上述过滤器和子过滤器使用自定义签名回调, 请确保已通过函数common.Library.RegisterSignatureCallback 将自定义签名回调注册到Foxit PDF SDK。
对于符合PDF/A规范的PDF文档,建议调用common.Library.SetDefaultICCProfilesPath 并在调用当前函数之前通过调用Signature.EnableEmbedFont 启用字体嵌入。 签名可能需要很长时间,因此Foxit PDF SDK使用渐进过程来执行此操作。
| [in] | cert_path | 将用于签名的证书文件的完整路径(包括文件名和扩展名)。 如果在自定义签名回调中不需要,可以是空字符串。当此文件路径不为空时, 应为有效路径。 如果要使用默认签名回调来签名当前签名, 这可以是PFX证书文件。 |
| [in] | cert_password | 用于打开证书文件的密码字符串。如果这是空字符串, 表示不需要密码。 |
| [in] | digest_algorithm | 签名数据的消息摘要算法。请参阅从foxit.pdf.Signature.DigestAlgorithm.e_DigestSHA1 开始的值, 应为这些值中的一个。 |
| [in] | save_path | 用于保存签名结果的完整PDF文件路径。已签名文档将 保存到另一个PDF文件。 |
| [in] | client_data | 用户定义对象,将传递给SignatureCallback 中的回调函数。 如果要使用默认回调对象来签名当前签名,则此参数无用。默认值:null。 |
| [in] | pause | 决定签名过程是否需要暂停的暂停对象。可以为null, 表示在签名过程中不暂停。如果不为null, 应为用户实现的有效暂停对象。默认值:null。 |
使用当前函数将签名结果保存到临时文件。在这里,此临时文件 命名为"temp.tmp"。
确保相关的PDF文档对象已析构——这等同于"关闭文档"。
删除"org.pdf"并将"temp.tmp"重命名为"org.pdf"。
|
inline |
如果当前签名是未签名的,开始签名当前签名。
此函数用于未签名的签名。当前签名的过滤器和子过滤器键指定 将用于签名当前签名的签名回调对象的名称。因此在签名之前, 请确保当前签名具有有效的过滤器和子过滤器字符串值。如果过滤器和子过滤器 是以下字符串之一,表示使用Foxit PDF SDK中的默认签名回调:
过滤器:"Adobe.PPKLite"和子过滤器:"adbe.pkcs7.detached"
过滤器:"Adobe.PPKLite"和子过滤器:"adbe.pkcs7.sha1"
过滤器:"Adobe.PPKLite"和子过滤器:"ETSI.CAdES.detached"
过滤器:"Adobe.PPKLite"和子过滤器:"ETSI.RFC3161"
对于其他过滤器和子过滤器,或者如果用户想要为上述过滤器和子过滤器使用自定义签名回调, 请确保已通过函数common.Library.RegisterSignatureCallback 将自定义签名回调注册到Foxit PDF SDK。
对于符合PDF/A规范的PDF文档,建议调用common.Library.SetDefaultICCProfilesPath 并在调用当前函数之前通过调用Signature.EnableEmbedFont 启用字体嵌入。 签名可能需要很长时间,因此Foxit PDF SDK使用渐进式处理来完成此操作。
| [in] | cert_file_stream | 用户实现的foxit.common.fxcrt.StreamCallback 对象, 用于访问将用于签名的证书文件的内容。 This can be null if not necessary in custom signature callback. 如果在自定义签名回调中不需要,这可以为null。 如果将使用默认签名回调来签名当前签名, 可以使用PFX证书文件。 |
| [in] | cert_password | 用于打开证书文件的密码字符串。如果这是空字符串, 表示不需要密码。 |
| [in] | digest_algorithm | 签名数据的消息摘要算法。请参考从 foxit.pdf.Signature.DigestAlgorithm.e_DigestSHA1 开始的值,这应该是这些值中的一个。 |
| [in] | save_path | 用于保存签名结果的完整PDF文件路径。已签名的文档将 保存到另一个PDF文件。 |
| [in] | client_data | 用户定义的对象,将传递给SignatureCallback 中的回调函数。 如果将使用默认回调对象来签名当前签名,这是无用的。默认值:null。 |
| [in] | pause | 决定签名过程是否需要暂停的暂停对象。这可以是 null,表示在签名过程中不暂停。如果这不是 null,它应该是用户实现的有效暂停对象。 默认值:null。 |
使用当前函数将签名结果保存到临时文件。在这里,此临时文件 命名为"temp.tmp"。
确保相关的PDF文档对象已析构——这等同于"关闭文档"。
删除"org.pdf"并将"temp.tmp"重命名为"org.pdf"。
|
inline |
如果当前签名为未签名状态,则开始签名当前签名。
此函数用于未签名的签名对象。当前签名的过滤器和子过滤器键指定了 用于签名当前签名的签名回调对象的名称。因此在签名之前, 请确保当前签名具有有效的过滤器和子过滤器字符串值。如果过滤器和子过滤器 是以下字符串之一,意味着使用Foxit PDF SDK中的默认签名回调:
过滤器: "Adobe.PPKLite" 和子过滤器: "adbe.pkcs7.detached"
过滤器: "Adobe.PPKLite" 和子过滤器: "adbe.pkcs7.sha1"
过滤器: "Adobe.PPKLite" 和子过滤器: "ETSI.CAdES.detached"
过滤器: "Adobe.PPKLite" 和子过滤器: "ETSI.RFC3161"
对于子过滤器"ETSI.CAdES.detached"和子过滤器"ETSI.RFC3161",如果要使用它们的默认签名回调进行签名, 请确保已向TimeStampServerMgr 设置默认的时间戳服务器。 对于其他过滤器和子过滤器,或者如果用户想要为上述过滤器和子过滤器使用自定义签名回调, 请确保已通过函数common.Library.RegisterSignatureCallback 向Foxit PDF SDK注册自定义签名回调。
对于符合PDF/A规范的PDF文档,建议在调用当前函数之前调用common.Library.SetDefaultICCProfilesPath 并通过调用Signature.EnableEmbedFont 启用字体嵌入。 签名操作可能需要很长时间,因此Foxit PDF SDK使用渐进式处理来完成此操作。
| [in] | cert_path | 证书文件的完整路径(包括文件名和扩展名), 将用于签名。如果在自定义签名回调中不需要,这可以是空字符串。 当此文件路径不为空时,它应该是有效路径。 如果要使用默认签名回调来签名当前签名, 这可以是PFX证书文件。 |
| [in] | cert_password | 用于打开证书文件的密码字符串。如果这是空字符串, 表示不需要密码。 |
| [in] | digest_algorithm | 签名数据的消息摘要算法。请参考从foxit.pdf.Signature.DigestAlgorithm.e_DigestSHA1 开始的值, 这应该是这些值中的一个。 |
| [in] | stream_callback | 用户实现的foxit.common.fxcrt.StreamCallback 对象,用于保存签名结果。 已签名的文档将保存到另一个PDF文件。 |
| [in] | client_data | 用户定义的对象,将传递给SignatureCallback 中的回调函数。 如果使用默认回调对象来签名当前签名,则此参数无用。默认值:null。 |
| [in] | pause | 决定签名过程是否需要暂停的暂停对象。这可以是 null,表示在签名过程中不暂停。如果不为 null,它应该是用户实现的有效暂停对象。 默认值:null。 |
使用当前函数将签名结果保存到临时文件。这里,此临时文件命名为"temp.tmp"。
确保相关的PDF文档对象已析构——这等同于"关闭文档"。
删除"org.pdf"并将"temp.tmp"重命名为"org.pdf"。
|
inline |
如果当前签名为未签名状态,则开始签名当前签名。
此函数用于未签名的签名对象。当前签名的过滤器和子过滤器键指定了 用于签名当前签名的签名回调对象的名称。因此在签名之前, 请确保当前签名具有有效的过滤器和子过滤器字符串值。如果过滤器和子过滤器 是以下字符串之一,意味着使用Foxit PDF SDK中的默认签名回调:
filter: "Adobe.PPKLite" and sub filter: "adbe.pkcs7.detached"
filter: "Adobe.PPKLite" and sub filter: "adbe.pkcs7.sha1"
filter: "Adobe.PPKLite" and sub filter: "ETSI.CAdES.detached"
filter: "Adobe.PPKLite" and sub filter: "ETSI.RFC3161"
对于子过滤器"ETSI.CAdES.detached"和子过滤器"ETSI.RFC3161",如果要使用它们的默认签名回调进行签名, 请确保已向TimeStampServerMgr 设置默认的时间戳服务器。 对于其他过滤器和子过滤器,或者如果用户想要为上述过滤器和子过滤器使用自定义签名回调, 请确保已通过函数common.Library.RegisterSignatureCallback 向Foxit PDF SDK注册自定义签名回调。
对于符合PDF/A规范的PDF文档,建议在调用当前函数之前调用common.Library.SetDefaultICCProfilesPath 并通过调用Signature.EnableEmbedFont 启用字体嵌入。 签名操作可能需要很长时间,因此Foxit PDF SDK使用渐进式处理来完成此操作。
| [in] | cert_file_stream | 用户实现的foxit.common.fxcrt.StreamCallback 对象, 用于访问将用于签名的证书文件内容。 如果在自定义签名回调中不需要,这可以是null。 如果要使用默认签名回调来签名当前签名,可以使用PFX证书文件。 |
| [in] | cert_password | 用于打开证书文件的密码字符串。如果这是空字符串, 表示不需要密码。 |
| [in] | digest_algorithm | 签名数据的消息摘要算法。请参考从foxit.pdf.Signature.DigestAlgorithm.e_DigestSHA1 开始的值, 这应该是这些值中的一个。 |
| [in] | stream_callback | 用户实现的foxit.common.fxcrt.StreamCallback 对象,用于保存签名结果。 已签名的文档将保存到另一个PDF文件。 |
| [in] | client_data | 用户定义的对象,将传递给SignatureCallback 中的回调函数。 如果使用默认回调对象来签名当前签名,则此参数无用。 默认值:null。 |
| [in] | pause | 决定签名过程是否需要暂停的暂停对象。这可以是 null,表示在签名过程中不暂停。如果不为 null,它应该是用户实现的有效暂停对象。 默认值:null。 |
使用当前函数将签名结果保存到临时文件。这里,此临时文件命名为"temp.tmp"。
确保相关的PDF文档对象已析构——这等同于"关闭文档"。
删除"org.pdf"并将"temp.tmp"重命名为"org.pdf"。
|
inline |
如果当前签名已签名,开始验证当前签名的完整性。
此函数用于已签名的签名。当前签名的过滤器和子过滤器键指定 将用于验证当前签名的签名回调对象的名称。因此在验证之前, 请确保:必要的签名回调对象已通过函数 common.Library.RegisterSignatureCallback 注册。如果当前已签名签名的过滤器和子过滤器 是以下字符串之一,表示使用Foxit PDF SDK中的默认签名回调, 用户无需为它们注册:
过滤器:"Adobe.PPKLite"和子过滤器:"adbe.pkcs7.detached"
过滤器:"Adobe.PPKLite"和子过滤器:"adbe.pkcs7.sha1"
过滤器:"Adobe.PPKLite"和子过滤器:"ETSI.CAdES.detached"
过滤器:"Adobe.PPKLite"和子过滤器:"ETSI.RFC3161"
验证签名可能需要很长时间,因此Foxit PDF SDK使用渐进过程来执行此操作。
从7.0开始,此函数仅用于验证签名的完整性。要检查签名是否有效, 请参阅类LTVVerifier 。
| [in] | client_data | 用户定义对象,将传递给SignatureCallback 中的回调函数。 如果要使用默认回调对象来验证当前签名,则此参数无用。默认值:null。 |
| [in] | pause | 决定验证过程是否需要暂停的暂停对象。 可以为null,表示在验证过程中不暂停。 如果不为null,应为用户实现的有效暂停对象。 默认值:null。 |