BeginInlineImage
BeginInlineImageは、Apache PDFBoxにおいて、PDFコンテンツストリーム内に直接埋め込まれたインライン画像を処理するオペレータークラスです。別途リソースとして保存される外部画像XObjectとは異なり、インライン画像は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を処理する際、特に画像データを他のコンテンツオペレーターと密接に統合する必要がある文書において不可欠です。
BeginInlineImageは、Apache PDFBoxライブラリにおける専用のオペレータークラスで、PDF構文における「BI」(Begin Inline Image)オペレーターに対応します。このクラスはコンテンツストリーム内でインライン画像定義の開始をマークし、画像辞書パラメーター、画像データ、およびインライン画像終了オペレーターと連携して動作します。PDFのリソース辞書に保存され文書全体で再利用可能な参照型画像XObjectとは異なり、インライン画像は必要な場所のコンテンツストリームに一度だけ現れる自己完結型のユニットです。BeginInlineImageオペレーターは、画像パラメーター(幅、高さ、色空間、コンポーネントあたりのビット数など)を含むシーケンスを開始し、その後に実際の圧縮または非圧縮画像データが続き、インライン画像終了マーカーで終了します。このアプローチは通常、別個のXObjectリソースを作成するオーバーヘッドが非効率的となる、小さな使い切り画像に使用されます。
JavaでPDF処理を行う開発者にとって、BeginInlineImageの理解は以下のような実用的な理由から極めて重要です。第一に、インライン画像はスキャン文書、フォーム、ロゴやアイコンが埋め込まれたPDFなどに一般的に見られるため、PDF文書内のすべての画像タイプを正確に抽出およびレンダリングできるようになります。第二に、プログラム的にPDFを作成または修正する際、開発者は画像サイズ、再利用性、文書構造などの要因に基づいてインライン画像と画像XObjectのどちらを使用するか選択する必要があります。一般的に、インライン画像は4KB未満の小さな使い切りグラフィックスに適しています。第三に、BeginInlineImageオペレーターの適切な処理は、アクセシビリティ準拠 ( 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文書においてインライン画像を適切にタグ付けすることで、スクリーンリーダーや支援技術が正しく処理できるようになります。最後に、PDFレンダリングの問題をデバッグする際には、インライン画像のエンコードとデコードの方法を理解することが必要になることが多く、このオペレータークラスに精通していることはトラブルシューティングにおいて有益です。
