PDF 生成模板编辑器
开源可视化 PDF 生成引擎,支持自定义模板,并提供面向开发者的 API,灵活构建文档生成流程。
使用 getDigitalSignatures() 读取签名,再将返回对象的 signatureIndex 传给 verifyDigitalSignature()。该索引为原生签名索引,不能用过滤或排序后的数组位置代替。
import { CPDFReaderView } from '@compdfkit_pdf_sdk/react_native';
async function verifySignatures(reader: CPDFReaderView) {
const document = reader._pdfDocument;
const signatures = await document.getDigitalSignatures();
for (const signature of signatures) {
const result = await document.verifyDigitalSignature(signature.signatureIndex);
console.log(signature.fieldName, result.signatureValid,
result.documentUnmodified, result.certificateTrusted);
}
}请在阅读器文档加载完成后调用。getDigitalSignatures() 返回 CPDFDigitalSignature[],没有签名时为空数组。签名信息包括字段名、所在页面、位置、签署者、日期、原因、地点和权限。signers 包含签署者验证状态及证书列表。
| 字段 | 说明 |
|---|---|
signatureValid | 密码学签名是否有效 |
documentUnmodified | 签署后文档是否未被修改 |
certificateTrusted | 签署证书是否受当前验证环境信任 |
certificateExpired | 签署证书是否过期 |
timestampTrusted | 时间戳是否受信任 |
timestampSource | 时间来源,参见时间戳章节 |
embeddedTimestampValid | 内嵌时间戳是否有效,可选 |
ltvEnabled | 文档级长期验证材料状态,可选 |
这些结果应分别展示和判断。例如签名有效但证书不受信任时,仍需检查证书链及信任配置。可选字段缺失表示当前结果未提供该信息,不能当作通过。
iOS 可通过 modifications 返回签署后的修改信息,Android 当前返回空数组;不能将空数组作为“文档未修改”的判断依据,应读取验证结果。
验证接口失败时 Promise 会拒绝,不应将调用失败显示为验证通过。长期验证材料与证书信任的区别,参见时间戳与长期验证。