PDF stream thumbnails
PDF streamサムネイルは、PDF文書内のページやその他の視覚要素を表す埋め込みプレビュー画像です。
PDF streamサムネイルは、PDF文書内のページやその他の視覚要素を表す埋め込みプレビュー画像です。これらのサムネイルはPDF stream内にimage XObjectとして保存され、完全なページコンテンツをレンダリングすることなく、迅速な視覚的参照を提供します。 ( 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 ) によると、サムネイルはページオブジェクトに関連付けることができ、PDFビューアのナビゲーションおよびプレビュー機能を容易にします。
PDF streamサムネイルは、PDFファイルに埋め込まれた専用の画像streamで、ページのミニチュア表現として機能します。フル解像度のページコンテンツとは異なり、サムネイルは通常、小さな低解像度の画像(多くの場合106x106ピクセル程度またはそれ以下)で、/Subtypeが/ImageのXObject streamとして保存されます。これらのサムネイルはオプション要素であり、ページディクショナリの/Thumbエントリを通じて参照され、サムネイルデータを含むimage XObject streamを指します。
サムネイルは実際のページコンテンツstreamといくつかの点で異なります。ベクターグラフィックスではなく事前レンダリングされた静的画像であり、使用するデータ量が大幅に少なく、小さいサイズでの高速表示に特化して最適化されています。ページコンテンツstreamには解釈とレンダリングが必要な描画命令が含まれていますが、サムネイルstreamにはJPEGやJPEG2000などの形式ですぐに表示可能なラスター画像データが含まれています。
PDF処理ライブラリを扱う開発者にとって、サムネイルstreamを理解することはいくつかの理由で重要です。第一に、サムネイルはフルページのレンダリングのオーバーヘッドなしに高速なページナビゲーションパネルやグリッドビューを可能にすることで、PDFビューアのユーザーエクスペリエンスを大幅に向上させます。第二に、プログラムでPDFを作成または操作する際、開発者は最適なドキュメントパフォーマンスを維持するためにサムネイルstreamを生成、抽出、または更新する必要がある場合があります。第三に、サムネイルstreamはファイルサイズと読み込み時間に影響を与えます。Web配信やモバイルアプリケーション向けにPDFを生成する際、サムネイル品質とドキュメントサイズのバランスを取ることは実用上の重要な考慮事項です。
サムネイルstreamは、ページオブジェクトから参照される標準的なPDF image XObjectとして機能します。PDFビューアがサムネイルパネルを表示する必要がある場合、ページディクショナリから/Thumbエントリを読み取ります。このエントリにはサムネイルのimage streamへの間接参照が含まれています。次にビューアは、指定されたフィルタ(JPEG圧縮の場合は一般的に/DCTDecode)を使用してこのstreamをデコードし、結果の画像を表示します。
技術的な構造には以下が含まれます:
- ページディクショナリ参照:各ページオブジェクトは、サムネイルstreamを指す
/Thumbキーを含めることができます - Image XObject Stream:サムネイル自体は、
/Width、/Height、/ColorSpace、/BitsPerComponentなどの必須エントリを持つ標準的なimage XObjectとして保存されます - 圧縮:サムネイルは通常、ストレージオーバーヘッドを最小限に抑えるために非可逆圧縮(JPEG)を使用します
- オプション生成:レンダリング機能が向上したため、最新のPDFプロセッサはサムネイルを保存するのではなく、動的に生成することが多くなっています
Apache PDFBox、iText、PDFiumなどのPDFライブラリを使用する開発者は、サムネイルAPIにアクセスして既存のサムネイルを抽出したり、解像度を下げてページをレンダリングし、その結果を画像streamとして保存することで新しいサムネイルを生成したりできます。
- PDF stream – フィルタリングおよびエンコードされたコンテンツを含む、PDFファイルの基本的なデータ構造
- XObject – PDFで参照および再利用できる外部オブジェクト(画像やフォームを含む)
- Page object – PDF文書内の単一ページを定義するディクショナリ構造
- Image XObject – ラスター画像データを含む特定のタイプのXObject
- Page tree – PDF文書内のすべてのページを組織化する階層構造
- (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
