FillOrderChangeInputStream
FillOrderChangeInputStreamは、Apache PDFBoxにおいてPDF文書内の画像データストリームのバイト順序変換を処理するユーティリティクラスです。
FillOrderChangeInputStreamは、Apache PDFBoxにおいてPDF文書内の画像データストリームのバイト順序変換を処理するユーティリティクラスです。非標準のビット順序でエンコードされた画像データを処理する際、この入力ストリームラッパーは、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 ) で要求される期待される形式にデータを自動的に変換します。このクラスは、TIFF画像や、ピクセルデータを逆ビット順序で保存する可能性のある他の形式を扱う際に特に重要です。
FillOrderChangeInputStreamは、基底ストリームから読み取られるバイトのビット順序を反転するJava入力ストリームラッパークラスです。PDF文書では、画像データは通常、最上位ビット(MSB)ファーストで保存されますが、一部の画像形式、特に特定のTIFF派生形式では、最下位ビット(LSB)ファーストでデータを保存します。このクラスは、リアルタイムでビット順序変換を実行することで、そのギャップを埋めます。汎用ストリーム変換器とは異なり、FillOrderChangeInputStreamは、 ( 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ファイル内の画像辞書に含まれるFillOrderパラメータ専用に設計されています。このクラスは透過的に動作し、PDF処理コードがビット順序の変動を手動で処理する必要なく画像データを扱えるようにします。
PDF画像処理に携わる開発者にとって、FillOrderChangeInputStreamは、画像の破損やレンダリング失敗を引き起こす可能性のある重要な互換性問題を解決します。適切なビット順序処理がなければ、PDFに埋め込まれた画像が文字化けしたり、完全にデコードに失敗したりする可能性があります。これは、PDFから画像を抽出する場合、異なる画像形式間で変換する場合、または画像のアクセシビリティと適切なレンダリングが不可欠なPDF/UA準拠 ( 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処理パイプラインが実現します。これは、レガシー文書や非標準のビット順序を生成する特殊な画像機器を扱う際に、画像の忠実性を維持するための重要なコンポーネントです。
FillOrderChangeInputStreamは既存のInputStreamをラップし、読み取り操作をインターセプトしてオンザフライでビット反転を実行します。このストリームを通じてバイトが読み取られると、各バイトはルックアップテーブルまたはビットシフト操作を使用してビット順序が反転されます。たとえば、2進数値10110001(MSBファースト)は10001101(LSBファースト)になります。このクラスはストリーム位置を維持し、read()、skip()、available()などの標準入力ストリーム操作をサポートします。Apache PDFBoxは、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 ) で指定されているように、反転ビット順序を示すFillOrder値を持つ画像辞書に遭遇すると、このストリームを自動的にインスタンス化します。変換は画像デコード中に透過的に行われ、ダウンストリームの画像処理コンポーネントが、PDFファイルに元々どのように保存されていたかに関係なく、常に正しい形式でデータを受け取ることを保証します。
- CCITTFaxDecodeFilter – 適切なデコードのためにフィル順序処理を必要とすることが多い、FAX画像用の圧縮フィルター
- Image XObject – 画像データを含み、フィル順序パラメータを指定する可能性のあるPDFオブジェクトタイプ
- Stream Filter – 画像圧縮を含む、PDFストリームデータをエンコードおよびデコードするための一般的なメカニズム
- Decode Array – レンダリング中に画像サンプルデータがどのように解釈されるかを制御するパラメータ
- TIFF Image – PDFに埋め込まれる際にビット順序変換を必要とすることが多いTagged Image File Format
- (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
