PDF 表单批量填写

用一个 PDF 表单模板 + 一组记录数组,每条记录生成一个已填 PDF(ZIP)或合并 PDF

一次操作用一个模板填充多条记录。每条记录填充模板的一个全新副本,结果以 ZIP(每记录一个 PDF)或合并 PDF 返回。是单文件表单填写器的配套批量工具。基于 pdf-lib + JSZip 的纯 JS 实现。

示例结果

2 个示例

邮件合并证书为 ZIP

用 3 条记录填充证书模板,返回每人一个 PDF 的 ZIP 包。

pdf-form-fill-batch-example1.zip 查看文件
查看输入参数
{ "templatePdf": "/public/samples/pdf/certificate-template.pdf", "recordsJson": "[{\"name\":\"Alice Zhang\",\"course\":\"Advanced TypeScript\",\"date\":\"2026-06-16\"},{\"name\":\"Bob Chen\",\"course\":\"Go Fundamentals\",\"date\":\"2026-06-16\"},{\"name\":\"Carol Lee\",\"course\":\"Rust Systems\",\"date\":\"2026-06-16\"}]", "outputMode": "zip", "nameField": "name", "flattenEach": true }

合并发票为单个 PDF

用多条记录填充发票模板,返回单个合并后的 PDF。

pdf-form-fill-batch-example2.pdf 查看文件
查看输入参数
{ "templatePdf": "/public/samples/pdf/invoice-template.pdf", "recordsJson": "[{\"invoice_no\":\"INV-001\",\"client\":\"Acme\",\"total\":1500},{\"invoice_no\":\"INV-002\",\"client\":\"Globex\",\"total\":2300}]", "outputMode": "merge", "nameField": "invoice_no", "flattenEach": true }

Click to upload file or drag and drop file here

Maximum file size: 50MB Supported formats: application/pdf

JSON array of objects. Each object fills one copy of the template.

Record field used to name each output PDF in ZIP mode

Flatten each filled form so it is non-editable

关键信息

分类
文档与 PDF
输入类型
file, textarea, select, text, checkbox
输出类型
file
样本覆盖
4
支持 API
Yes

概览

PDF表单批量填写工具支持上传一个含有交互式表单域的PDF模板,并结合JSON格式的结构化数据,一键批量生成多个已填充的PDF文件。您可以选择将生成的PDF打包为ZIP压缩包下载,或直接合并为一个连续的PDF文档,同时支持表单扁平化以防止内容被二次篡改。

适用场景

  • 需要根据员工或学员名单批量生成个性化的PDF证书、奖状或聘书时。
  • 需要将系统导出的多条业务数据(如发票、对账单、合同)批量套打到指定的PDF表单模板中时。
  • 需要将批量生成的PDF表单进行扁平化处理,使其变为不可编辑的只读文档以供安全分发时。

工作原理

  • 上传包含交互式表单字段(AcroForm)的 PDF 模板文件。
  • 在文本框中输入或粘贴包含多条填充数据的 JSON 数组,确保 JSON 键名与 PDF 表单字段名一致。
  • 选择输出模式(ZIP 压缩包或合并 PDF),并设置是否启用“逐个扁平化”以锁定表单内容。
  • 点击生成,系统将在浏览器本地完成批量填充并自动下载生成的文件。

使用场景

批量生成培训证书:上传证书 PDF 模板,导入学员姓名和课程名称的 JSON 列表,批量导出每位学员的专属 PDF 证书。
批量开具业务发票:使用标准发票 PDF 模板,结合多笔交易数据的 JSON 数组,一键合并生成一份包含所有发票的 PDF 文档。
批量签署标准化合同:将客户信息批量填充至合同模板中,并自动进行扁平化处理,生成不可篡改的 PDF 合同文件。

用户案例

1. 批量生成培训结业证书

培训机构教务老师
背景原因
教务老师需要在课程结束后,为多名学员快速制作并分发个性化的结业证书。
解决问题
手动逐个填写 PDF 证书效率低下,且容易出现拼写错误。
如何使用
上传证书 PDF 模板,在记录 JSON 中输入学员信息数组,设置输出模式为 ZIP,并指定名称字段为 'name',最后点击生成。
示例配置
[
  {"name":"张伟","course":"高级 TypeScript 实战","date":"2026-06-16"},
  {"name":"李娜","course":"Go 语言基础","date":"2026-06-16"}
]
效果
系统输出一个 ZIP 压缩包,解压后包含 '张伟.pdf' 和 '李娜.pdf',证书中的姓名和课程信息已自动填好且不可编辑。

2. 合并生成客户对账单

财务专员
背景原因
财务专员需要为多位客户生成当月对账单,并合并为一个 PDF 文件以便于统一打印和存档。
解决问题
需要将多条客户账单数据套打到相同的 PDF 模板中,并融合成一个文件。
如何使用
上传对账单 PDF 模板,粘贴客户账单数据的 JSON 数组,将输出模式选择为“合并 PDF”,开启“逐个扁平化”,然后运行生成。
示例配置
[
  {"invoice_no":"INV-2026-001","client":"甲公司","total":15000},
  {"invoice_no":"INV-2026-002","client":"乙公司","total":23000}
]
效果
生成一个合并后的 PDF 文件,包含所有客户的对账单页面,且表单内容已锁定,无法被修改。

用 Samples 测试

json, pdf, file

相关专题

常见问题

如何确保 JSON 数据能正确填充到 PDF 表单中?

请确保 JSON 对象的键名(Key)与 PDF 模板中表单域的实际名称(Name)完全一致。

什么是“逐个扁平化”选项?

勾选该选项后,生成的 PDF 将把表单域转换为普通文本和图形,使其无法再被编辑或修改。

在 ZIP 模式下,如何自定义每个 PDF 文件的名称?

您可以通过“名称字段”指定 JSON 中的某个键(如 name 或 id),系统将使用该键对应的值作为文件名。

这个工具会把我的数据上传到服务器吗?

不会。该工具基于纯前端技术在您的浏览器本地运行,所有 PDF 处理和打包操作均在本地完成,数据不会发送到任何服务器。

支持哪些输出格式?

支持将每条记录生成独立的 PDF 并打包为 ZIP 压缩包,或者将所有生成的 PDF 合并为一个单一的 PDF 文件。

API 文档

请求端点

POST /zh/api/tools/pdf-form-fill-batch

请求参数

参数名 类型 必填 描述
templatePdf file (需要先上传) -
recordsJson textarea JSON array of objects. Each object fills one copy of the template.
outputMode select -
nameField text Record field used to name each output PDF in ZIP mode
flattenEach checkbox Flatten each filled form so it is non-editable

文件类型参数需要先通过 POST /upload/pdf-form-fill-batch 上传获取 filePath,然后将 filePath 传递给对应的文件字段。

响应格式

{
  "filePath": "/public/processing/randomid.ext",
  "fileName": "output.ext",
  "contentType": "application/octet-stream",
  "size": 1024,
  "metadata": {
    "key": "value"
  },
  "error": "Error message (optional)",
  "message": "Notification message (optional)"
}
文件: 文件

AI MCP 文档

将此工具添加到您的 MCP 服务器配置中:

{
  "mcpServers": {
    "elysiatools-pdf-form-fill-batch": {
      "name": "pdf-form-fill-batch",
      "description": "用一个 PDF 表单模板 + 一组记录数组,每条记录生成一个已填 PDF(ZIP)或合并 PDF",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=pdf-form-fill-batch",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

你可以串联多个工具,比如:`https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`,最多20个。

支持 URL 文件链接或 Base64 编码作为文件参数。

如果遇见问题,请联系我们:[email protected]