Sof*_*ued 15
我知道这是一个迟到的回复,但我找到了一个很好的库,名为 PDF-LIB
它的功能非常丰富;
这是使用它的代码示例
const { PDFDocument } = require('pdf-lib')
const fs = require('fs')
const util = require('util')
const data = {
"name": "Alice Alley",
"dateOfBirth": "01/01/1990",
"favoriteFood": "Glue"
}
async function createPdf(input, output) {
const readFile = util.promisify(fs.readFile)
function getStuff() {
return readFile(input)
}
const file = await getStuff()
const pdfDoc = await PDFDocument.load(file)
const form = pdfDoc.getForm()
Object.keys(data).forEach((element) => {
const field = form.getTextField(element)
field.setText(data[element])
})
const pdfBytes = await pdfDoc.save()
fs.writeFile(output, pdfBytes, () => {
console.log('PDF created!')
})
}
createPdf("input.pdf", "output.pdf")
// PDF library https://pdf-lib.js.org/
// PDF form creation https://www.pdfescape.com/Run Code Online (Sandbox Code Playgroud)
实际上,您需要在 PDF 文件中创建一个表单,然后为每个字段指定一个名称,以便使用代码引用它。
PDF Escape 是一个网站,您可以上传 PDF,然后使用“表单字段”按钮在其上创建一个表单...在每个字段上右键单击并选择“对象属性...”,然后为该字段指定一个名称稍后您将通过代码引用,然后保存文件,下载并将其放在项目目录中。
注意:如果您希望字段不可编辑并且仅由脚本填充,则还需要在“对象属性...”中将字段设置为“只读”。
之后,将输入文件名以及输出名称提供给 createPdf 函数。
数据对象包括将键作为 PDF 文档中的字段名称以及将值作为您稍后要放入文档中的值。
rsp*_*rsp 12
在npm上查看以下模块:
它node-pdffiller是PDF工具包PDFtk的包装器:
在PDFKit的网站上有很多很好的文档:
这些模块具有不同的功能和API.你应该找到适合你需求的东西.
还有一篇很好的文章:
Mar*_*ens 12
对于仍在寻找解决方案的任何人,请查看 pdf-lib ( https://pdf-lib.js.org / https://www.npmjs.com/package/pdf-lib )。
关于如何使用 pdf-lib Node.js 包填写 PDF 表单文本字段有一个很好的主题:https : //github.com/Hopding/pdf-lib/issues/48