Skip to main content
Interwork Corporation
IDR Solutions Product Support Portal
PDF開発用語集 モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動

Resource dictionary

リソースディクショナリ(Resource dictionary)は、PDFの基本的なデータ構造であり、フォント、画像、色、グラフィック状態など、コンテンツのレンダリングに必要なオブジェクトに名前をマッピングします。

カテゴリ: General PDF Concepts
キーワード: resource dictionary, Resource dictionary

概要

リソースディクショナリ(Resource dictionary)は、PDFの基本的なデータ構造であり、フォント、画像、色、グラフィック状態など、コンテンツのレンダリングに必要なオブジェクトに名前をマッピングします。PDF文書内の各ページ、Form XObject、および特定のコンテンツストリームは、そのコンテンツストリーム内で使用可能な外部リソースを定義する独自のリソースディクショナリを持つことができます ( Citation: N.A., (N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) 。このマッピング機構により、PDFコンテンツオペレーターは、コンテンツストリームに直接埋め込むのではなく、名前でリソースを参照できるようになります。

定義

リソースディクショナリは、ページまたはフォームのコンテンツストリーム内で参照されるリソースのルックアップテーブルとして機能するPDFディクショナリオブジェクトです。PDF仕様 ( Citation: N.A., (N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) によれば、リソースディクショナリには通常、異なるリソースタイプのエントリが含まれます。具体的には、Font(テキストレンダリング)、XObject(画像および再利用可能なコンテンツ)、ExtGState(拡張グラフィック状態)、ColorSpace(色定義)、Pattern(繰り返しパターン)、Shading(グラデーション塗りつぶし)、Properties(マークされたコンテンツのプロパティリスト)などがあります。

リソースディクショナリは、コンテンツストリームオペレーターと実際のリソースオブジェクトの間の仲介役という特定の役割において、他のPDFディクショナリとは異なります。コンテンツストリームにTf(フォント選択)やDo(XObjectの描画)などのオペレーターが含まれている場合、完全なリソースオブジェクトではなく、リソースディクショナリで定義された名前を参照します。この間接参照により、複数のコンテンツストリームが同じリソースオブジェクトを参照でき、コンテンツストリームをコンパクトで読みやすく保つことができるため、効率性が向上します。

重要性

PDFの生成や操作を行う開発者にとって、リソースディクショナリの理解はいくつかの理由で不可欠です。第一に、ページコンテンツを作成または修正するコードは、コンテンツストリームで使用されるすべてのフォント、画像、その他のリソースでリソースディクショナリを適切に設定する必要があります。これを怠ると、レンダリングできない無効なPDFが生成されます。第二に、PDFコンテンツを抽出または分析する際、開発者はリソースディクショナリを通じてリソース名を解決し、実際のフォント、画像、またはその他のリソースデータにアクセスする必要があります。

リソースディクショナリは、PDFの最適化とトラブルシューティングにおいても重要な役割を果たします。開発者は、ディクショナリエントリと実際のコンテンツストリームの使用状況を比較することで、未使用のリソースを特定し、ファイルサイズを削減できます。さらに、適切なリソースディクショナリの管理は、アクセシブルなPDFにとって必要不可欠です。スクリーンリーダーや支援技術は、正しいフォントマッピングに依存してテキストコンテンツを抽出するためです ( Citation: N.A., (N.A.). (). 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 )

仕組み

リソースディクショナリは、2段階のルックアッププロセスを通じて機能します。まず、PDFレンダラーがコンテンツストリーム内でリソースを使用するオペレーター(例:フォントを選択する/F1 12 Tf)に遭遇すると、リソース名(この例ではF1)を抽出します。次に、リソースディクショナリの適切なサブディクショナリ(この場合はFontサブディクショナリ)でその名前を検索し、フォントプログラムとメトリクスを含む実際のフォントオブジェクトを取得します。

リソースディクショナリの構造は、リソースをタイプ別に整理します。例えば、典型的なリソースディクショナリは次のような内容になります:

/Resources <<
  /Font << /F1 5 0 R /F2 8 0 R >>
  /XObject << /Im1 12 0 R >>
  /ExtGState << /GS1 15 0 R >>
>>

ここで、/F1/F2は、PDFファイル内の他の場所にある実際のフォントオブジェクトを指す間接参照にマッピングされる名前キーです。コンテンツを処理する際、PDFレンダラーはグラフィック状態スタックを維持し、必要に応じてこれらの参照を解決します。リソースディクショナリは継承動作を示します:Form XObjectのリソースディクショナリでリソース名が見つからない場合、プロセッサーはページのリソースディクショナリにフォールバックすることがありますが、この動作はPDFバージョンとコンテキストによって異なります ( Citation: N.A., (N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html )

関連用語

  • Content stream(コンテンツストリーム) – ページまたはフォームのコンテンツを記述するPDFオペレーターとオペランドのシーケンスであり、リソースディクショナリで定義された名前でリソースを参照する
  • XObject – 画像やフォームなどの再利用可能な外部オブジェクトであり、Doオペレーターで呼び出される前にリソースディクショナリに登録する必要がある
  • Graphics state(グラフィック状態) – コンテンツの表示方法を制御するレンダリングパラメーターの集合であり、拡張グラフィック状態はリソースディクショナリにリソースとして保存される
  • Page object(ページオブジェクト) – 単一ページを表すPDFディクショナリであり、ページコンテンツで使用可能なリソースを定義するリソースディクショナリを含むか継承する
  • Font dictionary(フォントディクショナリ) – フォントの特性を記述する特定のタイプのリソースオブジェクトであり、リソースディクショナリのFontサブディクショナリを通じて参照される

出典

(N.A.) (2020)
(N.A.). (). 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.). (). 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