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