hyperref 可以制作可填写的 PDF 表单:文本框、复选框、下拉菜单和按钮。用户可以直接在 PDF 查看器中填写。所有字段都放在 Form 环境内。本页介绍各类字段命令以及如何提交数据。
Form 环境
所有交互字段都必须放在 \begin{Form} … \end{Form} 内。可选参数 [parameters](key=value)主要设置“提交”按钮的行为,例如数据发送到哪里。使用前先加载 hyperref。
latex
\usepackage{hyperref}
...
\begin{Form}
\TextField{お名前}\par
\CheckBox{利用規約に同意する}\par
\ChoiceMenu[combo]{所属}{大学,企業,その他}
\end{Form}字段类型
| 命令 | 生成内容 |
|---|---|
\TextField{ラベル} | 文本输入框 |
\CheckBox{ラベル} | 复选框 |
\ChoiceMenu[...]{ラベル}{選択肢} | 菜单或单选组(combo、radio、popdown) |
\PushButton{ラベル} | 按钮(也可与 JavaScript 组合) |
\Submit{ラベル} / \Reset | 提交按钮 / 重置按钮 |
常用选项
每个字段都可以在 [...] 中指定选项:name=(字段名,用于取数据或脚本)、width=/height=、default=(初始值)、bordercolor/backgroundcolor、charsize(文字大小)、align(0=左、1=中、2=右)等。\ChoiceMenu 用 combo / radio / popdown 选择显示形式。
latex
\TextField[name=email, width=5cm, default={例: [email protected]}]{メール}提交数据与实务注意
提交按钮可以按照 Form 的 action(目标 URL 或邮件地址)发送表单数据。表单是在 PDF 查看器(如 Acrobat Reader)中填写的,JavaScript 和显示支持会因查看器而异。如果需要验证、脚本等高级行为,可使用 insdljs 或 AcroTeX 的 eforms。为了获得广泛兼容性,表单保持简单最稳妥。