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

PDF viewer decompression

PDF viewer decompressionとは、PDFビューアアプリケーションがPDFドキュメント内の圧縮されたデータストリームをデコードして展開し、コンテンツを画面に表示するためのプロセスを指します。

キーワード: pdf viewer decompression, PDF viewer decompression

概要

PDF viewer decompressionとは、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 ) で定義されているPDFファイルは、ファイルサイズを削減するために様々な圧縮アルゴリズムを使用しており、ビューアはテキスト、画像、グラフィックスを表示するために、このデータをリアルタイムで解凍する必要があります。この解凍処理はエンドユーザーには意識されませんが、PDFレンダリングソリューションを実装する開発者にとって、パフォーマンスに関わる重要な考慮事項となります。

定義

PDF viewer decompressionは、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 ) で規定されているFlateDecode、DCTDecode、JBIG2Decodeなど)を識別し、適切な解凍アルゴリズムを適用して元のデータを復元してから画面に表示します。

これは、PDFファイル構造を恒久的に変更するPDF最適化や前処理とは異なります。Viewer decompressionは、ドキュメントがアクセスされるたびに実行される非破壊的な読み取り専用操作です。また、解凍されたデータを新しい形式で保存する可能性のある抽出や変換プロセスとも異なり、viewer decompressionではデコードされたデータを表示セッションの間だけメモリ内に保持します。

重要性

PDF viewer decompressionを理解することは、カスタムPDFレンダリングエンジン、Webベースのドキュメントビューア、またはPDFを効率的に表示する必要があるアプリケーションを構築する開発者にとって不可欠です。解凍のパフォーマンスは以下に直接影響します:

  • 読み込み時間とユーザー体験: 遅い解凍処理は、ドキュメントを開くときやページ間を移動するときに目立つ遅延を引き起こす可能性があります
  • メモリ管理: 解凍されたデータは圧縮されたPDFよりも大幅に多くのメモリを消費する可能性があり、慎重なバッファ管理が必要です
  • モバイルおよびWeb展開: リソース制約のある環境では、過度のバッテリー消耗や帯域幅使用なしにPDFを処理するために、最適化された解凍戦略が必要です
  • アクセシビリティ実装: ( Citation: , (). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/ ) で説明されているTagged PDFを扱う場合、支援技術のための意味情報を抽出するために、構造ツリーとコンテンツストリームを適切に解凍する必要があります

解凍ワークフローを最適化する開発者は、より応答性の高いアプリケーションを作成し、大規模で複雑なドキュメントへのサポートを向上させることができます。

仕組み

PDF viewer decompressionプロセスは、以下の技術的ステップに従います:

  1. フィルターの識別: ビューアはPDFオブジェクト辞書を解析して、/Filterエントリに指定された圧縮フィルターを識別します。これには、 ( 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 ) で定義されているFlate(ZLIB/Deflate)、DCT(JPEG)、JBIG2、JPXDecode(JPEG2000)などのアルゴリズムが含まれる場合があります

  2. 順次解凍: 複数のフィルターが適用されている場合(フィルターチェーン)、ビューアは適用順序の逆順で解凍し、最後に適用されたフィルターから最初のフィルターへと処理します

  3. ストリームバッファの割り当て: ビューアは解凍されたデータを保持するためのメモリバッファを割り当て、利用可能な場合はpredictorパラメータとストリームの寸法からサイズ要件を計算します

  4. アルゴリズムの実行: 適切な解凍ライブラリまたはコーデックが呼び出されてバイトストリームをデコードし、predictor関数、色空間、ビット深度などのパラメータを処理します

  5. コンテンツの解釈: 解凍されたデータは、そのオブジェクトタイプに応じて解析されます。コンテンツストリームはPDF演算子とオペランドとして解釈され、画像ストリームはラスターデータになり、フォントストリームはグリフ定義になります

  6. プログレッシブレンダリング: 多くの最新のビューアは、完全な解凍を待つのではなく、ページコンテンツを段階的に表示するストリーミング解凍を実装しており、体感パフォーマンスを向上させますで参照されているTagged PDFの場合、アクセシビリティ機能のためにドキュメントの論理構造を公開するために、構造ツリー要素も解凍する必要があります。

関連用語

  • Compression filters(圧縮フィルター) – PDFオブジェクトで指定される、データサイズを削減するアルゴリズムで、表示時に対応する解凍が必要です
  • Content streams(コンテンツストリーム) – ページコンテンツを記述するPDF演算子とオペランドのシーケンスで、通常、製品版PDFでは圧縮されています
  • Object streams(オブジェクトストリーム) – 複数のオブジェクトを圧縮とともにグループ化してストレージ効率を高めるPDF構造です
  • Flate compression(Flate圧縮) – DEFLATEアルゴリズムに基づく最も一般的なPDF圧縮方法で、テキストとベクターコンテンツに使用されます
  • Progressive rendering(プログレッシブレンダリング) – 解凍と解析が進むにつれて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/