【问题标题】:DocuSign - Tag placementDocuSign - 标签放置
【发布时间】:2014-03-27 15:39:01
【问题描述】:

我一直在使用 DocuSign 的基于 SOAP 的 API 调用“CreateandSendEnvelope”为指定的 DocuSign 帐户创建一个信封。一切似乎都工作正常,除了我在为收件人配置标签时遇到了困难。我正在使用锚标签以及常规标签。锚标签更容易放置,因为我可以指定标签单元。

我想知道以下内容..

1) 对于常规标签(不是锚标签),默认单位是什么?配置常规标签时可以指定单位吗?

2) 在DocuSign 中创建信封时,当我向文档添加新标签时,DocuSign 会立即配置标签位置并将位置放在“从左到右”和“从顶部”字段中。

我想知道这些职位的单位。我曾尝试将这些位置用作常规标签和锚标签中的 X 和 Y 偏移量,但根本没有用。 如果 DocuSign 可以提供从这些单位到英寸/厘米/像素的某种转换,那么我们配置标签位置会容易得多。

3) 我也尝试从使用状态更新 API 调用创建的信封中检索标签位置,但在那里我也找到了相同的值。

这是我用来添加标签的代码的 sn-p..

    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

请指教..

最小

【问题讨论】:

    标签: soap tags docusignapi


    【解决方案1】:

    回答您的问题:

    1) 常规(即非锚标签)的默认单位是像素。例如,如果您设置xPosition = 100 和yPosition = 50,则这意味着标签将被放置在文档右侧 100 像素和左上角 50 像素处。正如 API 文档所述,默认坐标空间的原点位于文档(每个页面)的左上角。

    2) 再次强调,单位是像素。要进行测试,您可以进行 Get Tab Information for Recipient 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"
        }
      ]
    }
    

    【讨论】:

    • 非常感谢您的详细回答。
    • 没问题。如果它回答了您的问题,您可以接受答案吗?谢谢
    【解决方案2】:

    非常感谢您的详细回答。

    为了找出文档上的标签位置,这就是我所做的......

    1) 我在我的 DocuSign 帐户中创建了一个草稿信封,并添加了一些标签 - 常规标签和锚定标签。

    2) 通过点击标签的属性,我得到了标签的位置坐标(以像素为单位)。

    3) 然后我尝试使用 API 调用(基于 SOAP 的 API - CreateandSendEnvelope)创建一个信封,其中 我已包含相同的文档并创建了与草稿信封中相同的标签。 我已经使用从标签属性中检索到的值指定了标签的 X/Y 坐标 草稿信封。

    4) 我无法创建信封并出现错误.. “选项卡位于页面之外。选项卡“signHere”位于页面 1 之外。”

    5) 我还尝试从您指定并尝试使用的 API 调用中检索制表符位置 那些使用 API 调用创建信封但得到相同错误的值。 我的目标是首先在 DocuSign 中创建一个信封并获取所有标签的标签位置,这样我就不会 当我使用 API 调用创建信封时,必须自己配置所有标签。

    看起来,我检索到的标签位置并不是可用于创建信封的实际标签位置 使用 API 调用!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多