You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将渲染为PDF的Visualforce页面通过DocuSign发送电子签名

可行性结论

完全可以实现将动态渲染的Visualforce PDF通过DocuSign发送完成电子签名,无需依赖DocuSign预定义模板。

具体实现方案

下面提供两种生产环境验证过的可行方案:

方案1:Apex直接调用DocuSign REST API实现

  • 首先给目标Visualforce页面添加renderAs="pdf"属性,在Apex控制器中调用PageReference.getContentAsPDF()方法,将加载完所有动态数据的Visualforce页面直接转换为二进制PDF内容,提前校验渲染结果和动态组件的展示是否符合预期。
  • 在Salesforce内配置DocuSign连接的命名凭据,存储API认证密钥等敏感信息,避免硬编码认证参数。
  • 调用DocuSign的信封创建接口,将生成的PDF作为附件传入请求体,直接在请求参数中定义签名人信息、签名标签规则,不需要提前在DocuSign后台创建模板。签名位置可以通过两种方式定义:一是直接指定PDF页面的坐标值,二是在Visualforce页面内提前埋好隐藏的锚点字符(比如\s1),DocuSign会自动识别锚点位置放置签名框,适配动态页数的PDF场景。
  • 配置接口回调规则,当DocuSign侧完成全流程签名后,自动将签署完成的PDF回传到Salesforce关联的业务对象中存档。

方案2:基于DocuSign for Salesforce官方托管包实现

  • 安装官方DocuSign for Salesforce托管包后,无需使用自带的模板发送功能,直接在自定义Apex逻辑中引用包提供的dfsle命名空间下的标准工具类。
  • 将本地生成的Visualforce PDF内容传入dfsle.Attachment类实例,再组装信封对象、收件人对象,调用官方封装好的发送方法,无需自行处理REST API的签名、请求格式适配等底层逻辑。
  • 若需要自定义签名位置,可通过dfsle.Tab类定义签名标签的属性和关联收件人,绑定到对应PDF页面的坐标或者锚点即可。
注意事项
  • 若Visualforce页面引用了外部静态资源、图片,生成PDF时要确保所有资源对当前执行上下文的用户可见,否则会出现PDF渲染缺失的问题。
  • 调用getContentAsPDF()方法在异步上下文(Queueable、Batch Apex)中执行时,要提前校验执行用户的权限,确保其有Visualforce页面和相关业务数据的访问权限。
  • 若PDF页数不固定,优先使用锚文本定位签名位置,比固定坐标的兼容性更高。

内容的提问来源于stack exchange,提问作者jigyasu joshi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 08:27:03