将图像附加到正确位置的现有PDF

Cai*_*uts 9 unix pdf pdftk node.js

所以,这就是我们在网站上为用户填写的一堆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模块的nodejs应用程序(https://github.com/modesty/pdf2json),我可以解析pdf形式并获取该特定字段的位置(x,y,w,h),能够在文本字段占位符上附加图像.所以问题是pdftk没有给我支持将图像附加到现有的pdf甚至将它附加到某个位置,我试图找到一个nodejs模块,这将使我能够做到这一点,但唯一值得的nodejs模块我找到的是pdfkit(http://pdfkit.org/),但它只能创建一个新的pdf,而不是编辑现有的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 
}
Run Code Online (Sandbox Code Playgroud)

如果有人知道我可以通过我的服务器上的unix命令运行的任何服务器应用程序将图像附加到现有的pdf文档上,它将满足我的需要,不需要是一个专门的nodejs模块.

Obs.:我已经检查过adobe echosign产品,但它不符合我们的需求,它不是免费的,也没有解决我们从单个html表单将签名附加到多个pdf文件的问题.

Cai*_*uts 9

我意识到我可以使用nodejs模块pdfkit来生成一个新的空白PDF,其签名位于正确的位置,并且恰好位于两个pdf上,其顶部是带有签名图像的空白pdf,如邮票.我可以通过命令行使用pdftk执行此操作:

pdftk form.pdf stamp signature.pdf output form-signed.pdf 
Run Code Online (Sandbox Code Playgroud)

我刚刚发现了另一个像pdftk这样的免费应用程序工具,它​​是pdfjam.此外,如果你不能使用nodejs模块pdfkit(不同于应用程序pdfkt)生成一个带有图像的新pdf到正确的位置,你有stampTK工具(http://www.pdflabs.com/tools/stamptk -the-pdf-stamp-maker /)你可以通过命令行解析图像是现有pdf中的标记,但这个工具是付费的(不多,值得),但是因为我有pdfkit模块对于nodejs,我可以免费使用pdfkt应用程序,我正在使用它,而且我还可以在pdfkit模块上为nodejs更多地控制多个签名.希望这个答案有助于某人.