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

PDObjectStream

PDObjectStreamは、Apache PDFBoxライブラリにおいて、PDF文書内のオブジェクトストリームを表す特殊なクラスです。

キーワード: pdobjectstream, PDObjectStream

概要

PDObjectStreamは、Apache PDFBoxライブラリにおいて、PDF文書内のオブジェクトストリームを表す特殊なクラスです。オブジェクトストリームは、PDF 1.5で導入された圧縮機能であり、複数の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 ) 。PDObjectStreamクラスは、Java開発者がこれらの圧縮されたオブジェクトコレクションをプログラムで操作するための高レベルAPIを提供します。

定義

PDObjectStreamは、Apache PDFBoxのPDModel APIレイヤーの一部であり、PDF仕様で定義されているPDF構造へのオブジェクト指向アクセスを提供します。PDFの低レベルCOSStreamオブジェクトへの直接アクセスとは異なり、PDObjectStreamは基礎となるストリームデータをラップし、圧縮された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 ) で定義されているように、プレフィックスセクションにオブジェクト番号とともに複数のオブジェクトが格納され、その後に連結されたオブジェクトデータが続く、すべてが圧縮ストリーム内に収められるという複雑なエンコーディングスキームを特に処理します。

重要性

PDObjectStreamの理解は、PDFの最適化、ファイルサイズの削減、または低レベルのPDF操作タスクに取り組む開発者にとって重要です。PDF/UA ( 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 ) などの標準に準拠したアクセシブルなPDFを作成する際、開発者は圧縮されたオブジェクトストリームを扱いながら、構造要素が適切にアクセス可能な状態を維持する必要がある場合があります。オブジェクトストリームは、PDFファイルサイズを大幅に削減できます—多くの場合10〜20%以上—そのため、大量のPDF文書を生成または処理するアプリケーションにとって重要です。さらに、Tagged PDF構造 ( Citation: , (). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/ ) を扱う開発者は、オブジェクトストリームが構造ツリー要素の格納およびアクセス方法に影響を与え、パフォーマンスやアクセシビリティ検証ワークフローに潜在的な影響を及ぼす可能性があることを認識しておく必要があります。

仕組み

PDObjectStreamは、PDFオブジェクトストリームの二重セクション構造を管理することで動作します:最初のセクションにはオブジェクト番号とバイトオフセットのペアが含まれ、続いて実際のオブジェクトデータを含む第二のセクションがあります。読み取り時には、クラスがストリームを解凍し(通常はFlate圧縮を使用)、インデックスセクションを解析して個々のオブジェクトを特定し、オブジェクト番号によって特定のオブジェクトへのアクセスを提供します。オブジェクトストリームの書き込みまたは変更時には、PDObjectStreamは適格なPDFオブジェクトを収集し、適切な形式にシリアライズし、インデックスを更新し、結果を圧縮します。このクラスは、PDFBoxのオブジェクト番号付けシステムおよびクロスリファレンスシステムと統合され、文書操作操作全体を通じて圧縮されたオブジェクトへの参照が有効なままであることを保証します。開発者は通常、より高レベルのPDFBox操作を通じてPDObjectStreamと間接的にやり取りしますが、高度な最適化シナリオやカスタムPDF処理ロジックを実装する際には直接アクセスも可能です。

関連用語

  • COSStream – PDFの任意のストリームオブジェクトを表す低レベルのPDFBoxクラスで、PDObjectStreamが拡張またはラップするもの
  • PDPage – 個々のPDFページを表すApache PDFBoxクラスで、そのリソースとコンテンツはオブジェクトストリームに格納される場合がある
  • Cross-Reference Table(クロスリファレンステーブル) – オブジェクトストリームに格納されているオブジェクトを含む、文書内のすべてのオブジェクトをインデックス化するPDF構造
  • Flate Compression(Flate圧縮) – オブジェクトストリームやその他のPDFコンテンツに使用される最も一般的な圧縮アルゴリズム
  • Structure Tree(構造ツリー) – オブジェクトストリーム内に格納されているオブジェクトを参照する可能性があるTagged PDFコンテンツの階層的な構成

出典

(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
PDF Association (2023)
(). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/
(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