PDDocumentOutlineは、Apache PDFBoxライブラリに含まれるJavaクラスで、PDFファイルの文書アウトライン(ブックマークとも呼ばれる)を表現します。この高レベル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
)
においてオプションのナビゲーション機能として定義されており、ユーザーのアクセシビリティと文書の使いやすさを向上させます。特に
(
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において重要です。
PDEmbeddedFileは、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文書には埋め込みファイルストリームを含めることができ、完全なファイルをPDF構造内に格納することが可能です。このクラスにより、開発者はPDFBoxの高レベルなオブジェクト指向インターフェースを使用して、これらの埋め込みファイルの読み取り、抽出、操作を行うことができます。
PDEmbeddedFileは、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の内部構造に直接格納された完全なファイルです。PDEmbeddedFileクラスは、低レベルのCOS(Carousel Object System)レイヤーオブジェクトをラップし、ファイル名、説明、MIMEタイプ、作成日時と更新日時、サイズ、実際のファイルデータストリームなどの埋め込みファイルプロパティにアクセスするための便利なメソッドを提供します。このクラスは、ファイル参照自体を記述するPDFileSpecificationとは異なり、PDEmbeddedFileは埋め込みファイルストリームデータとそれに関連するメタデータを具体的に扱います。
PDEmbeddedFilesNameTreeNodeは、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
)
で定義されているファイル添付を保存する標準的な方法です。名前ツリー構造により、埋め込みファイルを名前で効率的に検索および管理できます。
PDEmbeddedFilesNameTreeNodeは、PDF埋め込みファイル名前ツリーのノードを表す高レベルJavaクラスです。PDF文書では、埋め込みファイル(ファイル添付とも呼ばれる)は、大量の添付ファイルを扱う際のパフォーマンスを最適化するため、単純なフラット配列ではなく名前ツリー構造で保存されます。このクラスは、基礎となるPDF辞書構造のラッパーとして機能し、ツリーを走査し、埋め込みファイル仕様を取得し、新しい添付ファイルを追加するためのオブジェクト指向メソッドを提供します。PDF辞書の直接操作とは異なり、PDEmbeddedFilesNameTreeNodeは名前ツリー構造の複雑さを抽象化し、リーフノード(実際の埋め込みファイル参照を含む)と中間ノード(子ノードへの参照を含む)の両方を自動的に処理します。
PDFファイル添付を扱う開発者にとって、PDEmbeddedFilesNameTreeNodeは文書管理アプリケーションに不可欠な機能を提供します。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ファイルから埋め込みリソースを検証、監査、または抽出する必要がある文書処理ワークフローを構築する際に特に重要です。さらに、開発者がPDFにプログラマティックに添付ファイルを追加できるため、ポートフォリオPDF、ソースファイル付きのアーカイブ文書、または代替フォーマット添付付きのアクセシブルな文書を作成する際に不可欠です。
PDEncryptionは、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文書を保護する暗号化プロパティの読み取り、変更、設定が可能になります。PDEncryptionは、PDF文書の暗号化辞書のJavaオブジェクト表現として機能し、開発者がアプリケーションに文書セキュリティ機能を実装できるようにします。
PDEncryptionは、Apache PDFBoxのPDModelレイヤー内のJavaクラスであり、PDF暗号化機能をカプセル化します。このクラスは、PDF仕様で定義された基礎となる暗号化辞書構造のラッパーとして機能し、暗号化アルゴリズム、ユーザーパスワードとオーナーパスワード、権限フラグなどのセキュリティ設定を操作するためのオブジェクト指向メソッドを提供します。
PDFプリミティブオブジェクトを直接扱うPDFBoxのCOS(Carousel Object System)レイヤーの低レベルクラスとは異なり、PDEncryptionはより高い抽象化レベルで動作し、JavaデータタイプとPDF暗号化構造の間を変換します。このクラスは、アクセス権限に特化したPDProtectionとは異なり、暗号化パラメータや鍵管理を含むより広範な暗号化設定を扱います。
このクラスはorg.apache.pdfbox.pdmodel.encryptionパッケージの一部であり、他のセキュリティ関連クラスと連携してPDF文書の完全な暗号化ワークフローを実装します。
PDFセキュリティを扱う開発者にとって、PDEncryptionはJavaアプリケーションで文書保護機能を実装するために不可欠です。PDFに暗号化を適用するための標準化されたインターフェースを提供し、機密文書が保存および転送中に安全に保たれることを保証します。
PDEncryptionDictionaryは、Apache PDFBox PDModel APIの高レベルクラスであり、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
)
で定義されているアクセス権限、暗号化アルゴリズム、認証方法を制御するセキュリティ設定とパラメータが格納されています。このクラスにより、開発者はパスワード保護、ユーザー権限、暗号化強度など、文書レベルのセキュリティ設定を検査および変更できます。
PDEncryptionDictionaryは、PDF文書のトレーラーまたは文書カタログ内の暗号化辞書構造を表すJavaクラスです。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
)
において、暗号化辞書にはセキュリティハンドラ、暗号化フィルタ、鍵長、各種権限フラグを指定する必須エントリとオプションエントリが含まれています。COS(Carousel Object Structure)オブジェクトを直接扱う低レベルのPDFBoxクラスとは異なり、PDEncryptionDictionaryは、セキュリティハンドラ名、フィルタタイプ、暗号化鍵長(通常40、128、または256ビット)、印刷、コンテンツのコピー、文書の組み立て、フォームの記入などの操作を制御する権限フラグなどの暗号化パラメータにアクセスするための型付きメソッドを備えた、開発者に優しいインターフェースを提供します。この抽象化レイヤーにより、開発者は基盤となるPDFオブジェクト構文の複雑さから保護されながら、セキュリティ関連の文書プロパティへの完全なアクセスを維持できます。
PDExportFormatAttributeObjectは、Apache PDFBoxライブラリの高レベルPDModel APIに含まれるJavaクラスで、開発者が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コンポーネントへのアクセスを提供します。PDFBoxのPDModel APIは、PDFファイル形式の低レベルな複雑さを抽象化し、Java開発者がPDFドキュメントをプログラムで扱いやすくします。
PDExportFormatAttributeObjectは、Apache PDFBoxのPDModelパッケージ内の特殊なクラスで、JavaアプリケーションとPDFドキュメントの内部構造の間のインターフェースとして機能します。PDFの構文やバイナリ構造を直接扱う低レベルなPDF操作クラスとは異なり、PDExportFormatAttributeObjectはより高い抽象化レベルで動作し、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
)
で定められた標準を実装するPDFBoxの包括的なAPIの一部であり、開発者がPDFファイル形式仕様の深い知識を必要とせずにPDFドキュメントを操作できるようにします。このクラスは、エクスポート形式属性に特化している点で、他の類似PDFBoxクラスとは異なります。エクスポート形式属性は、PDFコンテンツがアクセスされたり他の形式に変換されたりする際に、どのように構造化され表示されるかを制御します。
PDExtendedGraphicsStateは、Apache PDFBoxライブラリのJavaクラスで、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
)
で定義されている線幅、ブレンドモード、透明度、ストローク調整設定などの高度なレンダリングパラメータを制御します。このクラスはPDFBoxのPDModel APIレイヤーの一部であり、低レベルのPDF構造を開発者にとって使いやすいJavaオブジェクトに抽象化し、PDF文書の読み取りと操作を可能にします。
PDExtendedGraphicsStateは、Apache PDFBoxにおける具体的な実装クラスで、PDF仕様の拡張グラフィックス状態(ExtGState)オブジェクトを表現します。PDF文書において、拡張グラフィックス状態辞書には、基本的な色や位置指定を超えた、透明度設定、オーバープリント制御、ブレンドモード、ストロークパラメータなど、コンテンツのレンダリング方法を変更するパラメータが含まれています。
このクラスは、単純なPDFコンテンツストリームコマンドでは利用できないパラメータをカプセル化することで、基本的なグラフィックス状態オペレータとは異なります。色や線幅の設定などの基本的なグラフィックス状態操作はコンテンツストリーム内で直接呼び出すことができますが、拡張グラフィックス状態パラメータは名前で参照される別の辞書リソースを必要とします。PDExtendedGraphicsStateはこの辞書構造をラップし、PDF仕様で定義された各パラメータのgetterおよびsetterメソッドを提供します。
このクラスはPDFBoxのリソース管理フレームワーク内で動作し、拡張グラフィックス状態辞書はページのリソース辞書に保存され、コンテンツストリーム内でgsオペレータとリソース名を使用して参照されます。
PDF生成や操作を行う開発者にとって、PDExtendedGraphicsStateは、高度な視覚効果を必要とする文書を作成する場合や、複雑なグラフィックスの適切なレンダリングを保証する場合に不可欠です。透明効果、重なり合うオブジェクト間の高度なブレンド、ストロークとフィルの動作に対する正確な制御は、すべて拡張グラフィックス状態パラメータに依存しています。
PDExternalDataDictionaryは、Apache PDFBox PDModel APIに含まれるJavaクラスで、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の拡張可能なアーキテクチャの一部である外部データ参照に、プログラム的にアクセスし操作できます。このクラスは、外部データ辞書を扱うための型安全なインターフェースを提供し、PDFが文書構造と整合性を維持しながら外部ソースからのデータを参照または埋め込むことを可能にします。
PDExternalDataDictionaryは、Apache PDFBoxのPDModelレイヤー内の具体的な実装クラスで、PDFファイル内の外部データ辞書オブジェクトの読み取り、作成、変更の機能をカプセル化します。PDFのオブジェクト構造を直接扱う低レベルのCOS(Carousel Object System)クラスとは異なり、PDExternalDataDictionaryは、PDF仕様に従って辞書エントリ、型検証、適切なエンコーディングの複雑さを処理する開発者に優しいAPIを提供します。
外部データ辞書は、PDF構造の直接的な範囲外や別個のストリームに保存されたデータへの参照を定義する特殊なPDFオブジェクトです。このクラスは、視覚的要素や構造的要素ではなく、外部コンテンツへのメタデータと参照を特に扱うという点で、PDPageやPDAnnotationなどの他のPDModelクラスとは異なります。PDExternalDataDictionaryクラスは、基礎となるCOSDictionaryの操作を抽象化し、
(
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
)
で外部データ辞書構造に対して指定されている必須エントリとオプショナルエントリに対応するgetterおよびsetterメソッドを提供します。
PDFCloneUtilityは、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文書をプログラム的に結合、分割、操作する際に不可欠な機能であり、異なる文書コンテキスト間でオブジェクトを転送する際にその整合性と関係性を維持します。このユーティリティは、ネストされた構造、辞書、配列の複製の複雑さを処理し、適切なオブジェクト参照を維持します。
PDFCloneUtilityは、Apache PDFBox内の特殊なヘルパークラスであり、あるPDF文書から別のPDF文書へのPDFオブジェクト(COSBaseオブジェクト)のディープクローニングを管理します。単純なオブジェクトコピーとは異なり、PDFCloneUtilityは参照されるすべてのオブジェクトが適切に複製され、循環参照が正しく処理されることを保証します。このユーティリティは元のオブジェクトとそのクローンとの対応関係を保持し、重複したクローニングを防ぎ、文書のオブジェクトグラフ構造を維持します。フォントや画像などの共有オブジェクトを参照するフォームフィールド、注釈、ページリソースなど、相互参照を含む複雑なPDF構造を扱う際に特に重要です。
PDF操作タスクを行う開発者にとって、PDFCloneUtilityはいくつかの一般的な操作において重要です。複数のPDFを単一の文書に結合する場合、ソース文書のオブジェクトを単に参照することはできず、ターゲット文書のオブジェクト構造に適切にクローンする必要があります。同様に、ページを抽出したり既存のコンテンツから新しい文書を作成したりする際、PDFCloneUtilityはすべての依存リソース(フォント、画像、色空間、注釈)が正しく転送されることを保証します。適切なクローニングがなければ、PDF文書が破損したり、正しく表示されなかったり、検証に失敗したりする可能性があります。このユーティリティは、PDFの間接オブジェクト参照とリソース辞書の管理の複雑さを抽象化し、不正な形式の文書を作成するリスクを大幅に軽減します。
PDFGraphicsStreamEngineは、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
)
で規定されているように、PDFページ上でグラフィック要素、テキスト、画像がどのようにレンダリングされるかを定義するPDFコンテンツストリーム内のオペランドとオペレーターを解析し、解釈します。PDFコンテンツのレンダリングとPDF文書からの構造化された情報の抽出の両方において、このクラスは基盤として機能します。
PDFGraphicsStreamEngineは、Apache PDFBoxライブラリの抽象基底クラスであり、PDFコンテンツストリームに含まれる低レベルの描画コマンドを解釈します。文書構造を扱う高レベルのPDFBoxクラス(PDDocumentやPDPageなど)とは異なり、PDFGraphicsStreamEngineはコンテンツストリームレベルで動作し、グラフィック状態、パス、テキスト位置、リソース参照を定義するオペレーターのシーケンスを解析します。
このクラスは、各PDFオペレーター(テキスト表示のTj、パス移動のm、ストローク描画のSなど)が対応するメソッドを呼び出すコマンドパターンを実装しています。開発者はこのクラスを継承し、関心のある操作を傍受して処理するために特定のメソッドをオーバーライドします。これは単にPDFオブジェクトを読み取るのとは異なり、PDFビューアによって実行される描画命令の解釈されたビューを提供します。
PDFGraphicsStreamEngineは、グラフィック状態スタックを維持し、コンテンツストリームの処理中に変換、色、線のプロパティ、その他のレンダリングパラメーターを追跡することで、PDF仕様規則に従って操作が正しいコンテキストで解釈されることを保証します。
PDFコンテンツの抽出、解析、操作を行う開発者にとって、PDFGraphicsStreamEngineは、PDFでコンテンツが実際にどのように描画されるかへの重要な低レベルアクセスを提供します。これが重要なのは、PDF文書が単純な階層構造でコンテンツを保存しているのではなく、順次解釈する必要がある描画コマンドのストリームを含んでいるためです。