hyperref は、入力できる PDF フォーム を作れます——テキスト欄、チェックボックス、ドロップダウン、ボタン。利用者は PDF ビューア上でそのまま記入します。フィールドはすべて Form 環境の中に置きます。このページでは各フィールドの作り方と、データの送信を扱います。
Form 環境
対話的なフィールドは、すべて \begin{Form} … \end{Form} の中に置きます。オプション引数 [パラメータ](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 を使います。広い互換性のためには、フォームはシンプルに保つのが無難です。