如何指定文本框以通过API / SDK在PDF上签名?

时间:2016-08-05 21:44:23

标签: docusignapi

我在PDF上的白色背景文本框上有白色文字。该文本框中的文本设置为“<signature>”。这是我希望签名者签名的PDF区域。

请注意,这不是TEXT FIELD,而是TEXT BOX。它们在Adobe PDF中是不同的东西。首先,文本框只有文本,没有像字段那样的实际字段名称。

想要此文本框的特定X和Y坐标。我想要使用DocuSign模板。我确实想使用我们预定义的文本框。我想完全使用API​​ / SDK定义签名区域,并将其与我的文本框相关联。

这是我尝试过的:

我正在使用SDK中的eSign模型。我实例化了一个新的DocuSign.eSign.Model.SignHere对象。我是否需要将此处的标记以某种方式关联到PDF上的文本框?我已经尝试单独设置每个属性(如下所示),但没有得到我预期的结果。同样,我想将DocuSign.eSign.Model.SignHere选项卡与我的PDF上的预定义文本框相关联。

var SignHereTab = new DocuSign.eSign.Model.SignHere();
SignHereTab.TabId = "<signature>";
SignHereTab.Name = "<signature>";
SignHereTab.AnchorCaseSensitive = "<signature>";
SignHereTab.CustomTabId = "<signature>";

或者,我发现这一切都错了?如果我不能用TEXT BOX做这个,我可以用TEXT FIELD吗?如果最好使用FIELD,我使用什么代码将此处的签名选项卡与字段相关联?同样,我宁愿不使用X / Y或模板。

2 个答案:

答案 0 :(得分:1)

我是否理解这是您想要完成的事情?

  • 使用API​​创建信封,并使用您指定为文档的PDF
  • 根据字符串list->tail = NULL; list->head = list->tail; 在PDF中的显示位置自动放置 SignHere 标签

如果是这种情况,那么你会想要使用DocuSign所指的锚文本 - 这是一个字符串,作为普通文本存在于文档中(即,不是 在文本框中,而是作为页面上的普通文本)。 this page的“获取签名文档”部分提供了如何使用锚文本的说明(甚至提供了包含锚文本的示例文档)。该页面的摘录:

<signature>

因此,只需在PDF中将文本字符串Open Mutual_NDA.pdf in a PDF viewer. Search for the strings “signer1name”, “signer1sig”, and “signer1date”. You’ll notice that the search matches but that the text is not visible. These strings are regular text in the document. Their text color has been set to white, so they can’t be see in the document. But DocuSign can find them, and use them as anchor text to place the tabs (the signature, name, and date fields). 添加为白色文本(在白色背景上)即可。然后,在“创建信封”API请求中指定 SignHere 标签时,请为该标签设置以下属性:

<signature>

在“创建信封”请求("recipients": { "signers": [ { "roleName": "Signer1", "recipientId": "1", "name": "John Doe", "email": "johnDoe@test.com", "tabs": { "signHereTabs": [ { "anchorString": "<signature>", "anchorIgnoreIfNotPresent": true, "documentId": "1", "optional": false, "tabLabel": "Signature" } ] } } ] } )中使用时,上面的JSON将导致自动放置(必需的) SignHere 标签收件人 John Doe 字符串POST https://{{env}}.docusign.net/restapi//v2/accounts/{{accountId}}/envelopes出现在文档中的任何位置。

(我对节点SDK不是很熟悉,但我想知道需要设置哪些属性会让你朝着正确的方向前进。)

更新#1

如果签名出现在PDF文本框内很重要,您仍然可以使用锚文本完成此操作。例如,只需将锚文本字符串(例如: )放置在要显示签名标记的文本框下方的PDF中,指定 anchorYOffset 属性即可 anchorUnits 属性告诉DocuSign您希望签名选项卡相对于锚点字符串的位置显示在何处。在该示例中,这是API请求中签名选项卡的结构:

<signature>

最后(供您参考),这是与锚字符串相关的选项卡属性的完整列表:

enter image description here

答案 1 :(得分:0)

我不确定您是否可以使用文本框而不是文本字段来执行此操作。请参阅REST API指南中的此页面:

Document Parameters

仅从表单中推断出下面列出的FieldTypes和FieldProperties:

FieldTypes that are extrapolated are: CheckBox, DateTime, ListBox, Numeric, Radio, Text, Signature, and Password.
FieldProperties that are extrapolated are: ReadOnly, Required, MaxLength, Positions, and Initial Data.

有一个如何在开发中心网站上进行转换的示例(您需要使用复合模板),但如上所述,我认为您需要使用文本字段才能工作。请参阅转换PDF字段部分:

Transform PDF Fields