PDF 生成模板编辑器
开源可视化 PDF 生成引擎,支持自定义模板,并提供面向开发者的 API,灵活构建文档生成流程。
WebViewer 同时支持电子签名(绘制/键入/上传)和数字签名(基于证书)。本指南介绍 UI 侧签名 API 与组件。
签名密码学与 PDF 集成位于闭源 Core 引擎。UI 层通过 core 桥接层驱动,并在 viewer 与 document store 中镜像签名状态。
UI.enableSignatureTool(); // useViewer.setDisableSignatureTool(false)
UI.disableSignatureTool(); // useViewer.setDisableSignatureTool(true)UI.setAutoJumpNextSign(true); // useDocument.setAutoJumpNextSign(!!value)启用后,签署一个签名后查看器自动跳到下一个签名字段。
UI.setSignatureDialogTabs(['keyboard', 'trackpad']); // 对话框显示的标签
UI.setEnableSignatureTemplates(true); // 启用签名模板
UI.setSignatureDialogProperties('keyboard', { color: '#000000', lineWidth: 2 }, false);| API | Store action | 用途 |
|---|---|---|
setSignatureDialogTabs(value) | useViewer.setSignatureDialogTabs | 配置签名对话框显示的标签。 |
setEnableSignatureTemplates(value) | useViewer.setEnableSignatureTemplates | 启用/禁用签名模板("mySignatures" 列表 + 创建标签)。 |
setSignatureDialogProperties(type, properties, replace=false) | useViewer.setSignatureDialogProperties | 设置某对话框类型(KEYBOARD/TRACKPAD)的属性(颜色、字体、线宽)。replace 为替换或合并。 |
| 字段 | 用途 |
|---|---|
signatureDialogTabs | 签名对话框显示的标签。 |
signatureDialogProperties | 按标签的属性(KEYBOARD/TRACKPAD 颜色、字体、线宽)。 |
enableSignatureTemplates | 是否启用模板。 |
disableSignatureTool | 是否禁用签名工具。 |
digitalSignature | { preview, certSubject }。 |
selectedSignatureField | 当前选中签名字段。 |
electronicSignaturesList / digitalSignaturesList | 已保存签名列表(持久化到 localStorage)。 |
document store 持有 signatures[]、selectedSignature、trustedCertificateLists[]、pkcs12、disableDigitalSignature、disableElectronicSignature、autoJumpNextSign。
SignCreatePanel.vue(components/Signatures/)——全屏电子签名创建/管理面板。启用模板时两个标签:"mySignatures" 列表和 "create"(键盘/触控板/上传图片子标签)。通过 useViewer.isElementOpen(SIGN_CREATE_PANEL) 切换。SignCreateDialog.vue ——签名创建器的对话框变体,通过 SIGNATURE_DIALOG 切换。DigitalSignCreatePanel.vue / DigitalKeyboardCreatePanel.vue ——数字签名创建(证书/键盘输入)。SignatureContainer.vue(components/SignatureContainer/)——左面板签名标签内容。SignatureToolBar ——签名模式工具栏。相关对话框:SelectSignTypeDialog、SignatureAppearanceDialog、SignatureDetailsDialog、DeleteSignatureDialog、AddDigitalFileDialog、CertificationViewerDialog。
core 桥接层在 instance.Core 上暴露:
| 函数 | 用途 |
|---|---|
handleSign | 应用签名。 |
getSignature / deleteSignature | 获取/删除签名。 |
verifySignature / getVerificationResult | 验证签名。 |
loadCertificates / addToTrustedCertificateLists | 证书管理。 |
checkCertificateIsTrusted | 信任检查。 |
setAutoJumpNextSign | 自动跳转(引擎侧)。 |
UI.enableSignatureTool();
UI.setAutoJumpNextSign(true);UI.setSignatureDialogTabs(['keyboard', 'trackpad', 'upload']);
UI.setSignatureDialogProperties('keyboard', { color: '#0000ff', lineWidth: 3 });
UI.setEnableSignatureTemplates(true);UI.openElement('signCreatePanel');