PDInlineImage
PDInlineImageは、Apache PDFBox PDModel APIのクラスで、PDFコンテンツストリーム内に直接埋め込まれたインライン画像を表します。
PDInlineImageは、Apache PDFBox PDModel APIのクラスで、PDFコンテンツストリーム内に直接埋め込まれたインライン画像を表します。リソースとして個別に保存され名前で参照される外部画像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
)
で定義されているインライン画像は、BI(begin inline image)オペレータとEI(end inline image)オペレータの間にページコンテンツストリーム内に直接エンコードされます。このクラスは、開発者がJavaアプリケーションでPDF文書を操作する際に、これらの埋め込み画像オブジェクトにプログラム的にアクセスし操作するためのメソッドを提供します。
PDInlineImageは、Apache PDFBoxのPDModelパッケージに含まれる高レベルJavaクラスで、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 ) によれば、インライン画像は特殊な画像表現形式であり、画像辞書と画像データがページリソース辞書内のImage XObjectとして個別に保存されるのではなく、コンテンツストリーム内に直接記述されます。このアプローチは、間接参照で外部リソースとして保存される画像を表すより一般的なPDImageXObjectクラスとは異なります。
PDInlineImageクラスは、幅、高さ、色空間、コンポーネントあたりのビット数、および画像データ自体などの画像プロパティにアクセスするメソッドを提供します。インライン画像は小さなシンプルなグラフィックには便利ですが、Image XObjectのように文書内で複数回参照することはできず、画像マスクや代替色空間などの高度な機能のサポートも欠いています。
PDInlineImageを理解することは、PDF文書内の画像コンテンツを抽出、分析、または変更する必要がある開発者にとって重要です。インライン画像は、特定のアプリケーションや変換ツールで生成されたPDF、特に小さなグラフィック、アイコン、装飾要素に一般的に見られます。 ( Citation: N.A., 2014 (N.A.). (2014). 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コンテンツを処理する際、開発者はインライン画像が適切に処理され、必要に応じて変換されたり適切な代替テキストで注釈が付けられたりすることを保証する必要があります。
インライン画像とImage XObjectの区別は、PDF最適化と操作に実際的な影響を与えます。インライン画像は再利用できないためファイル肥大化の原因となる可能性があり、PDInlineImageでそれらを識別することで、頻繁に出現するインライン画像を再利用可能なXObjectに変換するなどの最適化戦略を実装できます。さらに、コンテンツ管理システムやアーカイブ目的でPDFから画像を抽出する際、インライン画像とImage XObjectの両方を適切に処理することで、完全な画像抽出が保証されます。
PDFBoxがPDFコンテンツストリームを解析する際、BIオペレータに続く画像辞書、画像データの開始を示すIDオペレータ、最後に画像の終了を示すEIオペレータを検出することで、インライン画像シーケンスを識別します。PDInlineImageクラスはこの解析されたデータをラップし、インライン画像辞書パラメータをデコードし、圧縮されたまたは非圧縮の画像ストリームへのアクセスを提供するアクセサメソッドを提供します。
開発者は通常、PDFBoxのコンテンツストリーム処理APIを使用してPDFコンテンツストリームを走査する際にPDInlineImageオブジェクトに遭遇します。カスタムコンテンツストリームプロセッサは、インライン画像オペレータを処理するメソッドをオーバーライドでき、遭遇した各インライン画像についてPDInlineImageインスタンスを受け取ります。このクラスは、getWidth()、getHeight()、getColorSpace()、getStream()などのメソッドを提供し、画像プロパティとデータを取得できます。
画像データ自体は、DCTDecode(JPEG)、FlateDecode、またはASCIIエンコーディング方式など、様々な圧縮フィルタを使用してエンコードされている可能性があります。PDInlineImageは、開発者が画像データにアクセスする際に透過的に展開を処理しますが、インライン画像で利用可能な特定のフィルタはImage XObjectと比較してより制限されています。また、このクラスは、Javaアプリケーションでのさらなる処理やレンダリングのために、インライン画像をBufferedImageに変換するメソッドも提供します。
- PDImageXObject – PDFリソース辞書に保存され名前で参照される外部画像リソースを表す主要なクラス
- PDResources – Image XObject、フォント、その他の再利用可能なコンテンツを含むページリソースのコンテナクラス
- Content Stream – グラフィック、テキスト、インライン画像を含むページコンテンツを記述するPDFオペレータとオペランドのシーケンス
- PDPage – PDF文書内の単一ページを表し、コンテンツストリームとリソースへのアクセスを提供
- 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 ) で定義されている、文書全体で複数回参照できる外部画像リソース
- (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
- (N.A.) (2014)
- (N.A.). (2014). 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
