填写 PDF 表单
在表单自身的字段里输入,把答案保存进文件。
这款工具完全在你的浏览器中运行。文件从不上传,你可以在浏览器的网络标签中亲自验证这一点。 亲自验证:打开浏览器的网络标签观察。你会看到一个查询你是否还有剩余任务的小请求,只包含工具名称和一段哈希,绝不会包含文件。
这款工具的作用
A fillable PDF carries its own questions. Each box on the page is a named field, and filling one writes a value into the document rather than painting text over it. This tool reads the fields out of the file you drop in, gives you a control for each one typed to what that field actually is - a text box, a tick, a set of radio buttons, a dropdown, a list - and writes your answers back into the same document. The result is still a form afterwards, unless you ask for it to be flattened.
Use it for the forms that arrive by email and are meant to go back the same way: a tax declaration, a bank mandate, a school enrolment sheet, a supplier onboarding pack. It is also the right tool when a reader on your phone will not let you type into a form that Acrobat fills without complaint, which usually means the reader cannot draw the field's appearance rather than that the form is broken.
工作原理
- Drop the PDF onto this page. Its fields are read and listed with whatever values are already in them.
- Work down the list. Each field gets the control its type calls for, and the field's tooltip is shown where the document provides one.
- Decide whether to flatten. Left off, the answers stay editable; turned on, they are drawn into the page and the fields are removed.
- Leave the font embedded if any answer uses accents or a non-Latin script.
- Press Fill form and the download starts on its own.
Answers are written as field values, which is what makes them behave like answers. A recipient's reader shows them in the field, a form-data export picks them up, and anyone with the same document can correct a typo without redoing the page. Drawing text on top - what happens when you fill a form in an image editor or with a generic PDF annotator - looks identical on screen and does none of it.
Appearance streams are regenerated field by field rather than in one pass, and then the document's /NeedAppearances flag is cleared. That flag tells a reader to throw away the streams and draw its own, which is exactly how a filled form ends up looking different in Acrobat, Preview and Chrome. Doing the fields one at a time means an odd field that cannot be drawn costs that field's appearance instead of the whole job, and the count of skipped fields is reported rather than hidden.
Some fields refuse a value, and the tool carries on. A read-only field, or a dropdown given a value that is not in its option list, is counted as skipped and the other forty answers are still written. Values naming a field this document does not have are dropped quietly, because that is almost always what is left over after swapping one file for another.
Embedding a font matters more than it sounds. With it on, Noto Sans is embedded - around 2 MB, served from this site's own origin and cached after the first use - so an answer containing an accent, Greek or Cyrillic appears as you typed it. With it off, the reader's built-in Helvetica is used, which adds no bytes but can only encode WinAnsi. Neither covers CJK, Arabic or Indic.
Nothing is uploaded, which for this tool is worth more than usual: the answers on a form are frequently a full name, an address, a bank account and a date of birth. The document and everything you type into it stay in the browser tab, the fill runs in a Web Worker, and the only thing the network tab shows is the allowance check - a tool name and a hash, never a field you filled in.
这款工具做不到的事
- A document with no form fields cannot be filled here. Use Create a PDF form to add fields first, or Edit PDF to draw text onto the page.
- XFA forms are not supported. Their fields live in an XML stream rather than in the PDF, which is why they show a "please wait" page in most readers; only Acrobat and the newest LiveCycle-aware readers can fill them.
常见问题
- 为什么它说我的 PDF 没有表单字段?
- 因为你看到的那些框和线是印上去的,而不是定义出来的。只有文件带有命名的字段对象时,表单才可填写,而扫描件或导出的设计稿再像表单也没有这些字段。用创建 PDF 表单添加真正的字段,或者若只是一次性需要,用编辑 PDF 在页面上打字。
- 发送前我该拼合表单吗?
- 当答案离开你之后不能再改动时就拼合——签署过的声明、已提交的申领、任何要进归档的东西。如果收件人可能需要改动某个字段或填完其余部分,就别拼合。拼合会把当前值绘制进页面并移除字段,因此无法从输出文件撤销;只要有一点修改的可能,就保留未拼合的版本。
- 我的答案在一个阅读器里显示、在另一个里却不显示。为什么?
- 那是 /NeedAppearances 标志在作怪。由设置该标志的工具填写的表单,依赖各个阅读器自行绘制文字,不绘制的阅读器就显示成空框。这个工具会为它填写的每个字段生成外观,然后清除该标志,所以你在这里看到的就是收件人看到的。若某个字段仍然不对,那它就是结果里报告的被跳过字段之一。
- 我能在这里顺便签署表单吗?
- 无法用加密签名。填写写入的是字段值;而数字签名必须对完成后的字节计算,并写入一个此后不得重新序列化的字节范围。请先在这里填写表单,再用 PDF 签名,它会按正确顺序完成。如果收件人只想要页面上有个标记,也可以用编辑 PDF 放一张手写或输入的签名图片。
- 我的答案会被上传到什么地方吗?
- 不会。文档在你的浏览器里读取,你输入的每个值都留在页面中,填好的文件在本地写出。关于表单没有任何东西被发送,这一点在这里尤其重要,因为表单答案通常是一个人放进 PDF 里最敏感的文字。你可以在填写时看着网络标签,看它始终为空,断网时这款工具照样能用。