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

PDF content decoding

PDFコンテンツデコーディングとは、PDF文書内のエンコードされたバイトストリームを解釈し、レンダリング、表示、または処理可能な使用可能なデータに変換するプロセスです。

カテゴリ: General PDF Concepts
キーワード: pdf content decoding, PDF content decoding

概要

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 ) 。PDF操作、レンダリングエンジン、アクセシビリティツールを開発する開発者は、文書コンテンツを正しく抽出および処理するために、デコーディングを理解する必要があります。

定義

PDFコンテンツデコーディングとは、PDFコンテンツストリームに適用された圧縮およびエンコードフィルタを逆に適用するプロセスを指します。PDFが作成される際、テキスト命令、ベクターグラフィックス、画像などのコンテンツは、通常、FlateDecode(ZIP圧縮)、ASCIIHexDecodeASCII85Decode、またはDCTDecode(JPEG)やCCITTFaxDecodeなどの専用画像圧縮方式などのフィルタを使用してエンコードされます。デコーディングプロセスは、これらの変換を逆に適用して、元のコンテンツストリームデータにアクセスします。

( 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 ) によると、コンテンツストリームは、1つまたは複数のフィルタが適用される可能性のあるストリームオブジェクトとして表現されます。これらのフィルタは、ストリーム辞書の/Filterエントリで指定され、デコーダは元のデータを再構築するために、正しい順序(エンコードの逆順)で処理する必要があります。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 )

パフォーマンスの観点からも、デコーディングは重要です。効率的なデコーディング実装は、大きな文書や大量のファイルを処理する際のアプリケーション速度に直接影響します。開発者は、レガシーなものから最新のものまで、さまざまなエンコード方式を処理し、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プロセッサがコンテンツストリームに遭遇すると、まずストリーム辞書を読み取り、適用されているフィルタを識別します。/Filterエントリは、単一のフィルタ名、またはエンコード時に順次適用されたフィルタの配列を指定することができます。

次に、デコーダは逆の操作を逆順に適用します。たとえば、ストリームが最初にFlateDecodeで圧縮され、次にASCII85Decodeでエンコードされた場合、デコーダはまずASCII85デコーディングを適用し、次にFLATE展開を行う必要があります。一般的なフィルタタイプには次のものがあります:

  • FlateDecode:ZIP/FLATE圧縮、テキストコンテンツで最も一般的なフィルタ
  • ASCIIHexDecodeおよびASCII85Decode:バイナリデータをASCII表現に変換
  • LZWDecode:Lempel-Ziv-Welch圧縮(最近のPDFではあまり一般的ではない)
  • DCTDecode:画像用のJPEG圧縮
  • CCITTFaxDecode:白黒画像用の圧縮

追加のパラメータは、/DecodeParms辞書エントリで指定される場合があり、デコーダが適用する必要がある予測アルゴリズム、色変換パラメータ、ビット深度などのフィルタ固有の設定を提供します。デコーディングが成功すると、結果のバイトストリームには、ページの視覚的なコンテンツを定義する元のコンテンツオペレータとオペランドが含まれ、その後、レンダリングまたは処理エンジンによって解釈されます。

関連用語

  • Content stream(コンテンツストリーム) – デコーディング後にページコンテンツを記述するオペレータとオペランドの連続
  • Stream object(ストリームオブジェクト) – エンコードされた可能性のある連続データを含むPDFオブジェクトタイプ
  • Filter(フィルタ) – ストリームデータに適用されるエンコードまたは圧縮アルゴリズム
  • Predictor(予測器) – データパターンを利用して圧縮を改善するアルゴリズム
  • Rendering engine(レンダリングエンジン) – デコードされたコンテンツを解釈して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
(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