XObject
XObjectは、PDF内で再利用可能な外部オブジェクトであり、文書構造内で名前付きリソースとして存在します。
XObjectは、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
)
。XObjectは、画像、Form XObject(自己完結型のコンテンツストリーム)、またはDoオペレータを使用して複数回呼び出されるPostScriptフラグメントのいずれかです。この設計により、PDFファイルはデータを複製することなく、文書全体で同じグラフィカルコンテンツを効率的に参照できます。
XObjectは、表示されるページのコンテンツストリームとは別にグラフィカルコンテンツを定義する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
)
によれば、XObjectには3つのタイプがあります:Image XObject(ラスター画像またはビットマップ画像)、Form XObject(再利用可能なベクターグラフィックスとテキスト)、PostScript XObject(PostScript言語フラグメント、PDF 2.0では非推奨)。ページのコンテンツストリーム内で直接描画されるインラインコンテンツとは異なり、XObjectはPDFファイル内の間接オブジェクトとして保存され、ページのリソース辞書から名前で参照されます。コンテンツストリームがDoオペレータとそれに続くXObject名に遭遇すると、PDFプロセッサはそのXObjectのコンテンツを現在のグラフィックス状態の位置に描画します。この分離により、同じXObjectを重複したコンテンツを保存することなく、異なるページで複数回呼び出すことができます。
PDF生成と操作を行う開発者にとって、XObjectはファイルの最適化とコンテンツの再利用において重要な利点を提供します。Form XObjectとして保存された会社のロゴや透かしは、ファイル内で一度だけ定義されながら、数百ページに表示できるため、ファイルサイズを大幅に削減できます。Image XObjectにより、開発者は適切なカラースペースと圧縮設定で写真やグラフィックスを効率的に埋め込むことができます。XObjectの理解は、PDFライブラリを実装する際に不可欠です。なぜなら、コンテンツの構造化、リソースの管理、文書サイズの最適化に影響を与えるためです。Form XObjectは、Tagged PDF文書 ( Citation: PDF Association, 2023 PDF Association(2023). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/ ) において特に重要です。適切な文書構造とアクセシビリティを維持しながら、複雑なグラフィカル要素をカプセル化できるからです。
XObjectは、PDFのリソースメカニズムを通じて実装されます。各ページまたはForm XObjectには、名前をXObject参照にマッピングするXObjectサブ辞書を含むリソース辞書があります。XObjectを使用するには、コンテンツストリームが/Name Doという構文で呼び出します。ここで/NameはXObject辞書内のキーに対応します。その後、PDFプロセッサは現在のコンテンツストリームを一時停止し、変更されたグラフィックス状態でXObjectのコンテンツを処理し、元のストリームに戻ります。Image XObjectには、幅、高さ、カラースペース、圧縮フィルタなどの関連メタデータを持つビットマップデータが含まれます。Form XObjectには、独自のコンテンツストリーム、リソース、バウンディングボックスが含まれており、実質的に変換、クリッピング、合成が可能なミニページとして機能します。Doが呼び出されたときにアクティブなグラフィックス状態パラメータ(変換マトリックスやクリッピングパスなど)は、XObjectの表示方法に影響を与え、同じXObjectを使用するたびに異なるスケール、回転、または位置で表示できるようにします。
- Content Stream(コンテンツストリーム) – ページコンテンツを記述し、XObjectを呼び出すPDFオペレータとオペランドのシーケンス
- Resources Dictionary(リソース辞書) – コンテンツストリームが使用するフォント、XObject、その他のリソースに名前をマッピングするPDF辞書
- Graphics State(グラフィックス状態) – グラフィックスオペレータがコンテンツをレンダリングする方法を制御するパラメータの集合で、XObjectの外観に影響を与える
- Do Operator(Doオペレータ) – 名前でXObjectを呼び出してそのコンテンツを描画するPDFオペレータ
- Form XObject – 独自のコンテンツストリームを持つ再利用可能なベクターグラフィックスとテキストを含む特定のタイプのXObject
- (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/
