如何在adobe echosign文档中设置Signature占位符的位置

时间:2013-08-23 13:50:54

标签: php adobe echosign

我正在网站上实现echosign api。

我已经从

下载了php脚本

https://github.com/craigballinger/echosign-api-php

我想为我的网站添加嵌入式小部件。我已经实现了这个小部件。

现在在我的情况下,我们为每个订单动态生成文档。是PDF,根据计划可能从3到6页。

现在我想知道如何将签名占位符放在动态文档的特定位置。

在此之前我使用的是docusign,我必须指定X Y坐标来指定文档上签名占位符的位置。

请帮忙。

3 个答案:

答案 0 :(得分:1)

您无法使用X,Y坐标(如DocuSign)以编程方式设置签名字段的位置。我有同样的问题并通过电子邮件发送EchoSign,他们告诉我,你必须使用文本标签作为字段名称。

文件化:http://secure.echosign.com/doc/TextFormsTutorial.pdf

例如,要将签名字段放入文档,请将字段命名为{{_es_:signer:signature}},EchoSign将使用签名字段替换它。

值得注意的是,如果您不将这些文件放入文档中,EchoSign会自动将签名字段附加到文档的末尾。

答案 1 :(得分:0)

您可以使用表单字段图层模板,该模板是可以应用于文档的预定义表单字段位置。有关更多信息,请查看参数formFieldLayerTemplates

https://secure.echosign.com/public/docs/EchoSignDocumentService17#DocumentCreationInfo

答案 2 :(得分:0)

嗨,我处于同样的情况。 我仍然无法使用API​​添加自定义字段。

这是我的代码:

$fields_array = array(
    "fileInfos" => array([
        "transientDocumentId" => $transientDocumentId
    ]),
    "name" => "PDF testing",
    "participantSetsInfo" => array([
        "memberInfos" => array([
            "email" => "myemail@test.com"
        ]),
        "order" => 1,
        "role" => "SIGNER"
    ]),
    "mergeFieldInfo" => array([
          "defaultValue" => "Test",
          "fieldName" => "sigBlock2"
    ]),
    "signatureType" => "ESIGN",
    "state" => "DRAFT" //<-- if I use AUTHORING i can't assign custom fields
);


$postdata = json_encode($fields_array);

$resource = curl_init();

curl_setopt_array($resource, array(
  CURLOPT_URL => "https://api.eu1.echosign.com/api/rest/v6/agreements",
  CURLOPT_HTTPHEADER => $header, //<---contain token etc....
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_POST => true,
  CURLOPT_POSTFIELDS => $postdata,
  CURLOPT_SSL_VERIFYHOST => false,
  CURLOPT_SSL_VERIFYPEER => false
));

$res = curl_exec($resource);

$result = json_decode($res,true);

$id = $result['id'];

然后设置自定义字段:

$fields_array = array(
    "fields" => [array(
        "locations" => [array(
            "height" => 36,
            "left" => 75,
            "pageNumber" => 2,
            "top" => 200,
            "width" => 150
        )],
        "contentType" => "DATA",
        "name" => "sigBlock1",
        "backgroundColor" => "#CCCCCC",
        "inputType" => "TEXT_FIELD",
        "required" => true,
        "visible" => true
    )]

);

$postdata = json_encode($fields_array);

$resource = curl_init();

curl_setopt_array($resource, array(
  CURLOPT_URL => "https://api.eu1.echosign.com/api/rest/v6/agreements/" . $id . "/formFields",
  CURLOPT_HTTPHEADER => $header,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "PUT",
  CURLOPT_POSTFIELDS => $postdata,
  CURLOPT_SSL_VERIFYHOST => false,
  CURLOPT_SSL_VERIFYPEER => false
));

$res = curl_exec($resource);

然后将状态更改为IN_PROGRESS以发送电子邮件:

$fields_array = array(
    "state" => "IN_PROCESS"
);

$postdata = json_encode($fields_array);

$resource = curl_init();

curl_setopt_array($resource, array(
  CURLOPT_URL => "https://api.eu1.echosign.com/api/rest/v6/agreements/" . $id . "/state",
  CURLOPT_HTTPHEADER => $header,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "PUT",
  CURLOPT_POSTFIELDS => $postdata,
  CURLOPT_SSL_VERIFYHOST => false,
  CURLOPT_SSL_VERIFYPEER => false
));

$res = curl_exec($resource);

因此,我收到带有链接的电子邮件以对文档进行签名。...但是我没有看到我的自定义字段!我总是在文档末尾看到默认符号字段。

我在哪里错了?