我一直在使用DocuSign的基于SOAP的API调用" CreateandSendEnvelope"在指定的DocuSign帐户中创建信封。一切似乎工作正常,除了我在为收件人配置标签时遇到困难。我正在使用锚标签以及常规标签。锚标签更容易放置,因为我可以指定标签单元。
我想知道以下内容..
1)对于常规标签(不是锚标签),默认单位是什么?我可以在配置常规标签时指定设备吗?
2)在DocuSign中创建信封时,当我向文档添加新标签时,DocuSign会立即配置标签位置并将位置放在"从左边" "从顶部"字段。
我想知道这些职位的单位。我已尝试将这些位置用作常规和锚标签中的X和Y偏移,但根本不起作用。 如果DocuSign可以提供从这些单位到英寸/厘米/像素的某种转换,那么我们将更容易配置标签位置。
3)我也尝试从使用状态更新API调用创建的信封中检索标记位置,但我也发现了相同的值。
以下是我用来添加标记的代码片段。
If Len(oldtab.AnchorTabString) > 0 Then
'this is an anchor tag
Dim tabitem As DocuSignServ.AnchorTab = New DocuSignServ.AnchorTab
tabitem.AnchorTabString = oldtab.AnchorTabString
If oldtab.AnchorTabUnit = "Inches" Then
tabitem.Unit = UnitTypeCode.Inches
ElseIf oldtab.AnchorTabUnit = "Pixels" Then
tabitem.Unit = UnitTypeCode.Pixels
ElseIf oldtab.AnchorTabUnit = "Centimeters" Then
tabitem.Unit = UnitTypeCode.Cms
ElseIf oldtab.AnchorTabUnit = "Millimeters" Then
tabitem.Unit = UnitTypeCode.Mms
End If
tabitem.UnitSpecified = True
tabitem.XOffset = CDbl(oldtab.XPosition)
tabitem.YOffset = CDbl(oldtab.YPosition)
tabitem.IgnoreIfNotPresent = oldtab.IgnoreIfNotPresent
tab.AnchorTabItem = tabitem
Else
'this is a regular tag
tab.PageNumber = oldtab.PageNumber
tab.XPosition = oldtab.XPosition
tab.YPosition = oldtab.YPosition
End If
请告知..
单宝元
答案 0 :(得分:1)
您的问题的答案:
1)常规(即非锚标签)的默认单位是像素。例如,如果您设置xPosition
= 100且yPosition
= 50,那么这意味着标记将放置在右侧100个像素和文档左上角50个像素的位置。正如API文档所述,默认坐标空间的原点位于文档的左上角(每页)。
2)再次,单位是像素。要测试,您可以为获取收件人 API调用信息,这是我对#3的回答。我刚刚测试了调用,它确实返回了标签位置,以像素为单位:
3)这是您可以进行的API调用:
GET https://{{server}}/restapi/{{apiVersion}}/accounts/{{accountId}}/envelopes/{{envelopeId}}/recipients/{{recipientId}}/tabs
X-DocuSign-Authentication: <DocuSignCredentials><Username>{name}</Username><Password>{password}</Password><IntegratorKey>{integrator_key}</IntegratorKey></DocuSignCredentials>
Accept: application/json
Content-Type: application/json
示例回复:
{
"signHereTabs": [
{
"name": "Sign Here",
"tabLabel": "Signature 1",
"scaleValue": 1.0,
"optional": "false",
"documentId": "1",
"recipientId": "152935b3-ace6-481f-be92-f2785e0bf28c",
"pageNumber": "1",
"xPosition": "474",
"yPosition": "265",
"tabId": "937521e5-7f3a-4a8a-9602-639c63a2b369"
}
]
}
答案 1 :(得分:0)
非常感谢您的详细解答。
为了找出文档上的标记位置,这就是我所做的..
1)我在DocuSign帐户中创建了一个草稿信封,并添加了一些标签 - 常规和锚定。
2)通过单击标签的属性,我得到了标签的位置坐标(以像素为单位)。
3)然后我尝试使用API调用(基于SOAP的API - CreateandSendEnvelope)创建信封,其中 我已经包含了相同的文档,并创建了与草稿信封中相同的标签。 我已经使用从标签属性中检索到的值指定了标签的X / Y坐标 信封草稿。
4)我无法创建信封并收到错误.. &#34;标签位于页面之外。标签&#34; signHere&#34;位于第1页之外。&#34;
5)我也尝试从您指定并尝试过使用的API调用中检索制表位置 这些值使用API调用创建信封,但得到了相同的错误。 我的目标是首先在DocuSign中创建一个信封,并获取所有标签的标签位置,这样我就不会 我必须在使用API调用创建信封时自己配置所有标记。
看起来,我检索的标签位置不是可用于创建信封的实际标签位置 使用API调用!