DocuSign C#API(创建标签)

时间:2016-07-27 10:10:44

标签: docusignapi

我正在尝试使用嵌入式发送API更新标签页。

SignHere signHere = new SignHere();
signHere.AnchorString = "Approved by  :";
signHere.AnchorXOffset = "0";
signHere.AnchorYOffset = "-50";

signer.Tabs = new Tabs();
signer.Tabs.SignHereTabs = new List<SignHere>();
signer.Tabs.SignHereTabs.Add(signHere);
envelopesApi.CreateTabs(accountId, envelopeId, "1", signer.Tabs);

代码运行完美,没有错误,但选项卡不会出现在嵌入式发送界面中。我应该如何解决它?

2 个答案:

答案 0 :(得分:1)

也许锚字符串不匹配。我建议一个没有空格或特殊字符的简单锚字符串。

例如,尝试

signHere.AnchorString = "Approved";

如果您有权访问源文档,更好的解决方案是在文档中添加一个小型DSL,例如approval_signer

将该字符串放在希望显示签名者标签的位置。将字符串的文本颜色标记为白色,这样就不会显示。

答案 1 :(得分:0)

经过进一步调查后,我发现上述问题与标记无关。

在与上述相同的方法中,我对文档进行了更新:

Document doc = new Document();
doc.DocumentBase64 = System.Convert.ToBase64String(fileBytes);
doc.Name = docName;
doc.FileExtension = docExtension;
doc.DocumentId = "1";

EnvelopeDefinition envDef = new EnvelopeDefinition();
envDef.Documents = new List<Document>();
envDef.Documents.Add(doc);

envelopesApi.UpdateDocuments(accountId, envelopeId, envDef);

我认为问题中提到的标记会被标记到原始文档而不是更新的文档。

要解决此问题,请在更新之前删除文档:

Document doc = new Document();
doc.DocumentBase64 = System.Convert.ToBase64String(fileBytes);
doc.Name = docName;
doc.FileExtension = docExtension;
doc.DocumentId = "1";

EnvelopeDefinition envDef = new EnvelopeDefinition();
envDef.Documents = new List<Document>();
envDef.Documents.Add(doc);

envelopesApi.DeleteDocuments(accountId, envelopeId, envDef);
envelopesApi.UpdateDocuments(accountId, envelopeId, envDef);