org.apache.pdfbox.cos
`org.apache.pdfbox.cos`パッケージは、Apache PDFBoxのコアとなるJavaパッケージであり、Carousel Object System(COS)を通じてPDF文書構造への低レベルアクセスを提供します。
org.apache.pdfbox.cosパッケージは、Apache PDFBoxのコアとなるJavaパッケージであり、Carousel Object System(COS)を通じてPDF文書構造への低レベルアクセスを提供します。COSは、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オブジェクトを最も基本的なレベルで読み取り、作成、操作することを可能にします。このパッケージは、より高レベルなPDFBox APIの基盤を形成し、PDF文書コンポーネントに対する直接的な制御を提供します。
org.apache.pdfbox.cosパッケージは、Carousel Object Systemを実装しています。これは、PDF仕様で定義されている8つの基本オブジェクトタイプ(ブール値、整数と実数、文字列、名前、配列、辞書、ストリーム、およびnullオブジェクト)のPDFBoxにおける表現です
(
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
)
。各オブジェクトタイプには、このパッケージ内に対応するJavaクラス(COSBoolean、COSInteger、COSString、COSName、COSArray、COSDictionary、COSStreamなど)があります。ページ、フォント、画像を扱うための抽象化レイヤーを提供する高レベルなPDFBoxパッケージとは異なり、COSパッケージは生のPDFオブジェクトレベルで動作し、実際のPDFファイル構造を扱うのと同様の直接操作機能を提供します。
org.apache.pdfbox.cosパッケージの理解は、標準的な文書操作を超えた高度なPDF操作タスクを実行する必要がある開発者にとって不可欠です。このパッケージにより、開発者はTagged PDF
(
Citation: PDF Association, 2023
PDF Association(2023). Retrieved from
https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/
)
などのアクセシビリティ機能の実装、カスタムPDF拡張の作成、複雑な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要件に取り組む際、適切な文書構造とメタデータ構成を確保するために、COSレベルでの直接操作が必要になることがよくあります。
COSパッケージは、すべてのCOSオブジェクトの抽象基底クラスとしてCOSBaseを使用する階層構造でPDFオブジェクトを整理します。PDFBoxがPDF文書を解析すると、文書の内部構造を反映する対応するCOSオブジェクトが作成されます。開発者は、COSDictionary.getItem()やCOSArray.get()などのメソッドを使用してこのオブジェクトグラフをトラバースし、特定の要素にアクセスできます。たとえば、Tagged PDF操作のためにページの構造ツリーにアクセスするには、開発者は文書カタログを表すCOSDictionaryオブジェクトをナビゲートし、次に構造要素を含むネストされた辞書と配列にアクセスします。このパッケージは、単一のPDFファイル内のすべてのCOSオブジェクトのコンテナとして機能し、オブジェクト参照とクロスリファレンステーブルを管理するCOSDocumentクラスも提供します。COSオブジェクトに加えられた変更は、文書が保存される際にPDFに反映され、PDFBoxがPDF構文への直列化を処理します。
- Apache PDFBox – PDF文書の作成と操作を行うオープンソースJavaライブラリ
- PDF Document Structure – PDFファイル内のオブジェクトと要素の階層的な構成
- Tagged PDF – アクセシビリティとコンテンツ再利用のための構造マークアップを含むPDF文書
- PDF Object – 辞書、配列、ストリーム、プリミティブ型などのPDFファイルにおける基本的なデータ単位
- Document Catalog – トレーラー辞書から参照される、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
