0

我想利用 Hellosign 创建的可以通过 get / template /:id api 下载的字段,在此处将 pdf 与文档组合在一起,但我在 API 的返回中看到他们使用旧的80 DPI 系统,我只有 o X、Y、宽度、高度,我想将其转换为 72 dpi 格式,例如,如何进行转换以将其注入 PDBox?

GET https://[api key]:@api.hellosign.com/v3/template/[:template_id] "form_fields": [ { "api_id": "b65e03_10", "name": "DepartmentA", "type" :“复选框”,“x”:117,“y”:19,“宽度”:15,“高度”:15,“必需”:false,“组”:“group1”},{“api_id”:“ b65e03_11", "name": "DepartmentB", "type": "checkbox", "x": 118, "y": 41, "width": 15, "height": 15, "required": false, "组”:“group1”},{“api_id”:“0ec7a7_1”,“名称”:“供应商名称”,“类型”:“文本”,“x”:160,“y": 141, "width": 80, "height": 30, "required": true, "group": null }, { "api_id": "0ec7a7_2", "name": "VendorTitle", "type" :“文本”,“x”:160,“y”:181,“宽度”:80,“高度”:30,“必需”:true,“组”:空},{“api_id”:“0ec7a7_3” , "name": "ManagerName", "type": "text", "x": 160, "y": 221, "width": 80, "height": 30, "required": true, "group" :空},{“api_id”:“0ec7a7_4”,“名称”:“ManagerTitle”,“类型”:“文本”,“x”:160,“y”:251,“宽度”:80,“高度” : 30,“必需”:true,“组”:null },{“api_id”:“0ec7a7_5”,“名称”:“DateSigned”,“类型”:“date_signed”,“x”:523,“y”:28, “宽度”:105,“高度”:16,“必需”:真,“组”:空}]

我想在文档中的 PDBox 中注入字段。

4

1 回答 1

0

我相信这也在支持票上进行了讨论,但我也会在此处发布答案,以防其他人想知道这一点。以下是我们的团队提出的计算,以便能够尽可能接近转换坐标。以下内容可能因文件大小而异,但我基于美国标准横向信函文档,其尺寸如下:8.5 x 11,即 612 x 792 DPI。

对于 x 坐标:

这些应该乘以 0.9(0.9 是除以 72/80 时的结果)- 100(因为 x 的旧坐标将从 100 开始)。

示例: 让我们尝试一个带有“x:”450 的示例。

(450 - 100) * 0.9 = 315。所以新系统中的x坐标应该是315

对于 y 坐标: 这些值也应该乘以 0.9(0.9 是除以 72/80 时的结果),然后减去页面大小,具体取决于这些字段所在的页面。对于美国标准字母,页面大小为 792。例如,如果字段在第三页上,那么您将进行相同的计算 - 您要删除的页数的页面大小。

例子:

让我们尝试一个带有“y”的例子:1734

在这种情况下,我们首先需要确认的是该字段在哪个页面中,因为我们在旧系统上没有页面参数。为了知道这一点,我们必须除以页面大小的 y 坐标。所以在这个例子中应该是 1734/792,结果是 2.1893939394。这样我们就知道该字段应该在第二页上。

之后,我们可以检查新坐标:

1734 * 0.9 = 1,560.6(我们可以四舍五入为 1561)

1561 - 792(因为我们需要减去一整页)= 769

如果该字段位于第一页,在这种情况下,只需将 y 的值乘以 0.9。

在这种情况下:218 * 0.9 - 196.1(四舍五入为 196)

添加页面参数

使用新坐标,应指定页面参数。您可以通过除以 y 坐标/页面大小来检查每个字段的页面。

减去签名者索引 在获取模板响应中,签名者索引将从 1 开始。要添加 form_fields_per_document,我们希望签名者索引从 0 开始,因此只需从响应中的所有签名者中减去 1。

旧系统示例:“签名者”:“1”,新系统示例:“签名者”:“0”,

以上内容也取决于文件大小。Form_fields_per_document 坐标系设计用于美国信纸大小的文档,以下转换字段的公式并非在所有情况下都有效 - 但是,如果您尝试将字段放在非标准文件上,它可能会作为起点有用记录并愿意尝试。我们在下面的文章中有关于另一种文档大小的说明https://faq.hellosign.com/hc/en-us/articles/217115577-How-to-use-the-Form-Fields-Per-Document-parameter .

于 2021-12-01T10:18:08.987 回答