Foxit PDF SDK

fs_signature.h
浏览该文件的文档.
1
15 #ifndef FS_SIGNATURE_H_
16 #define FS_SIGNATURE_H_
17
18 #include "common/fs_common.h"
19 #include "common/file/fs_file.h"
20 #include "common/fs_image.h"
21 #include "pdf/interform/fs_pdfform.h"
22
28 namespace foxit {
32 namespace pdf {
33 class PagingSealSignature;
34
35 class Signature;
37 FSDK_DEFINE_ARRAY(SignatureArray, Signature)
38
39
99 class Signature : public interform::Field {
100 public:
117 typedef enum _States {
119 e_StateUnknown = 0x80000000,
121 e_StateNoSignData = 0x00000200,
123 e_StateUnsigned = 0x00000001,
125 e_StateSigned = 0x00000002,
127 e_StateVerifyValid = 0x00000004,
129 e_StateVerifyInvalid = 0x00000008,
131 e_StateVerifyErrorData = 0x00000010,
133 e_StateVerifyNoSupportWay = 0x00000020,
135 e_StateVerifyErrorByteRange = 0x00000040,
137 e_StateVerifyChange = 0x00000080,
139 e_StateVerifyIncredible = 0x00000100,
141 e_StateVerifyNoChange = 0x00000400,
143 e_StateVerifyIssueValid = 0x00001000,
145 e_StateVerifyIssueUnknown = 0x00002000,
147 e_StateVerifyIssueRevoke = 0x00004000,
149 e_StateVerifyIssueExpire = 0x00008000,
151 e_StateVerifyIssueUncheck = 0x00010000,
153 e_StateVerifyIssueCurrent = 0x00020000,
155 e_StateVerifyTimestampNone = 0x00040000,
157 e_StateVerifyTimestampDoc = 0x00080000,
159 e_StateVerifyTimestampValid = 0x00100000,
161 e_StateVerifyTimestampInvalid = 0x00200000,
163 e_StateVerifyTimestampExpire = 0x00400000,
165 e_StateVerifyTimestampIssueUnknown = 0x00800000,
167 e_StateVerifyTimestampIssueValid = 0x01000000,
169 e_StateVerifyTimestampTimeBefore = 0x02000000,
171 e_StateCertCannotGetVRI = 0x04000000,
173 e_StateVerifyChangeLegal = 0x08000000,
175 e_StateVerifyChangeIllegal = 0x10000000
176 } States;
177
183 typedef enum _APFlags {
185 e_APFlagFoxitFlag = 0x0001,
187 e_APFlagLabel = 0x0002,
189 e_APFlagReason = 0x0004,
191 e_APFlagSigningTime = 0x0008,
193 e_APFlagDN = 0x0010,
195 e_APFlagLocation = 0x0020,
197 e_APFlagSigner = 0x0040,
199 e_APFlagBitmap = 0x0080,
201 e_APFlagText = 0x0100,
203 e_APFlagFoxitEditorFlag = 0x0200,
205 e_APFlagProducer = 0x0400
206 } APFlags;
207
213 typedef enum _KeyName {
215 e_KeyNameSigner = 0,
217 e_KeyNameLocation = 1,
219 e_KeyNameReason = 2,
221 e_KeyNameContactInfo = 3,
223 e_KeyNameDN = 4,
225 e_KeyNameText = 5,
227 e_KeyNameProducer = 6
228 } KeyName;
229
235 typedef enum _DigestAlgorithm {
237 e_DigestSHA1 = 0,
239 e_DigestSHA256 = 1,
241 e_DigestSHA384 = 2,
243 e_DigestSHA512 = 3
244 } DigestAlgorithm;
245
251 typedef enum _SignatureType {
253 e_SignatureTypeOrdinary = 0,
255 e_SignatureTypeTimeStamp = 3,
257 e_SignatureTypePagingSeal = 4
258 } SignatureType;
259
265 typedef enum _PAdESLevel {
267 e_PAdESLevelNotPAdES = 0,
269 e_PAdESLevelNone = 1,
271 e_PAdESLevelBB = 2,
273 e_PAdESLevelBT = 3,
275 e_PAdESLevelBLT = 4,
277 e_PAdESLevelBLTA = 5
278 } PAdESLevel;
279
285 typedef enum _DocPermission {
287 e_DocPermUnrestricted = 0,
292 e_DocPermNoChangesAllowed = 1,
297 e_DocPermFillingFormAndSigning = 2,
302 e_DocPermFillingFormSigningAndAnnotating = 3
303 } DocPermission;
304
310 typedef enum _FieldMDPAction {
312 e_FieldMDPActionNone = 0,
316 e_FieldMDPActionAll = 1,
322 e_FieldMDPActionInclude = 2,
328 e_FieldMDPActionExclude = 3
329 } FieldMDPAction;
330
336 typedef enum _LabelName {
342 e_LabelNameSigner = 0,
348 e_LabelNameLocation = 1,
354 e_LabelNameReason = 2,
360 e_LabelNameSignTime = 3,
366 e_LabelNameDN = 4,
372 e_LabelNameProducer = 6
373 } LabelName;
374
375
381 explicit Signature(const interform::Field& field);
382
390 Signature(const foxit::pdf::PDFDoc& document, foxit::pdf::objects::PDFDictionary* sig_field_dict);
391
393 ~Signature() {}
394
402 bool IsEmpty() const;
403
409 bool IsSigned();
410
429 void SetDocPermission(DocPermission permission);
430
443 DocPermission GetDocPermission();
444
468 void SetFieldMDPActionFields(const FieldMDPAction& action, const WStringArray& field_array);
469
476 FieldMDPAction GetFieldMDPAction();
477
492 WStringArray GetFieldMDPActionFields();
493
504 void EnableIncrementalSaveForFirstSigning(bool enable_incremental_save);
505
559 common::Progressive StartSign(const wchar_t* cert_path, const WString& cert_password,
560 DigestAlgorithm digest_algorithm, const char* save_path,
561 const void* client_data = NULL, common::PauseCallback* pause = NULL);
562
616 common::Progressive StartSign(foxit::common::file::StreamCallback* cert_file_stream, const WString& cert_password,
617 DigestAlgorithm digest_algorithm, const char* save_path,
618 const void* client_data = NULL, common::PauseCallback* pause = NULL);
619
670 common::Progressive StartSign(const wchar_t* cert_path, const WString& cert_password,
671 DigestAlgorithm digest_algorithm, const wchar_t* save_path,
672 const void* client_data = NULL, common::PauseCallback* pause = NULL);
673
726 common::Progressive StartSign(foxit::common::file::StreamCallback* cert_file_stream, const WString& cert_password,
727 DigestAlgorithm digest_algorithm, const wchar_t* save_path,
728 const void* client_data = NULL, common::PauseCallback* pause = NULL);
729
783 common::Progressive StartSign(const wchar_t* cert_path, const foxit::WString& cert_password,
784 foxit::pdf::Signature::DigestAlgorithm digest_algorithm, foxit::common::file::StreamCallback* stream_callback,
785 const void* client_data = NULL, foxit::common::PauseCallback* pause = NULL);
786
841 common::Progressive StartSign(foxit::common::file::StreamCallback* cert_file_stream, const foxit::WString& cert_password,
842 foxit::pdf::Signature::DigestAlgorithm digest_algorithm, foxit::common::file::StreamCallback* stream_callback,
843 const void* client_data = NULL, foxit::common::PauseCallback* pause = NULL);
844
874 common::Progressive StartVerify(const void* client_data = NULL, common::PauseCallback* pause = NULL);
875
895 String GetCertificateInfo(const char* key);
896
911 bool GetByteRangeArray(uint32 out_byte_range_array[4]);
912
938 uint32 GetState();
939
950 bool ClearSignedData();
951
957 PDFDoc GetDocument();
958
972 PDFDoc GetSignedVersionDocument(const wchar_t* file_path);
973
984 uint32 GetAppearanceFlags();
985
1001 void SetAppearanceFlags(uint32 appearance_flags);
1002
1019 void SetAppearanceContent(const String& appearance_content);
1020
1027 DateTime GetSignTime();
1028
1038 void SetSignTime(const DateTime& sign_time);
1039
1048 String GetFilter();
1049
1070 void SetFilter(const char* filter);
1071
1080 String GetSubFilter();
1081
1102 void SetSubFilter(const char* sub_filter);
1103
1115 WString GetKeyValue(KeyName key);
1116
1131 void SetKeyValue(KeyName key, const wchar_t* value);
1132
1148 void SetKeyLabel(LabelName label_name, const wchar_t* label_value);
1149
1160 WString GetKeyLabel(LabelName label_name);
1161
1168 common::Bitmap GetBitmap();
1169
1182 void SetBitmap(const common::Bitmap& bitmap);
1183
1200 void SetImage(const common::Image& image, int frame_index);
1201
1217 void SetImage(const char* file_path, int frame_index);
1218
1234 void SetImage(const wchar_t* file_path, int frame_index);
1235
1243 objects::PDFDictionary* GetSignatureDict() const;
1244
1260 void SetDefaultContentsLength(uint32 default_length);
1261
1272 int32 GetCertCount() const;
1273
1287 WString GetCert(int32 index) const;
1288
1300 void SetCertChain(const WStringArray& cert_chain);
1301
1308 SignatureType GetSignatureType();
1309
1315 bool IsTimeStamp();
1316
1323 PAdESLevel GetPAdESLevel();
1324
1336 void SetCustomObject(const char* key, objects::PDFObject* pdf_object);
1337
1347 SignatureArray GetPagingSealGroupElements();
1348
1356 bool GenerateAppearance();
1357
1367 PagingSealSignature GetPagingSealSignature();
1368
1378 void EnableEmbedFont(bool enable_embed_font);
1379
1380 #if (_FX_OS_ == _FX_IOS_ || _FX_OS_ == _FX_ANDROID_ || defined(SWIG)) && !defined(_SWIG_JAVA_) && !defined(_SWIG_DOTNET_) && !defined(_SWIG_PYTHON_) && !defined(_OC_) && !defined(_SWIG_MACOC_) && !defined(_MAUI_) && !defined(_SWIG_NODEJS_) && !defined(_SWIG_GO_)
1381
1390 bool DetectModification();
1391 #endif
1392 #ifndef __EMSCRIPTEN_RENDER__
1393 // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
1394 explicit Signature(FS_HANDLE handle = NULL);
1395 #endif
1396 };
1397
1407 class SignatureCallback {
1408 public:
1414 typedef enum _CertValidity {
1416 e_CertValid = 0,
1418 e_CertExpired = 1,
1420 e_CertUnsupportType = 2,
1422 e_CertDataError = 3,
1424 e_CertInvalidPassword = 4,
1426 e_CertInvalidPath = 5,
1428 e_CertNotSet = 6,
1430 e_CertCannotGetPrivateKey = 7
1431 } CertValidity;
1432
1433
1439 virtual void Release() = 0;
1440
1458 virtual bool StartCalcDigest(const common::file::ReaderCallback* file, const uint32* byte_range_array,
1459 uint32 size_of_array, const Signature& signature, const void* client_data) = 0;
1460
1476 virtual common::Progressive::State ContinueCalcDigest(const void* client_data,
1477 const common::PauseCallback* pause) = 0;
1478
1490 virtual String GetDigest(const void* client_data) = 0;
1491
1512 virtual String Sign(const void* digest, uint32 digest_length, const wchar_t* cert_path,
1513 const WString& cert_password, Signature::DigestAlgorithm digest_algorithm,
1514 void* client_data) = 0;
1515
1537 virtual String Sign(const void* digest, uint32 digest_length, foxit::common::file::StreamCallback* cert_file_stream,
1538 const WString& cert_password, Signature::DigestAlgorithm digest_algorithm,
1539 void* client_data) = 0;
1540
1563 virtual uint32 VerifySigState(const void* digest, uint32 digest_length,
1564 const void* signed_data, uint32 signed_data_len,
1565 void* client_data) = 0;
1566
1574 virtual bool IsNeedPadData() = 0;
1575
1591 virtual CertValidity CheckCertificateValidity(const wchar_t* cert_path, const WString& cert_password, void* client_data) = 0;
1592
1593 protected:
1594 ~SignatureCallback() {}
1595 };
1596
1597 class TimeStampServer;
1598
1607 class TimeStampServerMgr FS_FINAL : public Object {
1608 public:
1617 static ErrorCode Initialize();
1627 static void Release();
1628
1634 static int GetServerCount();
1643 static TimeStampServer GetServer(int index);
1651 static int GetServerIndex(const TimeStampServer& server);
1652
1658 static TimeStampServer GetDefaultServer();
1667 static void SetDefaultServer(int index);
1677 static void SetDefaultServer(const TimeStampServer& server);
1678
1689 static TimeStampServer AddServer(const WString& server_name, const WString& server_url, const WString& user_name, const WString& password);
1697 static void RemoveServer(int index);
1707 static void RemoveServer(const TimeStampServer& server);
1708 };
1709
1713 class TimeStampServer FS_FINAL : public Base {
1714 public:
1720 typedef enum _SendRequestResult {
1722 e_SendResultSuccess = 0,
1724 e_SendResultFailToCreateSocket = 1,
1726 e_SendResultFailToConnect = 2,
1728 e_SendResultFailToSendData = 3,
1730 e_SendResultFailToReceiveData = 4,
1732 e_SendResultFailToRequest = 5,
1734 e_SendResultFailToGetData = 6,
1736 e_SendResultOutOfMemory = 7
1737 } SendRequestResult;
1738
1739
1745 TimeStampServer(const TimeStampServer& other);
1746
1754 TimeStampServer& operator = (const TimeStampServer& other);
1755
1763 bool operator == (const TimeStampServer& other) const;
1771 bool operator != (const TimeStampServer& other) const;
1772
1774 ~TimeStampServer();
1775
1783 bool IsEmpty() const;
1784
1793 SendRequestResult SendTimeStampRequest(const String& request);
1794
1802 String GetTimeStampMessage();
1803
1804 // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
1805 explicit TimeStampServer(FS_HANDLE handle = NULL);
1806 };
1807
1812 class TimeStampCallback {
1813 public:
1819 virtual void Release() = 0;
1820
1829 virtual TimeStampServer::SendRequestResult SendTimeStampRequest(const String& request) = 0;
1830
1836 virtual String GetTimeStampMessage() = 0;
1837
1838 protected:
1839 virtual ~TimeStampCallback() {}
1840 };
1841
1846 class PagingSealConfig FS_FINAL : public Object{
1847 public:
1853 typedef enum _PagingSealPosition {
1855 e_PagingSealPositionLeft = 1,
1857 e_PagingSealPositionRight = 2,
1859 e_PagingSealPositionTop = 3,
1861 e_PagingSealPositionBottom = 4
1862 } PagingSealPosition;
1863
1869 typedef enum _PagingSealStyle {
1874 e_PagingSealStyleMultipleSignatures = 0,
1879 e_PagingSealStyleOneSignature = 1
1880 } PagingSealStyle;
1881
1882
1898 PagingSealConfig(PagingSealPosition paging_seal_position, float offset, float first_page_percent, bool is_on_perforation,
1899 PagingSealStyle paging_seal_style = PagingSealConfig::e_PagingSealStyleMultipleSignatures, bool is_display_multiple_seal = false, int page_count_for_each_seal = 30);
1900
1908 PagingSealConfig& operator = (const PagingSealConfig& paging_seal_config) {
1909 this->paging_seal_position = paging_seal_config.paging_seal_position;
1910 this->offset = paging_seal_config.offset;
1911 this->first_page_percent = paging_seal_config.first_page_percent;
1912 this->is_on_perforation = paging_seal_config.is_on_perforation;
1913 this->paging_seal_style = paging_seal_config.paging_seal_style;
1914 this->is_display_multiple_seal = paging_seal_config.is_display_multiple_seal;
1915 this->page_count_for_each_seal = paging_seal_config.page_count_for_each_seal;
1916 return *this;
1917 }
1918
1926 bool operator == (const PagingSealConfig& paging_seal_config) const {
1927 if (this->paging_seal_position == paging_seal_config.paging_seal_position &&
1928 this->offset == paging_seal_config.offset &&
1929 this->first_page_percent == paging_seal_config.first_page_percent &&
1930 this->is_on_perforation == paging_seal_config.is_on_perforation &&
1931 this->paging_seal_style == paging_seal_config.paging_seal_style &&
1932 this->is_display_multiple_seal == paging_seal_config.is_display_multiple_seal &&
1933 this->page_count_for_each_seal == paging_seal_config.page_count_for_each_seal){
1934 return true;
1935 }
1936 return false;
1937 }
1938
1946 bool operator != (const PagingSealConfig& paging_seal_config) const {
1947 if (this->paging_seal_position != paging_seal_config.paging_seal_position ||
1948 this->offset != paging_seal_config.offset ||
1949 this->first_page_percent != paging_seal_config.first_page_percent ||
1950 this->is_on_perforation != paging_seal_config.is_on_perforation ||
1951 this->paging_seal_style != paging_seal_config.paging_seal_style ||
1952 this->is_display_multiple_seal != paging_seal_config.is_display_multiple_seal ||
1953 this->page_count_for_each_seal != paging_seal_config.page_count_for_each_seal) {
1954 return true;
1955 }
1956 return false;
1957 }
1958
1976 void Set(PagingSealPosition paging_seal_position, float offset, float first_page_percent, bool is_on_perforation, PagingSealStyle paging_seal_style,
1977 bool is_display_multiple_seal = false, int page_count_for_each_seal = 30);
1978
1983 PagingSealPosition paging_seal_position;
1995 float offset;
2000 float first_page_percent;
2006 bool is_on_perforation;
2013 PagingSealStyle paging_seal_style;
2019 bool is_display_multiple_seal;
2024 int page_count_for_each_seal;
2025 };
2026
2035 class PagingSealSignature FS_FINAL : public pdf::Signature {
2036 public:
2042 typedef enum _PagingSealAPState {
2044 e_PagingSealAPStateUnknown = 0,
2046 e_PagingSealAPStateUnsigned = 1,
2048 e_PagingSealAPStateSigned = 2,
2050 e_PagingSealAPStateValid = 3,
2052 e_PagingSealAPStateInvalid = 4
2053 } PagingSealAPState;
2054
2055
2057 ~PagingSealSignature() {}
2058
2066 void SetPagingSealConfig(PagingSealConfig paging_seal_config);
2067
2079 void SetAPStateBitmap(PagingSealAPState ap_state, const common::Bitmap& bitmap);
2080
2089 bool GenerateAppearance();
2090
2091 // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
2092 explicit PagingSealSignature(FS_HANDLE handle = NULL);
2093 };
2094
2095 } // namespace pdf
2096 } // namespace foxit
2097 #endif // FS_SIGNATURE_H_
2098
foxit::pdf::PagingSealSignature::e_PagingSealAPStateUnsigned
未签名签名。
Definition: fs_signature.h:2046
foxit::pdf::PagingSealSignature::~PagingSealSignature
~PagingSealSignature()
析构函数。
Definition: fs_signature.h:2057
foxit::FS_HANDLE
void * FS_HANDLE
句柄类型。
Definition: fs_basictypes.h:214
foxit::pdf::TimeStampServerMgr::Release
static void Release()
释放时间戳服务器管理器。
foxit::pdf::PagingSealConfig::e_PagingSealPositionRight
右侧分页印章。
Definition: fs_signature.h:1857
foxit::pdf::TimeStampServer::operator=
TimeStampServer & operator=(const TimeStampServer &other)
赋值操作符。
foxit::pdf::SignatureCallback::VerifySigState
virtual uint32 VerifySigState(const void *digest, uint32 digest_length, const void *signed_data, uint32 signed_data_len, void *client_data)=0
用于验证签名完整性并返回验证状态的回调函数。
foxit::pdf::PagingSealSignature::e_PagingSealAPStateValid
签名的验证状态有效。
Definition: fs_signature.h:2050
foxit::DateTime
Definition: fs_basictypes.h:482
foxit::pdf::TimeStampServer::e_SendResultFailToCreateSocket
在发送请求过程中创建套接字失败。
Definition: fs_signature.h:1724
foxit::pdf::PagingSealConfig::operator==
bool operator==(const PagingSealConfig &paging_seal_config) const
相等操作符。
Definition: fs_signature.h:1926
foxit::pdf::SignatureCallback::Sign
virtual String Sign(const void *digest, uint32 digest_length, const wchar_t *cert_path, const WString &cert_password, Signature::DigestAlgorithm digest_algorithm, void *client_data)=0
用于执行签名并返回签名数据的回调函数。
foxit::pdf::TimeStampServer::IsEmpty
bool IsEmpty() const
检查当前对象是否为空。
foxit::Object
CFX_Object Object
对象类型。
Definition: fs_basictypes.h:221
foxit::common::Progressive
Definition: fs_common.h:373
foxit::pdf::TimeStampServer
Definition: fs_signature.h:1713
foxit::pdf::TimeStampServerMgr::Initialize
static ErrorCode Initialize()
初始化时间戳服务器管理器。
fs_pdfform.h
PDF表单相关定义和类的头文件。
foxit::pdf::SignatureCallback::e_CertInvalidPath
证书路径错误。
Definition: fs_signature.h:1426
foxit::pdf::PagingSealConfig::e_PagingSealStyleOneSignature
仅添加一个签名。此签名用于签名和验证，在PDF文档中将被隐藏。 使用annots::PagingSeal注释显示分页印章签名的外观。
Definition: fs_signature.h:1879
foxit::pdf::TimeStampServerMgr::RemoveServer
static void RemoveServer(int index)
通过索引从管理器中移除时间戳服务器。
IFX_FileStream
文件流接口，用于读取和写入。
Definition: fx_stream.h:692
foxit::pdf::TimeStampServer::operator!=
bool operator!=(const TimeStampServer &other) const
不相等操作符。
foxit::pdf::PagingSealSignature::PagingSealAPState
PagingSealAPState
用于设置外观的分页印章签名状态枚举。
Definition: fs_signature.h:2042
fs_common.h
通用定义和类的头文件。
foxit::pdf::Signature::~Signature
~Signature()
析构函数。
Definition: fs_signature.h:393
foxit::pdf::TimeStampCallback::GetTimeStampMessage
virtual String GetTimeStampMessage()=0
用于获取时间戳消息的回调函数。
foxit::pdf::PagingSealConfig::paging_seal_position
PagingSealPosition paging_seal_position
分页印章的位置。请参考从PagingSealConfig::e_PagingSealPositionLeft 开始的值，这将是这些值中的一个。
Definition: fs_signature.h:1983
foxit::pdf::SignatureCallback::CheckCertificateValidity
virtual CertValidity CheckCertificateValidity(const wchar_t *cert_path, const WString &cert_password, void *client_data)=0
用于检查证书有效性的回调函数。
foxit::pdf::PagingSealConfig::e_PagingSealPositionTop
顶部分页印章。
Definition: fs_signature.h:1859
IFX_FileRead
文件读取接口。
Definition: fx_stream.h:587
fs_file.h
文件操作相关定义和函数的头文件。
foxit::pdf::SignatureCallback::StartCalcDigest
virtual bool StartCalcDigest(const common::file::ReaderCallback *file, const uint32 *byte_range_array, uint32 size_of_array, const Signature &signature, const void *client_data)=0
用于启动自定义摘要计算的回调函数，主要用于初始化计算过程。
foxit::ErrorCode
ErrorCode
错误代码的枚举。
Definition: fs_basictypes.h:237
foxit::pdf::SignatureCallback::CertValidity
CertValidity
证书有效性的枚举。
Definition: fs_signature.h:1414
foxit::pdf::SignatureCallback::e_CertInvalidPassword
证书密码错误。
Definition: fs_signature.h:1424
foxit::pdf::objects::PDFObject
Definition: fs_pdfobject.h:55
foxit::pdf::TimeStampServer::e_SendResultFailToGetData
在发送请求过程中获取数据失败。
Definition: fs_signature.h:1734
foxit::pdf::TimeStampServer::e_SendResultFailToReceiveData
在发送请求过程中接收数据失败。
Definition: fs_signature.h:1730
foxit::pdf::PagingSealConfig::operator=
PagingSealConfig & operator=(const PagingSealConfig &paging_seal_config)
赋值操作符。
Definition: fs_signature.h:1908
foxit::pdf::PagingSealConfig::page_count_for_each_seal
int page_count_for_each_seal
每个印章的页数。此值仅在参数is_display_multiple_seal为true时有用。 此值应大于1。如果最后一个印章的页数为1，它将与前一个印章合并形成一个印章。
Definition: fs_signature.h:2024
foxit::pdf::TimeStampServer::SendRequestResult
SendRequestResult
发送时间戳请求结果的枚举。
Definition: fs_signature.h:1720
foxit::pdf::TimeStampCallback
Definition: fs_signature.h:1812
foxit::pdf::SignatureCallback::Release
virtual void Release()=0
用于释放当前回调对象自身的回调函数。
foxit::pdf::SignatureCallback::e_CertCannotGetPrivateKey
无法获取证书的私钥。
Definition: fs_signature.h:1430
foxit::pdf::SignatureCallback::ContinueCalcDigest
virtual common::Progressive::State ContinueCalcDigest(const void *client_data, const common::PauseCallback *pause)=0
用于继续自定义摘要计算过程的回调函数。
foxit::pdf::interform::Field
Definition: fs_pdfform.h:145
CFX_ByteString
字节字符串类
Definition: fx_string.h:317
foxit::pdf::PagingSealConfig::PagingSealPosition
PagingSealPosition
分页印章位置的枚举。
Definition: fs_signature.h:1853
foxit::pdf::TimeStampServer::e_SendResultFailToConnect
在发送请求过程中连接失败。
Definition: fs_signature.h:1726
foxit::pdf::TimeStampServerMgr::SetDefaultServer
static void SetDefaultServer(int index)
通过索引设置默认时间戳服务器对象。
foxit::pdf::Signature
Definition: fs_signature.h:99
foxit::pdf::TimeStampServer::operator==
bool operator==(const TimeStampServer &other) const
相等操作符。
foxit::pdf::SignatureCallback::e_CertDataError
证书数据错误。
Definition: fs_signature.h:1422
foxit::pdf::SignatureCallback::e_CertExpired
证书已过期。
Definition: fs_signature.h:1418
foxit::pdf::PagingSealSignature::e_PagingSealAPStateUnknown
未知签名。
Definition: fs_signature.h:2044
foxit::pdf::PagingSealConfig::PagingSealStyle
PagingSealStyle
分页印章签名样式的枚举。
Definition: fs_signature.h:1869
foxit::pdf::TimeStampServerMgr::AddServer
static TimeStampServer AddServer(const WString &server_name, const WString &server_url, const WString &user_name, const WString &password)
向管理器添加时间戳服务器。
foxit::pdf::TimeStampServerMgr::GetServerCount
static int GetServerCount()
获取时间戳服务器数量。
foxit
Foxit命名空间。
Definition: fs_taggedpdf.h:27
foxit::pdf::PagingSealConfig::PagingSealConfig
PagingSealConfig(PagingSealPosition paging_seal_position, float offset, float first_page_percent, bool is_on_perforation, PagingSealStyle paging_seal_style=PagingSealConfig::e_PagingSealStyleMultipleSignatures, bool is_display_multiple_seal=false, int page_count_for_each_seal=30)
带参数的构造函数。
foxit::pdf::TimeStampServer::SendTimeStampRequest
SendRequestResult SendTimeStampRequest(const String &request)
发送时间戳请求。
foxit::pdf::PagingSealSignature::GenerateAppearance
bool GenerateAppearance()
生成分页印章签名的外观。
foxit::pdf::PagingSealConfig::offset
float offset
分页印章签名的偏移量。
Definition: fs_signature.h:1995
foxit::pdf::TimeStampServer::GetTimeStampMessage
String GetTimeStampMessage()
获取时间戳消息。
foxit::pdf::PagingSealConfig::operator!=
bool operator!=(const PagingSealConfig &paging_seal_config) const
不相等操作符。
Definition: fs_signature.h:1946
foxit::pdf::PagingSealSignature::e_PagingSealAPStateSigned
已签名签名。
Definition: fs_signature.h:2048
foxit::pdf::PagingSealConfig::is_display_multiple_seal
bool is_display_multiple_seal
决定是否为当前分页印章签名显示多个分页印章外观。true表示显示多个分页印章 外观，每count页使用一个分页印章外观，count由page_count_for_each_seal设置。false表示不...
Definition: fs_signature.h:2019
IFX_Pause
Definition: fx_basic.h:3737
fs_image.h
图像和位图相关定义和类的头文件。
foxit::pdf::objects::PDFDictionary
Definition: fs_pdfobject.h:848
foxit::pdf::PagingSealConfig::Set
void Set(PagingSealPosition paging_seal_position, float offset, float first_page_percent, bool is_on_perforation, PagingSealStyle paging_seal_style, bool is_display_multiple_seal=false, int page_count_for_each_seal=30)
设置值。
foxit::pdf::TimeStampServer::e_SendResultFailToSendData
在发送请求过程中发送数据失败。
Definition: fs_signature.h:1728
foxit::pdf::SignatureCallback::IsNeedPadData
virtual bool IsNeedPadData()=0
用于检查在调用回调函数SignatureCallback::VerifySigState时 是否返回所有带有填充零的内容的回调函数。
foxit::pdf::PagingSealConfig::is_on_perforation
bool is_on_perforation
决定是否切断覆盖每两页左边距或右边距的印章。true表示分页印章签名 将成对添加到页面中，参数paging_seal_position和参数first_page_percent 将不起作用。false表...
Definition: fs_signature.h:2006
foxit::pdf::TimeStampCallback::SendTimeStampRequest
virtual TimeStampServer::SendRequestResult SendTimeStampRequest(const String &request)=0
用于发送时间戳请求的回调函数。
foxit::pdf::PagingSealSignature
Definition: fs_signature.h:2035
foxit::pdf::SignatureCallback::e_CertUnsupportType
证书是不支持的类型。
Definition: fs_signature.h:1420
foxit::pdf::PagingSealSignature::SetAPStateBitmap
void SetAPStateBitmap(PagingSealAPState ap_state, const common::Bitmap &bitmap)
为签名状态的外观设置位图。
NULL
#define NULL
空指针值。
Definition: fx_system.h:792
foxit::pdf::TimeStampServer::e_SendResultFailToRequest
在发送请求过程中请求失败。
Definition: fs_signature.h:1732
foxit::pdf::SignatureArray
Definition: fs_signature.h:37
foxit::pdf::PagingSealConfig
Definition: fs_signature.h:1846
foxit::pdf::PDFDoc
Definition: fs_pdfdoc.h:771
foxit::pdf::PagingSealConfig::paging_seal_style
PagingSealStyle paging_seal_style
分页印章签名的样式。请参考从PagingSealConfig::e_PagingSealStyleMultipleSignatures 开始的值，这将是这些值中的一个。
Definition: fs_signature.h:2013
foxit::pdf::TimeStampCallback::Release
virtual void Release()=0
用于释放当前回调对象自身的回调函数。
foxit::pdf::PagingSealConfig::e_PagingSealPositionBottom
底部分页印章。
Definition: fs_signature.h:1861
foxit::common::Progressive::State
State
进度状态的枚举。
Definition: fs_common.h:380
foxit::int32
FX_INT32 int32
有符号 32 位整数。
Definition: fs_basictypes.h:194
foxit::pdf::PagingSealConfig::e_PagingSealPositionLeft
左侧分页印章。
Definition: fs_signature.h:1855
foxit::common::Image
Definition: fs_image.h:449
foxit::pdf::TimeStampServerMgr::GetServerIndex
static int GetServerIndex(const TimeStampServer &server)
获取指定时间戳服务器对象的索引。
foxit::pdf::Signature::DigestAlgorithm
DigestAlgorithm
签名摘要算法的枚举。
Definition: fs_signature.h:235
foxit::WStringArray
Definition: fs_basictypes.h:228
foxit::pdf::PagingSealSignature::e_PagingSealAPStateInvalid
签名的验证状态无效。
Definition: fs_signature.h:2052
foxit::pdf::TimeStampServer::e_SendResultOutOfMemory
在发送请求过程中内存不足。
Definition: fs_signature.h:1736
foxit::pdf::TimeStampServerMgr::GetServer
static TimeStampServer GetServer(int index)
使用指定索引获取时间戳服务器。
foxit::pdf::TimeStampServer::~TimeStampServer
~TimeStampServer()
析构函数。
foxit::pdf::TimeStampServer::e_SendResultSuccess
成功发送请求。
Definition: fs_signature.h:1722
foxit::pdf::SignatureCallback
Definition: fs_signature.h:1407
foxit::pdf::TimeStampServerMgr::GetDefaultServer
static TimeStampServer GetDefaultServer()
获取默认时间戳服务器对象。
CFX_WideString
宽字符串类
Definition: fx_string.h:1457
foxit::common::Bitmap
Definition: fs_image.h:36
foxit::pdf::TimeStampServerMgr
Definition: fs_signature.h:1607
foxit::pdf::SignatureCallback::GetDigest
virtual String GetDigest(const void *client_data)=0
用于在计算过程完成后获取摘要的回调函数。
foxit::pdf::SignatureCallback::e_CertValid
证书有效。
Definition: fs_signature.h:1416
foxit::pdf::PagingSealSignature::SetPagingSealConfig
void SetPagingSealConfig(PagingSealConfig paging_seal_config)
设置分页印章签名的配置。
foxit::pdf::SignatureCallback::e_CertNotSet
证书未设置为签名。
Definition: fs_signature.h:1428
foxit::pdf::TimeStampServer::TimeStampServer
TimeStampServer(const TimeStampServer &other)
构造函数，使用另一个时间戳服务器对象。
foxit::pdf::PagingSealConfig::first_page_percent
float first_page_percent
第一个分页印章的百分比。其余百分比将由其他分页印章平均分配。 此参数应大于0.0，小于1.0。
Definition: fs_signature.h:2000
foxit::uint32
FX_UINT32 uint32
无符号 32 位整数。
Definition: fs_basictypes.h:196
foxit::Base
Definition: fs_basictypes.h:449
foxit::pdf::PagingSealConfig::e_PagingSealStyleMultipleSignatures
添加多个签名。使用Signature显示分页印章签名的外观， 这些签名共享相同的签名数据。
Definition: fs_signature.h:1874