Flattening
Flatteningとは、フォームフィールド、注釈、レイヤーなどのインタラクティブまたは動的なPDF要素を、PDFの視覚的な外観の恒久的な部分となる静的なページコンテンツに変換するプロセスです。
Flatteningとは、フォームフィールド、注釈、レイヤーなどのインタラクティブまたは動的なPDF要素を、PDFの視覚的な外観の恒久的な部分となる静的なページコンテンツに変換するプロセスです。Flatteningが実行されると、これらの要素は個別のオブジェクトとして編集または操作できなくなります。このプロセスは、文書の最終化、異なる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 ) で定義されているアーカイブまたは印刷ワークフロー用の文書準備に一般的に使用されます。
Flatteningは、インタラクティブなPDFコンポーネントをページ上の固定されたグラフィカルコンテンツに変換します。PDFにフォームフィールド(テキストボックス、チェックボックス、ドロップダウンメニューなど)や注釈(コメント、ハイライト、スタンプなど)が含まれている場合、これらの要素はPDF構造内で独自のプロパティと動作を持つ個別のオブジェクトとして存在します。Flatteningは、これらのオブジェクトをページのコンテンツストリームに直接統合し、通常のグラフィックス、テキスト、または画像としてレンダリングします。
これは、入力済みフォームや表示された注釈を含むPDFを単に表示することとは異なります。それらの要素は編集可能でインタラクティブなままです。Flatteningは、インタラクションを可能にする基礎データ構造を削除する不可逆的な操作であり、視覚的な外観をページ自体に実質的に「焼き付ける」ものです。また、ページ全体をビットマップ画像に変換するラスタライゼーションとも異なります。Flatteningは通常、ベクターコンテンツとテキストを可能な限り保持し、インタラクティブ要素のみを静的な視覚的等価物に変換します。
PDFの生成と処理に携わる開発者にとって、Flatteningはいくつかの実用的な理由から重要です。
文書の最終化: フォームが完成後にロックされる必要がある場合、Flatteningは入力されたデータの外観を維持しながら、さらなる変更を防ぎます。これは契約書、申請書、公式記録に不可欠です。
レンダリングの一貫性: PDFビューアによっては、インタラクティブ要素、特に複雑な注釈やカスタムアピアランスストリームが一貫性なくレンダリングされる場合があります。Flatteningにより、すべてのプラットフォームとビューアで文書が同一に見えることが保証されます。
アクセシビリティへの配慮: Flatteningは文書構造を簡素化できますが、 ( 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を扱う際には、開発者は注意が必要です。フォームフィールドのFlatteningは、支援技術が依存するセマンティック情報と論理構造を削除する可能性があり、Tagged PDF ( Citation: PDF Association, 2023 PDF Association(2023). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/ ) のアクセシビリティを低下させる恐れがあります。
ファイルサイズの最適化: 場合によっては、Flatteningは冗長なデータ構造を排除することでファイルサイズを削減できますが、これはインタラクティブ要素の複雑さと数に依存します。
印刷制作: 多くのプロフェッショナル印刷ワークフローでは、透明効果やプリンターが再現できないインタラクティブ要素による予期しないレンダリング問題を回避するために、FlatteningされたPDFが必要です。
Flatteningプロセスには、いくつかの技術的なステップが含まれます。
コンテンツストリームへの統合: 各インタラクティブ要素の視覚的な外観が抽出され、ページのコンテンツストリームに追加されます。フォームフィールドの場合、これはフィールドの値と外観特性(フォント、サイズ、色、境界線)を取得し、通常のPDFグラフィックスオペレーターとテキストオブジェクトとしてレンダリングすることを意味します。
オブジェクトの削除: 元のフォームフィールド辞書、注釈辞書、および関連するリソースがPDF構造から削除されます。これには、インタラクティブフォームのAcroForm辞書と、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 ) で定義されているページのAnnots配列からの個別の注釈エントリが含まれます。
アピアランスストリームのレンダリング: PDFの注釈とフォームフィールドには、それらがどのように表示されるべきかを定義するアピアランスストリーム(APエントリ)が含まれています。Flattening中、これらのアピアランスストリームが実行され、そのグラフィカル出力がページコンテンツに組み込まれます。
レイヤーの処理: PDFにオプショナルコンテンツグループ(レイヤー)が含まれている場合、Flatteningは通常、現在の可視性状態を尊重し、表示されているレイヤーを永続的にし、非表示のレイヤーを破棄します。
構造の保持: Tagged PDFを扱う場合、慎重なFlattening実装は、可能な限り論理構造とタグ情報を保持しようとしますが、インタラクティブ要素のマーカーは必然的に削除されます。
- Form Fields – ユーザーがデータを入力できるPDF内のインタラクティブ要素で、Flatteningによって静的コンテンツに変換できる
- Annotations – コメント、ハイライト、スタンプなど、PDFページ上にオーバーレイされるオブジェクトで、Flatteningによって静的コンテンツに変換できる
- Tagged PDF – アクセシビリティのための構造マークアップを持つPDFで、Flattening中にセマンティック情報が失われる可能性がある
- Content Stream – ページ上のオブジェクトの外観を定義するPDFオペレーターのシーケンスで、Flatteningされたコンテンツを受け取る
- AcroForm – インタラクティブフォームのためのPDF構造で、Flatteningプロセス中に削除される
- (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
