PDImage
PDImageは、Apache PDFBox PDModel APIの高レベルクラスであり、PDF文書内の画像リソースを表現します。
PDImageは、Apache PDFBox PDModel APIの高レベルクラスであり、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 ) などの仕様に準拠したPDFファイルに埋め込まれている、または参照されている画像オブジェクトを、プログラムによって読み取り、操作し、書き込むためのアクセス手段を開発者に提供します。PDImageは、PDF画像構造の複雑さを抽象化することで、Java開発者が低レベルのPDFオブジェクト構文を直接扱うことなく画像を操作できるようにします。
PDImageは、Apache PDFBoxのorg.apache.pdfbox.pdmodel.graphics.imageパッケージ内の抽象クラスであり、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 ) で定義されている画像XObjectを表現します。画像XObjectとは、画像データを含む外部オブジェクトであり、PDF文書全体で複数回参照およびレンダリングできます。PDImageは、生の画像ファイル形式(JPEGやPNGなど)とは異なり、PDF構造内にすでに埋め込まれている画像を表現し、カラースペース、画像マスク、フィルタ、レンダリングパラメータなどのPDF固有のメタデータを含みます。このクラスは、幅、高さ、コンポーネントあたりのビット数、カラースペースなどの画像プロパティにアクセスするメソッドや、生の画像データを抽出したり、標準的なJavaのBufferedImageオブジェクトに変換して更なる処理を行うためのメソッドを提供します。
PDImageの理解は、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を扱う際、開発者は、意味のある画像に適切な代替テキストが関連付けられていることを確認したり、装飾的な画像が適切にマークされていることを検証するために、画像リソースを調査または修正する必要があることがよくあります。PDImageは、これらの画像リソースにプログラムでアクセスするための必要なインターフェースを提供し、PDF検証、コンテンツ抽出、画像最適化、または文書修正タスクの自動化を可能にします。大量のPDF文書を処理する企業アプリケーションにおいて、PDImageは外部ツールや手動介入を必要とせずに効率的な画像抽出を可能にし、開発時間を短縮し、アプリケーションのパフォーマンスを向上させます。
PDImageは、PDFBoxのオブジェクトモデル階層の一部として機能し、PDImageXObject(標準画像用)やPDInlineImage(インライン画像データ用)などの特定の画像実装の親クラスとして機能します。PDFページが解析されると、画像リソースはページのリソースディクショナリに格納され、PDImageインスタンスはPDResourcesクラスを通じてこれらのリソースへのアクセスを提供します。開発者は通常、ページリソースを反復処理するか、名前付き画像リソースに直接アクセスすることで、PDImageオブジェクトを取得します。このクラスは、JPEGの圧縮にはDCTDecode、PNGのような圧縮にはFlateDecodeなどのさまざまな圧縮フィルタのサポート、透明度のための画像マスク、カラースペース変換を含む、PDF画像エンコーディングの複雑さを処理します。内部的には、PDImageは実際のエンコードされた画像データを含むPDFBoxの低レベルCOSStreamオブジェクトとインターフェースしますが、開発者が内部のCOS(Carousel Object System)構造を理解する必要がないように保護します。画像を抽出する際、PDImageはPDF固有の形式をデコードし、即座に使用できるJavaのBufferedImageとして、またはカスタム処理のための生のバイトとして画像データを提供でき、 ( 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 ) で指定されているカラースペース変換を処理し、透明度に必要な画像マスクやソフトマスクを適用します。
- PDResources – 画像、フォント、グラフィック状態を含むページレベルのリソースを管理するコンテナクラス
- PDImageXObject – PDF文書内の外部画像オブジェクトを表現するPDImageの具象実装
- XObject – 画像やフォームを含む、外部の再利用可能なコンテンツのための一般的なPDFオブジェクトタイプ
- COSStream – エンコードされた画像データを含む基礎となるストリームオブジェクトを表現するPDFBoxの低レベルクラス
- Tagged PDF – アクセシビリティのためのセマンティック情報を含むPDF構造であり、 ( Citation: PDF Association, 2023 PDF Association(2023). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/ ) に記載されているような適切な画像処理が必要とされることが多い
- (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 Association (2023)
- PDF Association(2023). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/
- (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
