gpt4 book ai didi

node.js - 将图像附加到现有 PDF 的正确位置

转载 作者:IT老高 更新时间:2023-10-28 23:25:34 26 4
gpt4 key购买 nike

所以,事情就是这样,我们网站上有一堆 pdf 表单供用户填写,每个 pdf 表单内都有一个提交按钮,通过 http post 方法发送填写的数据。我们已经在做一个预填表单,用户在 html 表单上填写一般信息,用于生成部分填充的多个 pdf 文件的数据,所以无论用户选择填写什么 pdf 表单,它们都会使用他刚刚在 html 表单上键入的预填充信息重新生成。我通过使用 pdftk ( http://www.pdflabs.com/docs/pdftk-man-page/ ) 来实现这一点,这使我能够做到这一点。 但是为了提高效率,用户必须能够在预填充表单阶段在 html 端绘制他们的签名,因此我们为此使用签名板 ( http://thomasjbradley.ca/lab/signature-pad/ ),然后我们从插件生成的 Canvas 创建图像。 但由于每个 pdf 都有自己的签名位置,我们必须在 pdf 中插入一个占位符,该占位符将被替换为签名图像。所以我想出了在 pdf 上创建一个名为“签名”的禁用文本字段的想法,因此通过带有 pdf2json 模块(https://github.com/modesty/pdf2json)的 nodejs 应用程序,我可以解析 pdf 表单并获取位置(x ,y,w,h) 的特定字段,能够在文本字段占位符上附加图像。 所以问题是 pdftk 不支持我将图像附加到现有 pdf 或什至将其附加到某个位置,我试图找到一个 nodejs 模块可以让我做到这一点,但唯一我发现的值得的 nodejs 模块是 pdfkit ( http://pdfkit.org/ ),但它只适用于创建一个新的 pdf,而不是编辑一个现有的,我查看了 pdfkit 源代码并丢弃了它,因为我意识到它不会工作我的现有pdf案例。 所以我走了很长一段路,到了这个实现的最后阶段,到了最后一步才能让它工作,我只是堆栈。

这是我从 nodejs 的 pdf2json 模块获得的输出,它有助于使用占位符方法。

{ 
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 文件的问题。

最佳答案

我意识到我可以使用 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 应用程序旁边免费做到这一点,我'我使用它,并且我还可以更好地控制 nodejs 的 pdfkit 模块上的多个签名。希望这个答案对某人有所帮助。

关于node.js - 将图像附加到现有 PDF 的正确位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21545428/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com