トラスト・ソフトウェア・システム
ホーム > PDF Tools トップ > PDF Tools ライト > PDF 構文

PDF構文 (PDF Syntax ISO 32000-1)

PDF1.7は、ISO技術委員会によって2008年1月に“ISO 32000-1規格”として承認されました。
ここでは、その規格で説明されているPDFの構文(構造)について説明しています。 PDFファイルは、8-bitデータを単位として構成されていて一般の文書編集アプリケーションで開くことができ、その内容を読取ることができます。ただし、バイナリのデータもそのまま(表示可能な文字に変換されずに)格納されていますので文字化けしているように表示されますが、これはPDFの仕様です。
ここでは、そのデータの一部を読み解くことで、PDF文書へのデータ追加など、PDF再構成の意味を説明し、PDF-ToolsでのPDFデータ解析や編集をより詳細にできるようにします。

ドキュメント カタログ」へ <<< >>>「メタデータ」へ


11.インタラクティブ フォーム(Form)

インタラクティブ フォーム(Interactive Form、AcroFormともいいます)は、対話的にユーザーからの情報を収集するために使われます。
それぞれのインタラクティブ フォームのフィールドは、フィールド(Field) ディクショナリで定義されます。フィールドは、階層構造で定義され子孫要素のフィールドは先祖の属性を受け継ぎます。 フィールドの子要素にはウィジェット アノテーション(Widget Annotations)があり、そこではページへの表示方法が定義されます。


11.1 インタラクティブ フォーム(Form) ディクショナリ

文書のインタラクティブ フォーム のコンテンツとプロパティは、インタラクティブ フォーム ディクショナリに定義されます。このディクショナリは、ドキュメント カタログであるカタログ ディクショナリ のAcroForm項目から参照されなければなりません。

インタラクティブ フォーム ディクショナリには、以下の項目が含まれます。

キータイプ
Fieldarray(必須)文書のルートFieldの参照
NeedAppearancesboolean(オプション)外観を持つ場合に真
外観を持つ場合は、Streamと外観のディクショナリ(Widget Annotation)で定義します。
既定値は偽。(Variable Text参照)
SigFlagsinteger(オプション)Signatureフィールドのレベルを示す。
既定値は0(ゼロ)。(Signature Field参照)
COarray(必要な場合あり)フィールドの値が変更された際の再計算の順序を定義する。(Trigger Events参照)
DRdictionary(オプション)フィールドを表示する際に利用する既定のリソース(フォント、パターン、色空間など)を定義する。(Resource Dictionaries参照)
DAstring(オプション)文書レベルのVariable Text FieldのDAの既定値を定義する。
Qinteger(オプション)文書レベルのVariable Text FieldのQの既定値を定義する。
XFAstream /
array
XFAリソース

オブジェクトのタイプは「2.5オブジェクト」を参照してください。


上記のディクショナリのSigFlagエントリは文書レベルでの署名フィールド特性を以下のようにそのビット位置の値で定義します。

ビット位置名前意味
1SignaturesExistこのビットがセットされている場合は、少なくとも1つの署名フィールドを含みます。
2AppendOnlyこのビットがセットされている場合は、以前の状態が無効になるように署名フィールドが変更されることがあります。

11.2 フィールド(Field) ディクショナリ

インタラクティブ フォームのそれぞれのフィールドは、このフィールド ディクショナリで定義されます。フィールド ディクショナリは、1つ以上のツリー構造で構成されます。多くのフィールド属性はより上位の階層を継承します。

フィールド ディクショナリには、以下の項目が含まれます。

キータイプ
FTname(必須)このディクショナリが定義するフィールドのタイプ
Btnボタン(Button Fields参照)
Txテキスト(Text Fields参照)
Ch選択(Choice Fields参照)
Sig署名(Signature Fields参照)
Parentdictionary(必須)直接の親であるField
Kidsarray(必須)直接の子であるFieldへの間接参照の配列
Ttext string(オプション)部分Fieldの名前
(Field Names参照)
TUtext string(オプション)代替Field名
(Alternate Descriptions参照)
TMtext string(オプション)文書からインタラクティブForm Fieldのデータを取り出す際に使用しなければならないマッピング名。
Ffinteger(オプション)フィールドのさまざまな特性を指定するフラグのセット。
V(various)(オプション)Fieldの値
個々のフィールドタイプにより異なる
DV(various)(オプション)リセットフォームアクションが実行される際の既定値
(Reset-Form Action参照)
AAdictionary(オプション)様々なトリガーイベントに応じて実行されるFieldの動作を定義した追加のアクション
(Trigger Events、Annotation Dictionary参照)

オブジェクトのタイプは「2.5オブジェクト」を参照してください。


上記のディクショナリのFfエントリは、そのビット位置で以下の意味を持ちます。

ビット位置名前意味
1ReadOnlyセットさせている場合、ユーザーはこのFieldを変更できない。
2Requiredセットされている場合、サブミットアクションで取り出す場合にこのフィールドは値を持たなければならない。
3NoExportセットされている場合、サブミットアクションで取り出すことはできない。

ドキュメント カタログ」へ <<< >>>「メタデータ」へ


ご質問、お問い合わせ

メールで support@TrustSS.co.jp 宛てにお送りください。
または、質問のページからお送りいただくようお願いします。ご要望も承っております。(匿名で送れます。)




スリーソフト作者の方へ

PDF Easy Parseライブラリを無償で利用できるプログラムがあります。
こちらを参照してください。