在线填写PDF表单 — 输入、保存、扁平化
在浏览器中填写PDF的AcroForm字段,保存为可编辑或扁平化的PDF
在浏览器中处理 · 不上传任何内容
把要填写的 PDF 表单拖到这里
请添加一个 PDF(最大 100 MB)。添加新文件会替换当前文件。文件不会离开你的浏览器。
这是什么工具
这个工具无需打印就能填写申请表、学校表格、公司模板等PDF表单。上传PDF后,所有字段按页列出:输入文字、勾选复选框、选择选项,然后保存为新的PDF。如果字段名是 topmostSubform[0].Page1[0].Name[0] 这样的技术名称,会改为显示表单的提示文字或名称的最后一部分。
使用方法
- 把一个PDF表单拖到框里,或点击 选择 PDF。
- 按页填写列出的字段:在文本框中输入,点击复选框,选择单选、下拉和列表选项。
- 如果不希望别人修改,打开 填写后扁平化(收件人无法修改)。
- 点击 保存 PDF 并下载结果。下方会显示包含修改字段的页面预览。
- 点击 恢复原始值 可以重新开始。
处理规则
- 读取字段:pdf-lib读取AcroForm字段的类型(文本、复选框、单选、下拉、列表、签名、按钮)、当前值、选项,以及只读、必填、多行和最大长度等标志。签名和按钮字段只显示说明。
- 外观:修改过的字段和没有外观的字段会重新绘制。表单设置了NeedAppearances(要求阅读器重绘)时,已存的外观可能过时或为空,因此所有文本和选择字段都会重绘,包括未修改的字段。之后会关闭NeedAppearances,让所有阅读器显示一致。没有该标志的表单中,未修改的字段保持原样。
- 字体:拉丁文字使用Helvetica,日文假名和韩文嵌入Noto Sans KR子集。汉字、西里尔字母和阿拉伯字母不在字体中,会保存在数值里但可能无法显示。
- 字数限制按PDF阅读器的方式计数(UTF-16单位):一个汉字算1个,一个表情符号算2个。
- XFA:同时含有XFA数据的表单,保存时删除XFA部分,数值写入普通字段。纯XFA动态表单没有可列出的字段。
- 扁平化与PDF扁平化工具相同(ISO 32000-1第12.5.5节):把字段外观绘制到页面上并删除表单。
- 使用的库:pdf-lib(MIT)、@pdf-lib/fontkit(MIT)、Noto Sans KR(SIL OFL 1.1),预览使用PDF.js(Apache-2.0)。
设置示例
| 目的 | 操作 |
|---|---|
| 填好申请表后用邮件发送 | 填写,打开扁平化,保存 |
| 交给同事继续填写 | 填写后不扁平化直接保存 |
| 只勾选几个选项 | 点击复选框后保存 |
| 还要加上签名 | 先保存表单,再用PDF签名工具放置签名 |
要给填好的表单签名,请使用PDF签名工具;要锁定已经填好的表单,请使用PDF扁平化工具。
常见问题
哪些PDF表单可以填写?
带有可交互字段(AcroForm)的PDF。文本框、多行文本框、复选框、单选按钮、下拉列表和列表框都会被识别并列出。没有字段的扫描纸质表单会提示“没有字段”,这类文件可以用PDF加水印或PDF签名工具放置文字或图片。
用中文填写,别的阅读器能正常显示吗?
不一定。保存时会重新绘制每个修改过的字段的外观,但用于绘制的字体只包含拉丁字母、数字、日文假名和韩文,没有汉字。中文数值会保存在表单数据中,结果里会列出字体缺少的字符;在依赖已存外观的阅读器(浏览器、手机等)里,这些字可能显示为方框。英文、数字、日期和勾选不受影响。
收件人能修改填写的内容吗?
默认表单保持可交互,所以可以修改。打开“填写后扁平化”,数值会成为页面的一部分,表单也会被删除。
为什么合计字段不会自动计算?
出于安全考虑,表单脚本(JavaScript计算和校验)不会运行。合计等计算字段请自己填写。
有字数限制的字段怎么办?
字段名旁边会显示上限,超长的内容会在保存前提示。只读字段无法修改。空着的必填字段会列出来提醒你,但不会阻止保存。