PDF 生成模板编辑器
开源可视化 PDF 生成引擎,支持自定义模板,并提供面向开发者的 API,灵活构建文档生成流程。
签署 PDF 前,准备包含私钥的 PKCS#12 文件(.p12 或 .pfx)及密码。以下静态接口由 ComPDFKit 提供,使用前应完成 SDK 许可证初始化。
import { ComPDFKit, CPDFCertificateUsage }
from '@compdfkit_pdf_sdk/react_native';
async function createCertificate(outputPath: string, password: string) {
const success = await ComPDFKit.generatePkcs12Certificate({
subject: { commonName: 'Document Signer',
organization: 'Example Company', country: 'CN' },
password, outputPath,
usage: CPDFCertificateUsage.DIGITAL_SIGNATURE,
});
if (!success) throw new Error('生成证书失败');
}commonName、非空密码和输出路径为必填项。父目录必须存在且可写;可选主题字段包括 state、locality、organizationalUnit 和 email。usage 可使用 DIGITAL_SIGNATURE、DATA_ENCRYPTION 或 ALL,默认用于数字签名。
生成的证书适合测试或由应用管理的签署流程。需要接收方认可的身份时,应按业务要求使用受信任机构签发的证书。
import { ComPDFKit } from '@compdfkit_pdf_sdk/react_native';
async function readCertificate(path: string, password: string) {
if (!await ComPDFKit.checkPkcs12CertificatePassword(path, password)) {
throw new Error('证书密码校验失败');
}
const info = await ComPDFKit.loadPkcs12Certificate(path, password);
if (info === null) throw new Error('读取证书失败');
return info;
}返回的 CPDFCertificateInfo 包括主题、颁发者、有效期、序列号、密钥类型、签名算法、摘要及 isTrusted、isExpired。部分信息可能缺失,应按可选字段处理,不输出证书密码或私钥到日志。
import { ComPDFKit } from '@compdfkit_pdf_sdk/react_native';
async function trustCertificate(certificatePath: string, password: string) {
const success = await ComPDFKit.addTrustedCertificate(certificatePath, password);
if (!success) throw new Error('添加可信证书失败');
}使用可访问的本地 PKCS#12 证书路径及密码。此操作影响应用内 SDK 的验证信任,不会使其他设备或接收方自动信任该证书。各接口可能返回 false、null 或拒绝 Promise,需分别处理。