Foxit PDF SDK
fs_ofdcustomsignature.h
1 #ifndef FS_OFD_CUSTOM_SIGNATURE_H_
2 #define FS_OFD_CUSTOM_SIGNATURE_H_
3 
4 #include "common/fs_common.h"
5 
11 namespace foxit {
15 namespace ofd {
16 class OFDDoc;
20 namespace ofdseal {
21 class SealSignature;
22 class PublicProperties;
23 class StraddlePosition;
24 
27 {
28  public:
30  virtual ~SignatureCallback() {}
31 
37  virtual String GetProviderName() = 0;
38 
45  virtual String GetCompany() = 0;
46 
52  virtual String GetVersion() = 0;
53 
59  virtual String GetSignatureTime() = 0;
60 
69  virtual String Digest(const void* data, int length) = 0;
70 
76  virtual String GetDigestMethod() = 0;
77 
86  virtual String Sign(const void* data, int length) = 0;
87 
93  virtual String GetSignMethod() = 0;
94 
100  virtual String GetSeal() = 0;
101 
112  virtual bool Verify(const void* data, int length, const void* sign_value, int sign_value_length) = 0;
113 };
114 
116 class CustomSignatureDoc FS_FINAL : public Base {
117  public:
124  explicit CustomSignatureDoc(OFDDoc doc, SignatureCallback* callback);
125 
128 
135 
144 
152  bool operator == (const CustomSignatureDoc& other) const;
153 
161  bool operator != (const CustomSignatureDoc& other) const;
162 
170  bool IsEmpty() const;
171 
184  bool SignWithMultiPage(const String& page_scope, const ImagePosition& position, const String& dest_file, const PublicProperties& proterties = PublicProperties());
185 
198  bool SignWithMultiPage(const String& page_scope, const ImagePosition& position, const WString& dest_file, const PublicProperties& proterties = PublicProperties());
199 
212  bool SignWithMultiPage(const String& page_scope, const ImagePosition& position, foxit::common::file::WriterCallback* file_writer, const PublicProperties& proterties = PublicProperties());
213 
225  bool SignWithMultiPage(const foxit::Int32Array& page_index_array, const ImagePosition& position, const String& dest_file, const PublicProperties& proterties = PublicProperties());
226 
238  bool SignWithMultiPage(const foxit::Int32Array& page_index_array, const ImagePosition& position, const WString& dest_file, const PublicProperties& proterties = PublicProperties());
239 
251  bool SignWithMultiPage(const foxit::Int32Array& page_index_array, const ImagePosition& position, foxit::common::file::WriterCallback* file_writer, const PublicProperties& proterties = PublicProperties());
252 
264  bool SignWithStraddle(const StraddlePosition& position, float width, float height, const String& dest_file, const PublicProperties& proterties = PublicProperties());
265 
277  bool SignWithStraddle(const StraddlePosition& position, float width, float height, const WString& dest_file, const PublicProperties& proterties = PublicProperties());
278 
290  bool SignWithStraddle(const StraddlePosition& position, float width, float height, foxit::common::file::WriterCallback* file_writer, const PublicProperties& proterties = PublicProperties());
291 
292  explicit CustomSignatureDoc(FS_HANDLE handle);
293 };
294 
296 class CustomVerify FS_FINAL : public Base {
297  public:
303  static bool Verify(Signature signature, SignatureCallback* callback);
304 };
305 
306 } // namespace ofdseal
307 } // namespace ofd
308 } // namespace foxit
309 
310 #endif // _BUILD_OFDSDK_
bool SignWithMultiPage(const String &page_scope, const ImagePosition &position, const String &dest_file, const PublicProperties &proterties=PublicProperties())
在多页相同位置对OFD文档进行自定义签名或签章。
Definition: fs_ofdcustomsignature.h:296
文件写入接口。
Definition: fx_stream.h:470
bool IsEmpty() const
检查当前对象是否为空。
virtual String GetSignatureTime()=0
获取签名时间。
Definition: fs_ofdsign.h:139
Definition: fs_ofdcustomsignature.h:26
virtual String Sign(const void *data, int length)=0
对数据进行签名计算。
virtual bool Verify(const void *data, int length, const void *sign_value, int sign_value_length)=0
验证签名值。
bool SignWithStraddle(const StraddlePosition &position, float width, float height, const String &dest_file, const PublicProperties &proterties=PublicProperties())
在跨页位置对OFD文档进行自定义签名或签章,即骑缝章。
宽字符串类
Definition: fx_string.h:1457
Definition: fs_ofdcustomsignature.h:116
virtual String GetSeal()=0
获取印章文件(Seal.esl)内容。
Definition: fs_ofdsignature.h:209
CustomSignatureDoc & operator=(const CustomSignatureDoc &other)
赋值操作符。
virtual String Digest(const void *data, int length)=0
对数据进行摘要计算。
virtual String GetCompany()=0
获取签名或签章提供者公司名称。
virtual String GetVersion()=0
获取签名或签章版本号。
void * FS_HANDLE
句柄类型。
Definition: fs_basictypes.h:213
通用定义和类的头文件。
CustomSignatureDoc(OFDDoc doc, SignatureCallback *callback)
带参数的构造函数。
Definition: fs_ofddoc.h:271
virtual ~SignatureCallback()
Definition: fs_ofdcustomsignature.h:30
Definition: fs_ofdsign.h:269
Definition: fs_basictypes.h:465
virtual String GetProviderName()=0
获取签名或签章提供者名称。
virtual String GetSignMethod()=0
获取签名方法名称。
Definition: fs_ofdsign.h:24
Foxit命名空间。
Definition: fs_pdf3d.h:26
字节字符串类
Definition: fx_string.h:317
bool operator==(const CustomSignatureDoc &other) const
相等操作符。
bool operator !=(const CustomSignatureDoc &other) const
不相等操作符。
virtual String GetDigestMethod()=0
获取摘要方法名称。
static bool Verify(Signature signature, SignatureCallback *callback)