PDF フォーム

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[...]{ラベル}{選択肢}メニュー/ラジオ(comboradiopopdown
\PushButton{ラベル}押しボタン(JavaScript と組み合わせることも)
\Submit{ラベル} / \Reset送信ボタン/リセットボタン

よく使うオプション

各フィールドは [...] でオプションを取ります。name=(フィールド名。データ取得やスクリプトで使う)、width=height=default=(初期値)、bordercolorbackgroundcolorcharsize(文字サイズ)、align(0=左・1=中央・2=右)など。\ChoiceMenu では comboradiopopdown で表示形式を選びます。

latex
\TextField[name=email, width=5cm, default={例: [email protected]}]{メール}

データを送る・実務メモ

送信ボタンは、Formaction(送り先 URL やメール)に従ってフォームのデータを送れます。フォームは PDF ビューア(Acrobat Reader など)で記入する仕組みで、JavaScript や描画の対応はビューアによって差 があります。検証やスクリプトなど高度なことをするなら insdljs や AcroTeX の eforms を使います。広い互換性のためには、フォームはシンプルに保つのが無難です。