PDF 生成模板编辑器
开源可视化 PDF 生成引擎,支持自定义模板,并提供面向开发者的 API,灵活构建文档生成流程。
本指南将帮助您将 WebViewer 集成到 Salesforce Lightning 组件中。它将帮助您克隆 Salesforce 示例存储库,并向您展示如何将 WebViewer 集成为 Lightning Web 组件。
运行 WebViewer 需要许可证密钥。您可以参考我们的要求来获取许可证密钥。
有关设置 Salesforce 开发环境的分步帮助,请按照设置开发指南或设置开发 Trailhead 模块中的说明进行操作。这些步骤包括:
要将 ComPDF Web SDK 包部署到您的 Salesforce 组织,请按照以下步骤操作。
从 GitHub 仓库克隆 ComPDF Salesforce SDK 项目:
git clone https://github.com/ComPDFKit/compdf-web-example-salesforce.git在终端中,转到 ComPDF Salesforce SDK 项目文件夹并运行以下命令来安装 npm 模块。
npm installComPDF Salesforce SDK 集成示例现在利用了我们位于 https://static.compdf.com 的服务器提供的 ComPDF Web SDK,这意味着它不再受 Salesforce 的上传资产大小 5MB 限制。
要设置您想要使用的 ComPDF Web SDK 版本,请打开 ./force-app/main/default/lwc/compdfViewer/compdfViewer.js 并编辑第 16 行以设置 ComPDF Web SDK 版本。例如,要使用 2.8.2 版本,您应该将指向 CDN 的 URL 更改为:
在 ./force-app/main/default/lwc/compdfViewer/compdfViewer.js 文件中,将您的 ComPDF 许可证密钥添加到 licenseKey 属性值中。
licenseKey = 'YOUR_LICENSE_KEY'如果您尚未这样做,请向您的目标组织进行身份验证并为其提供别名(以下命令中的 “DevHub” ):
sf org login web --set-default-dev-hub --alias DevHub在打开的浏览器中,输入您的 Dev Hub 组织凭据。成功登录后,您可以关闭浏览器。使用 config/project-scratch-def.json 文件创建一个临时组织,将用户名设置为默认用户名,并为其分配一个别名(以下命令中的 “myScratchOrg” )。
sf org create scratch --definition-file config/project-scratch-def.json --set-default --target-dev-hub DevHub --alias myScratchOrg将应用程序推送到您的临时组织:
sf project deploy start --source-dir force-app --target-org myScratchOrg --concise打开您的临时组织:
sf org open --target-org myScratchOrg(可选)如果您需要上传/保存大文件(超过6MB),建议将您的 Access Token 添加到 ./force-app/main/default/lwc/compdfViewer/compdfViewer.js 文件的 accessToken 属性值中。可以使用以下命令查看您的组织信息,以获取 Access Token :
sf org display --target-org myScratchOrgaccessToken = 'YOUR_ACCESS_TOKEN'接下来,我们仍然需要在您的 Salesforce 组织设置中做一些配置。
ComPDF Salesforce SDK 示例使用了我们第三方服务器提供的资源包,因此需要在 Salesforce 中添加受信任的 URL。要更改默认安全设置,请按照以下步骤操作。
在 Salesforce 中,转到 “安全” > “受信任的 URL” 。
单击 “新建可信 URL” 。
配置 URL 属性:
https://static.compdf.com单击 “保存” 。
现在,您可以在已打开的临时组织中使用 ComPDF Web SDK:


在 Salesforce 中,配置文件用于访问 WebViewer 对象和 API。
iframe 窗口和 document 对象仍然可以通过 contentWindow 和 contentDocument 访问,但运行脚本或监听 iframe 内发生的事件仍然很困难。
使用配置文件可以解决这个问题,有关配置文件的更多详细信息,请参阅相关文档。