XFA(XML Forms Architecture)
XFA(XML Forms Architecture)は、Adobeが開発したXMLベースのフォーム技術であり、PDF文書内でインタラクティブフォームを作成するための代替アプローチです。
XFA(XML Forms Architecture)は、Adobeが開発したXMLベースのフォーム技術であり、PDF文書内でインタラクティブフォームを作成するための代替アプローチです。従来のAcroFormsとは異なり、XFAはフォームデータとプレゼンテーションロジックをXML形式で保存し、PDFラッパー内に埋め込みます。ただし、XFAはPDF仕様のコア部分ではなく ( Citation: N.A., 2020 (N.A.). (2020). Document management — Portable document format — Part 2: PDF 2.0 . International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) 、PDF 2.0では非推奨となっており、現代のPDF開発においてはますます時代遅れになっています。
XFAは、フォーム構造、ロジック、データをPDFコンテンツストリームとは別にXMLで定義する独自のフォーム技術です。XFAフォームは、フォームの外観、動作、データモデルを記述するXML文書として存在し、互換性のあるビューアによってレンダリングされます。これは、ネイティブなPDFオブジェクトとアノテーションを使用してPDF構造内に直接フォームフィールドを作成するAcroFormsとは根本的に異なります。XFAフォームは静的(固定レイアウト)または動的(データに基づいてリフローおよびリサイズ可能)のいずれかであり、特に動的XFAフォームは標準的なPDF処理ツールとの互換性がありません。PDF 2.0仕様 ( Citation: N.A., 2020 (N.A.). (2020). Document management — Portable document format — Part 2: PDF 2.0 . International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) はXFAを明示的に非推奨としており、PDF/UA ( Citation: N.A., 2014 (N.A.). (2014). Document management applications — Electronic document file format enhancement for accessibility — Part 1: Use of ISO 32000-1 (PDF/UA-1) . International Organization for Standardization Retrieved from https://www.iso.org/standard/64599.html ) などのアクセシビリティ標準に準拠した標準的なPDFフォーム実装への業界の移行を反映しています。
PDFフォームを扱う開発者にとって、XFAを理解することは主にレガシーシステムの保守と移行計画において重要です。多くの組織では、処理が必要なXFAフォームが現在も本番環境で使用されていますが、新規開発ではいくつかの重要な理由からXFAを避けるべきです:PDFリーダーやライブラリでのサポートが限定的であること、現代のアクセシビリティ要件との非互換性、PDF 2.0以降の標準からの除外、標準的なPDFワークフローとの統合の困難さなどです。既存システムでXFAフォームに遭遇した場合、開発者は通常、それらをAcroFormsまたはHTMLベースのフォームに変換する移行戦略を計画する必要があります。最新のPDFライブラリのほとんどは、XFAレンダリングに対する限定的なサポートまたはサポートなしを提供しているため、開発者はXFAフォームが異なるプラットフォームやツール間で一貫して動作することを期待できません。
XFAフォームは、XMLデータストリームとしてPDF文書内に埋め込まれ、通常は/AcroFormディクショナリの/XFAキー下に保存されます。XML構造は、フォームオブジェクト、データバインディング、計算スクリプト、検証ルールを指定する宣言的構文を使用してフォームテンプレートを定義します。互換性のあるPDFビューアがXFA文書を開くと、このXMLを解析し、既存のPDFコンテンツを表示するのではなく、フォームインターフェースを動的にレンダリングします。XFA仕様は、Template(フォームレイアウト)、Data(フォーム値)、Config(処理命令)、Connection Info(データソースバインディング)を含む複数のXMLスキーマを定義しています。動的XFAフォームは、データコンテンツに基づいて実行時にレイアウトを変更し、必要に応じてセクションを追加または削除できます。この機能により、静的なPDF構造とは根本的に互換性がありません。XFAレンダリングは標準的なPDFコンテンツストリームモデルの外部で行われるため、XFAフォームはXFAサポートのないビューアで開くと空白として表示されたり、プレースホルダーメッセージが表示されたりすることが多く、重大なアクセシビリティと互換性の課題を生み出します。
- AcroForms – ネイティブなPDFアノテーションとフォームフィールドを使用する標準的なPDFフォーム技術
- Form Fields – ユーザー入力を受け付けるPDF文書内のインタラクティブ要素
- Tagged PDF – アクセシビリティのための論理的な文書構造を定義する構造化PDF形式 ( Citation: PDF Association, 2023 PDF Association(2023). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/ )
- PDF/UA – 適切な文書構造を必要とするユニバーサルアクセシビリティのためのPDF標準
- Dynamic Forms – ユーザー入力やデータに基づいてレイアウトと構造を変更できるフォーム
- (N.A.) (2020)
- (N.A.). (2020). Document management — Portable document format — Part 2: PDF 2.0 . International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html
- PDF Association (2023)
- PDF Association(2023). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/
- (N.A.) (2014)
- (N.A.). (2014). Document management applications — Electronic document file format enhancement for accessibility — Part 1: Use of ISO 32000-1 (PDF/UA-1) . International Organization for Standardization Retrieved from https://www.iso.org/standard/64599.html
