所以,这就是我们在网站上为用户填写的一堆pdf表单,我们在每个pdf表单中都有一个提交按钮,通过http post方法发送填充数据。我们已经在做一个预先填写的表格,其中用户填写html表格的一般信息,用于生成部分填充的多个pdf文件的数据,因此无论用户选择填写的pdf表单,所有这些都将填写重新生成具有他刚刚在html表单上键入的预填充信息。我通过使用pdftk(http://www.pdflabs.com/docs/pdftk-man-page/)来实现这一目标,这使我能够做到这一点。 但我们明白为了提高效率,用户必须能够在预填表格阶段在html一侧绘制签名,所以我们使用签名垫( http://thomasjbradley.ca/lab/signature-pad/),而不是我们从插件生成的画布创建一个图像。 但由于每个pdf都有自己的签名位置,我们必须在pdf中插入一个占位符,以便替换为签名图像。所以我提出了在pdf上创建一个名为“signature”的禁用文本字段的想法,所以通过带有pdf2json模块(https://github.com/modesty/pdf2json)的nodejs应用程序,我可以解析pdf表单并获取位置该特定字段的(x,y,w,h),能够在文本字段占位符上附加图像。 所以问题是pdftk没有给我支持将图像附加到现有的pdf或甚至将它附加到某个位置,我试图找到一个nodejs模块,这将使我能够做到这一点,但唯一值得我发现的nodejs模块是pdfkit(http://pdfkit.org/),但它只能创建一个新的pdf ,而不是编辑现有的模板,我查看了pdfkit源代码并丢弃它,因为我意识到它不会适用于我现有pdf的情况。 所以我走了很长一段路,到了这个实施的最后阶段,来到最后一步让这个工作,我只是堆栈。
这是我从pdf2json模块获取的有助于占位符方法的nodejs的输出。
{
page: 7,
index: 317,
name: 'signature',
type: 'alpha',
x: 43.806640625,
y: 14.64195833333333,
w: 30.546828125000005,
h: 1.9339166666666756
}
如果有人知道我可以通过我的服务器上的unix命令运行任何服务器应用程序来将图像附加到现有的pdf文档上,那么它将符合我的需要,不需要是一个专门的nodejs模块。
Obs。:我已经检查过adobe echosign产品,但它不符合我们的需求,它不是免费的,也没有解决我们从单个html表单将签名附加到多个pdf文件的问题。 / p>
答案 0 :(得分:9)
我意识到我可以使用nodejs模块pdfkit生成一个新的空白PDF,其签名位于正确的位置,正好位于两个pdf上,空白的pdf,顶部的签名图像就像一个标记。我可以通过命令行使用pdftk执行此操作:
pdftk form.pdf stamp signature.pdf output form-signed.pdf
我刚刚发现了另一个像pdftk这样的免费应用程序工具,它是pdfjam。此外,如果您不能使用nodejs模块pdfkit(与应用程序pdfkt不同)生成带有图像的新pdf到正确的位置,那么您可以使用stampTK工具(http://www.pdflabs.com/tools/stamptk-the-pdf-stamp-maker/)来解析命令行图像是现有pdf中的标记,但是这个工具是付费的(不多,值得),但是因为我有nodejs的pdfkit模块,这使我可以免费使用pdfkt应用程序,我正在使用它,并且我还可以在pdfkit模块上为nodejs更多地控制多个签名。希望这个答案有助于某人。