使用DocuSign在.NET Core+Angular中签署时设置PDF日期字段值
实现方案:DocuSign自动填充日期字段
核心思路
通过DocuSign的Envelope API在创建签署信封时,预先指定日期字段的取值,用户打开签署URL时,该字段会自动填充完成,无需手动输入。
具体步骤(.NET Core后端实现)
- 确认PDF字段标识
- 如果是已配置的模板,记下日期字段的
tabLabel;如果是普通PDF,先通过DocuSign控制台或API识别字段的唯一标识(比如tabLabel)。
- 如果是已配置的模板,记下日期字段的
- 构建信封时添加预填充数据
在创建EnvelopeDefinition对象时,为日期字段赋值(比如当前系统日期):// 假设日期字段的tabLabel为"SignDate",PDF文档ID为"1",字段在第1页 var dateTab = new DateSigned { TabLabel = "SignDate", Value = DateTime.Now.ToString("yyyy-MM-dd"), DocumentId = "1", PageNumber = "1" }; // 将字段关联到签署人 var signerTabs = new Tabs { DateSignedTabs = new List<DateSigned> { dateTab } }; var signer = new Signer { Email = "user@example.com", Name = "签署人姓名", ClientUserId = "unique_user_id", // 嵌入式签署所需的用户标识 Tabs = signerTabs }; // 组装信封并设置发送状态 var envelopeDefinition = new EnvelopeDefinition { EmailSubject = "请签署指定文档", Documents = new List<Document> { /* 你的PDF文档对象 */ }, Recipients = new Recipients { Signers = new List<Signer> { signer } }, Status = "sent" }; - 生成嵌入式签署URL
调用DocuSign的CreateRecipientViewAPI获取签署URL,前端跳转后即可看到已填充的日期字段。
Angular前端配合
后端返回签署URL后,Angular可通过路由跳转或弹窗加载该URL,用户打开页面后,日期字段已自动填充,只需完成其他签署操作即可。
注意事项
- 日期字段的
tabLabel必须与API中配置的完全一致,区分大小写。 - 日期格式需符合DocuSign要求,推荐使用
yyyy-MM-dd或MM/dd/yyyy。 - 若使用模板创建信封,直接在模板的字段配置中设置默认值,也能实现自动填充效果。
内容的提问来源于stack exchange,提问作者Sami In
相关产品推荐
相关产品推荐

