LosslessFactory
LosslessFactoryは、Apache PDFBoxにおいて、可逆圧縮を用いたPDFコンテンツストリームを作成するためのメソッドを提供するユーティリティクラスです。
LosslessFactoryは、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 ) で規定されているように、テキスト、図表、またはピクセル単位での正確性が求められる画像を扱う際に特に重要です。このファクトリクラスは、高忠実度を必要とする視覚的コンテンツを含むPDF文書をプログラムで生成または変更する際に一般的に使用されます。
LosslessFactoryは、Apache PDFBoxライブラリ内のJavaクラスであり、可逆圧縮アルゴリズムを用いてPDFImageXObjectインスタンスを作成することに特化しています。ファイルサイズを削減するためにデータを破棄する非可逆圧縮方式とは異なり、LosslessFactoryは元の画像データのすべてのビットを保持するため、品質を妥協できないコンテンツに最適です。このクラスは、BufferedImageオブジェクトを受け取り、Flate(ZIP)圧縮などの可逆圧縮技術を使用してPDF互換の画像リソースに変換する静的メソッドを提供します。これは、JPEGなどの非可逆圧縮スキームを適用する可能性のあるPDFBoxの他の画像処理アプローチとは異なります。非可逆圧縮では、アーティファクトが生じたり視覚品質が低下したりする可能性があり、 ( 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生成や操作を行う開発者にとって、LosslessFactoryは画像品質とデータの整合性が譲れない要件である場合に不可欠です。文書アーカイブ、法的文書、技術図面、スクリーンショット、またはアクセシビリティ準拠のPDFに関わるアプリケーションは、可逆圧縮から大きな恩恵を受けます。 ( Citation: PDF Association, 2023 PDF Association(2023). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/ ) で概説されているアクセシビリティ基準を満たすTagged PDFを作成する際、画像としてレンダリングされたテキストの明瞭性を維持したり、代替表現の鮮明さを保持したりすることは、支援技術を使用するユーザーにとって極めて重要になります。さらに、可逆圧縮により、複数の編集サイクルにわたって文書を処理、抽出、または再利用する際に、累積的な品質劣化が生じないことが保証されます。
LosslessFactoryは、JavaのBufferedImageオブジェクトを受け取り、PDFコンテンツストリームに埋め込むのに適したPDFImageXObjectインスタンスに変換することで動作します。このクラスは、生の画像データにFlate圧縮(
(
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
)
で定義されているDEFLATEアルゴリズムに基づく)を適用し、情報の損失なしに圧縮を実現します。開発者は通常、createFromImage()メソッドを使用し、PDDocumentインスタンスとBufferedImageをパラメータとして渡します。ファクトリは、色空間、ビット深度、ピクセルデータの適切なPDF画像辞書形式への変換を処理します。生成されたPDFImageXObjectは、PDPageContentStreamを使用してPDPage上に描画でき、元の画像から正確なピクセル値を維持します。このアプローチは、テキストを画像としてレンダリングする際に特に有用です。わずかな圧縮アーティファクトでも可読性やOCR精度に影響を与える可能性があるためです。
- PDFImageXObject – LosslessFactoryによって作成され、文書に埋め込まれるPDF画像リソースオブジェクト
- CCITTFactory – CCITT圧縮を用いてモノクロ画像を作成するApache PDFBoxファクトリクラス
- JPEGFactory – 非可逆JPEG圧縮を用いて画像を作成するApache PDFBoxファクトリクラス
- Flate圧縮 – DEFLATEに基づく、PDF文書で一般的に使用される可逆圧縮アルゴリズム
- Tagged PDF – アクセシビリティのために高品質な画像レンダリングを必要とすることが多い、構造情報を持つ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
- 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
