使用C# DocuSign SDK添加SignHereTabs后文档样式丢失问题
DocuSign添加签署位置后HTML文档样式丢失问题
- 用DocuSign SDK发送HTML文档时,不指定签署位置的情况下,CSS样式完全生效,显示效果符合预期。
- 但添加SignHere Tab指定签署位置(代码如下)后,文档所有样式丢失,变成仅左对齐的纯文本长文档,连HTML表格都消失了。
SignHere signHere = new SignHere { DocumentId = "1", AnchorString = "Signature obligatoire", AnchorXOffset = "3", AnchorYOffset = "10", AnchorUnits = "pixels" }; envelopeDefinition.Recipients = new Recipients { Signers = new List<Signer>() { new Signer { Email = "test@test.com", Name = "test", RecipientId = "1", RoutingOrder = "1", Tabs = new Tabs { SignHereTabs = new List<SignHere> { signHere }, } } } };
- 已尝试启用/禁用响应式签署,问题未解决。
- 补充:在DocuSign账户中查看该文档时显示正常,但进入签署环节后样式丢失。
效果对比:
- 期望效果:符合预期的格式化文档
- 签署时实际效果:签署环节的纯文本效果
解决方案建议
改用内联样式
DocuSign签署环节的渲染引擎对外部/内部样式表支持有限,把CSS样式直接写在HTML元素的style属性里,比如<div style="margin: 10px; padding: 5px;">,替代<style>标签或外部CSS文件。优化锚点字符串的存在形式
确保锚点字符串"Signature obligatoire"是独立的纯文本节点,不要被嵌套在复杂HTML元素(如<span>、<div>)里,也不要被CSS样式隐藏或变形,避免DocuSign定位锚点时破坏文档结构。设置HTML转换参数
创建信封时添加HtmlSettings配置,强制固定格式渲染:
envelopeDefinition.HtmlSettings = new HtmlSettings { DisplayFormat = "fixed", Scale = "100" };
这个配置能让DocuSign按原始HTML的固定布局渲染,减少样式丢失概率。
- 逐步排查冲突
先简化HTML文档,只保留基础文本、锚点字符串和简单表格,确认添加签署位置后样式正常,再逐步恢复复杂样式和结构,定位导致冲突的具体代码块。
内容的提问来源于stack exchange,提问作者ayoub_dkhissi
相关产品推荐
相关产品推荐

