Docusign:如何为单个文档依次应用多个服务器模板
解决DocuSign服务器模板叠加后签名位置偏移问题
你的问题核心在于:两个服务器模板的签名位置采用绝对页码定位,当你把它们同时应用到同一个组合文档时,模板B的签名仍会指向文档的第5页(而非期望的第8页),因为它不会自动叠加模板A对应的文档页数。
两种可行解决方案
方案1:拆分文档为多个复合模板
将组合文档拆分为与原模板对应的段落,每个段落对应一个独立的复合模板并按顺序排列,模板的页码会基于各自的文档段计算,自然实现偏移:
{ "compositeTemplates": [ // 对应模板A:组合文档前3页 { "composite_template_id": "1", "document": { "document_base64": "...", // 组合文档前3页的Base64编码 "document_id": "1", "file_extension": "pdf", "name": "Part A.pdf" }, "server_templates": [ { "sequence": "1", "template_id": "e9e2******" // 模板A的ID } ], "inline_templates": [ { "sequence": "2", "recipients": { "signers": [ { "client_user_id": "2", "email": "bobtest@example.com", "name": "Bob Test", "recipient_id": "2", "role_name": "Signer" } ] } } ] }, // 对应模板B:组合文档后5页 { "composite_template_id": "2", "document": { "document_base64": "...", // 组合文档后5页的Base64编码 "document_id": "2", "file_extension": "pdf", "name": "Part B.pdf" }, "server_templates": [ { "sequence": "1", "template_id": "e269******" // 模板B的ID } ], "inline_templates": [ { "sequence": "2", "recipients": { "signers": [ { "client_user_id": "2", "email": "bobtest@example.com", "name": "Bob Test", "recipient_id": "2", "role_name": "Signer" } ] } } ] } ] }
- 注意保持两个复合模板中签署人的
recipient_id一致,确保DocuSign识别为同一个签署人。 - 模板B的签名位置(原模板的第5页)会对应到整个组合文档的第3+5=8页。
方案2:改用锚点文本定位签名
修改两个服务器模板的签名位置,从绝对页码改为锚点字符串:
- 编辑模板A:将签名位置的定位方式改为锚点,设置锚点文本(比如
{{sign_here_A}}),删除原绝对页码设置。 - 编辑模板B:同理设置锚点文本(比如
{{sign_here_B}})。 - 在你的组合文档中,第3页插入
{{sign_here_A}},第8页插入{{sign_here_B}}(可设为白色字体隐藏)。 - 沿用你原来的复合模板结构即可,DocuSign会自动将签名定位到对应锚点位置,无需关心文档总页数。
这种方案更灵活,后续文档页数调整时无需修改模板或复合模板结构。
内容的提问来源于stack exchange,提问作者Tommy McAsks
相关产品推荐
相关产品推荐

