Optional content group (OCG)
Optional Content Group(OCG)は、PDF の基本機能の一つであり、コンテンツ要素をグループ化して、対応する PDF ビューアで動的に表示/非表示を切り替えられるようにします。
Optional Content Group(OCG)は、PDF の基本機能の一つであり、コンテンツ要素をグループ化して、対応する 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 ) 。ユーザーインターフェースでは「レイヤー」と呼ばれることが多く、OCG を使用することで、複数のファイルバージョンを用意することなく、単一の PDF ドキュメントでコンテンツの異なる表示を実現できます。この機能は、技術図面、多言語ドキュメント、選択的なコンテンツ表示が必要なインタラクティブプレゼンテーションなどで特に有用です。
Optional Content Group は、PDF 構造内の dictionary オブジェクトであり、グラフィカルコンテンツ要素を共通の表示状態の下でグループ化します。常にレンダリングされる静的な PDF コンテンツとは異なり、OCG に関連付けられたコンテンツは、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 ) 。
OCG は、他の PDF 組織構造といくつかの重要な点で異なります。ブックマークやアウトラインが既存のコンテンツへのナビゲーションを提供するのに対し、OCG はコンテンツが実際に表示または処理されるかどうかを制御します。アノテーションがページコンテンツに重ねられた別個のオブジェクトであるのに対し、OCG のメンバーはページの content stream の不可欠な部分です。また、OCG はフォームフィールドとも異なります。OCG はあらゆるコンテンツタイプの可視性を制御しますが、フォームフィールドは特にデータ収集とユーザー入力のためのものです。
各 OCG には、名前(ユーザーに表示される)、intent(目的を記述)、usage 情報(推奨される表示動作を定義)などのプロパティがあります。複数の OCG は、Optional Content Membership Dictionaries(OCMD)を使用して組み合わせることができ、ブール論理に基づく複雑な表示ルールを作成できます。
PDF の生成や操作を行う開発者にとって、OCG は洗練されたスペース効率の高いドキュメントを作成するための不可欠な機能を提供します。OCG を持つ単一の PDF は、複数のファイルバリアントを置き換えることができ、ストレージコストを削減し、ドキュメント管理ワークフローを簡素化します。これは、技術文書、CAD 図面、多言語コンテンツを生成するシステムを構築する際に特に重要です。
OCG により、開発者はよりアクセシブルでユーザーフレンドリーなドキュメントを作成できます。たとえば、技術マニュアルに初心者向けと上級者向けのコンテンツを同じファイルに含め、ユーザーが複雑さのレベルを切り替えられるようにできます。アクセシビリティ機能も OCG を活用して、異なるニーズを持つユーザーのための代替テキスト表現や簡素化されたレイアウトを提供できますが、OCG の使用が 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 ) 。
技術実装の観点から、OCG の理解は PDF をプログラムで処理する際に不可欠です。PDF をレンダリング、印刷、またはコンテンツ抽出するアプリケーションは、正確な出力を生成するために OCG の状態を正しく解釈する必要があります。OCG の表示設定を考慮しないと、コンテンツの欠落や不正確なドキュメント表現が生じる可能性があります。
OCG は、相互接続された複数の PDF オブジェクトを通じて実装されます。document catalog には、Optional Content Properties dictionary(/OCProperties)が含まれており、これがドキュメント内のすべての OCG の中央レジストリとして機能します。この dictionary には、すべての OCG dictionary の配列(/OCGs)、デフォルト設定 dictionary(/D)、およびオプションの代替設定(/Configs)が含まれます。
個々の OCG は、タイプ /OCG の dictionary として定義され、ユーザーインターフェースに表示するための /Name エントリを含む必要があります。content stream は、marked content オペレータを使用して OCG を参照します。具体的には、BDC(begin marked content)オペレータと /OC タグが OCG または OCMD dictionary を指し、対応する EMC(end marked content)オペレータが marked content セクションを閉じます。これらのオペレータ間のすべてのグラフィカル操作は、参照された OCG の表示状態を継承します。
configuration dictionary は、/ON および /OFF 配列を通じてデフォルトの表示状態を制御します。これらの配列には、最初に表示または非表示にすべき OCG がリストされます。/Order 配列は、ビューアのユーザーインターフェースでの OCG の表示方法を定義し、階層的なツリー構造で整理される可能性があります。/RBGroups(radio button groups)配列は、OCG セット間で相互排他的な表示を強制できます。
Optional Content Membership Dictionaries(OCMD)は、複数の OCG を組み合わせることで複雑な表示ロジックを可能にします。OCMD の /VE(Visibility Expression)エントリは、ブール演算子(AND、OR、NOT)をサポートし、条件付き表示ルールを作成します。たとえば、OCG-A がオンで、かつ OCG-B がオフの場合にのみコンテンツが表示されるようにでき、洗練されたコンテンツ管理シナリオが可能になります。
- Content stream – ページコンテンツの外観を記述する PDF オペレータとオペランドのシーケンスで、OCG 参照を含めることができます
- Marked content – OCG や構造要素などのプロパティと関連付けるマーキングオペレータでラップされた PDF コンテンツ
- Document catalog – PDF ドキュメントのルートオブジェクトで、optional content properties を含む主要なドキュメント構造への参照を含みます
- PDF viewer – PDF ドキュメントをレンダリングし、OCG の表示を制御するためのユーザーインターフェースを提供する可能性のあるソフトウェアアプリケーション
- Accessibility – PDF コンテンツが障害を持つ人々にとって使用可能であることを保証する機能で、OCG の使用と慎重に調整する必要があります
- (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
- (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
