PDResourcesCacheは、Apache PDFBoxライブラリのJavaクラスであり、PDF文書処理中のリソースアクセスと管理のパフォーマンス最適化を提供します。プログラムで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
)
で定義されているフォント、画像、パターン、色空間などのリソースは、レンダリング、フォーム入力、コンテンツ抽出などの操作中に頻繁にアクセスされます。PDResourcesCacheは、冗長なリソース検索を削減し、処理効率を向上させるキャッシュメカニズムを実装しています。
PDResourcesCacheは、Apache PDFBoxのリソース管理システム内の内部ユーティリティクラスであり、頻繁にアクセスされるPDFリソースオブジェクトの一時保存層を維持します。PDFのページまたはコンテンツストリームで定義された実際のリソース辞書を表すPDResourcesクラスとは異なり、PDResourcesCacheは、すでに取得・解析されたリソースオブジェクトをメモリに格納する中間層として機能します。この区別は重要です。PDResourcesは
(
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
)
で定義されているリソース辞書構造へのインターフェースを提供するのに対し、PDResourcesCacheは処理セッション中のリソースへの繰り返しアクセスを最適化します。キャッシュは文書処理レベルで動作し、異なる文書セッション間で永続化されないため、メモリ使用量は現在の操作に限定されます。
PDSeedValueは、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文書へのデジタル署名の適用方法を制御する署名フィールドプロパティを読み取り、設定するためのプログラム的なアクセスを開発者に提供します。
PDSeedValueは、Apache PDFBoxのPDModelパッケージに含まれる高レベルAPIクラスで、PDF署名フォームフィールドに関連付けられたシード値辞書(SVエントリ)をカプセル化します。シード値辞書は、使用可能な署名ハンドラー、法的証明、証明書要件、署名理由や場所の制約など、署名作成プロセスを誘導または制限するパラメータを指定します。実際の署名データを含む署名辞書とは異なり、シード値辞書は文書に署名される前の署名作成のルールと設定を定義します。PDSeedValueは、PDF仕様で定義された辞書エントリにマッピングされるgetterおよびsetterメソッドを提供し、開発者が既存の署名フィールド設定を検査したり、特定の署名要件を持つ新しい署名フィールドを設定したりできるようにします。
PDSeedValueを理解し適切に活用することは、PDFアプリケーションでデジタル署名ワークフローを実装する開発者にとって極めて重要です。このクラスにより、開発者は文書への署名方法に制約を設定することで、組織のポリシーとセキュリティ要件をプログラム的に適用できます。例えば、特定の認証局を要求したり、署名理由を義務付けたり、許容される暗号化アルゴリズムを制限したりすることが可能です。署名を必要とするPDFフォームを生成するアプリケーションでは、PDSeedValueによって、エンドユーザーが適切な署名方法を使用し、必要な証明を提供することが保証されます。この機能は、署名検証基準が特定のコンプライアンス標準を満たす必要がある規制業界や、手動設定なしでユーザーを適切な文書署名手順に誘導する必要があるアプリケーションにとって特に重要です。
PDSeedValueMDPは、Apache PDFBoxのクラスで、PDFドキュメントの署名フィールドにおけるシード値辞書内のModification Detection and Prevention(MDP)設定を表現します。このクラスは、
(
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ドキュメントに対して許可される変更を制御する権限と制約にプログラムでアクセスする機能を提供します。MDP設定は、署名が適用された後に許可されるドキュメント変更のレベルを決定し、ドキュメントの完全性と真正性の維持に役立ちます。
PDSeedValueMDPは、Apache PDFBoxのPDModel APIレイヤーの一部であり、PDFのシード値辞書内のMDP(Modification Detection and Prevention)エントリに対応します。シード値辞書は、署名フィールドの制約とデフォルト値を定義し、MDPコンポーネントは署名後に許可される変更の種類を具体的に制御します。このクラスを使用することで、開発者はMDPアクセス権限値を読み取りおよび設定できます。この値は通常1から3の範囲で、各レベルはドキュメント変更に対してより厳しい制約を定義します。PDSeedValueMDPは、暗号化署名データそのものではなく、権限設定に特化している点で、一般的な署名フィールドクラスとは異なります。
(
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
)
で規定されているように、署名ハンドラがドキュメント変更ポリシーを実施するために使用する構成メカニズムとして機能します。
PDSeedValueTimeStampは、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
)
に準拠して署名タイムスタンプをどのように作成すべきかを制御するタイムスタンプ関連の設定を読み取り、変更するためのメソッドを提供します。これは、PDFドキュメント内のデジタル署名設定を操作するためのPDFBoxの高レベルAPIの一部です。
PDSeedValueTimeStampは、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
)
のシード値辞書内のタイムスタンプ辞書エントリに対応するJavaクラスです。シード値辞書は、署名の作成に関する制約とデフォルト値を定義します。PDF仕様では、シード値辞書により、文書作成者が署名の適用方法に関する要件を指定できます。これには、信頼されたTime Stamp Authority(TSA)からのタイムスタンプが必須か、または推奨かが含まれます。PDSeedValueTimeStampクラスは、タイムスタンプサーバーのURLや、タイムスタンプが必須であるかを示すフラグなどのプロパティをカプセル化します。一般的な署名フィールドのプロパティとは異なり、このクラスはデジタル署名のタイムスタンプコンポーネントに特化して対応します。タイムスタンプは、署名がいつ適用されたかを検証可能な形で証明するものです。これは、誰が文書に署名したかを証明する署名自体とは異なり、タイムスタンプはいつ署名されたかを証明します。
PDSeparationは、Apache PDFBox PDModel APIのクラスであり、PDF文書内のSeparationカラースペースを表現します。Separationカラースペースは、
(
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
)
で定義されているように、標準的なプロセスカラーを超えた個別のスポットカラーやカスタム着色剤を定義するために使用されます。このクラスにより、開発者は企業ブランドカラーやメタリック仕上げなど、個別のインクカラーを正確に制御する必要がある特殊な印刷ワークフローを扱うことができます。
PDSeparationは、Apache PDFBoxのPDModelパッケージ内の高レベルJavaクラスであり、PDFのSeparationカラースペース機能をカプセル化します。Separationカラースペースは、PDFが単一のカスタム着色剤(通常は専門的な印刷で使用されるスポットカラー)を名前で指定できるようにし、代替カラースペースと、スポットカラーを直接再現できないデバイスのために色を近似する濃度変換関数を伴います。標準チャネルの組み合わせとして色を表現するDeviceRGBやDeviceCMYKカラースペースとは異なり、Separationカラースペースは単一の名前付き着色剤を分離します。PDSeparationクラスは、着色剤名、代替カラースペース、濃度変換関数にアクセスするメソッドを提供し、開発者がこれらのプロパティをプログラム的に読み取り、場合によっては変更できるようにします。
専門的な印刷ワークフロー、ブランドアイデンティティシステム、またはドキュメントアーカイブを扱う開発者にとって、PDSeparationはスポットカラーを正しく処理するために不可欠です。スポットカラーは、色精度が最重要である場合(印刷物上で企業の正確なブランドカラーを再現する場合など)や、メタリック、蛍光、ニスなどの特殊インクが必要な場合に重要です。PDSeparationを理解し適切に実装することで、開発者はこれらの特殊カラーを含むPDFを処理する際に色の忠実性を保持し、誤った出力につながる可能性のある色変換エラーを防ぎ、異なるレンダリングシステム間でドキュメントが意図した外観を維持することを保証できます。Separationカラースペースの適切な処理がない場合、スポットカラーがプロセスカラーに誤って変換され、視覚的な不一致やブランドの不整合を引き起こす可能性があります。
PDShadingは、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
)
で定義されているように、単純な塗りつぶし色よりも洗練された滑らかな色の遷移やグラデーションを作成するために使用されます。このクラスは、Java開発者に対して、PDF内の図形や領域にわたる色のブレンド方法を制御するシェーディングオブジェクトを読み取り、作成、変更するためのメソッドを提供します。
PDShadingは、Apache PDFBoxのorg.apache.pdfbox.pdmodel.graphics.shadingパッケージにある抽象基底クラスで、PDFシェーディング辞書をカプセル化します。PDF内のシェーディングは、単純な単色や繰り返しパターンとは異なり、幾何学的領域全体にわたる滑らかな色の遷移を定義するベクターベースのグラフィカル要素です。PDShadingクラスには、
(
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
)
で定義されている様々なシェーディングタイプに対応する複数の具象サブクラスがあり、これには軸方向(Type 2)、放射状(Type 3)、関数ベース(Type 1)、メッシュベースのシェーディング(Type 4-7)が含まれます。単純な塗りつぶし色が領域に均一な色を適用するのに対し、シェーディングは数学関数を使用して空間全体で複数の色を滑らかにブレンドし、線形グラデーション、放射状グラデーション、または複雑な色メッシュなどの効果を作成できます。
PDShadingPatternは、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
)
で定義された高度な塗りつぶしタイプで、単純なベタ塗りやタイルパターンとは異なり、滑らかな色の遷移やグラデーションを作成します。このクラスにより、Java開発者はPDFファイル内のシェーディングベースの視覚効果をプログラムで読み取り、作成、修正することができます。
PDShadingPatternは、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
)
において、シェーディングパターンは2つの主要なパターンタイプの1つ(もう1つはタイリングパターン)を表し、数学的関数を使用して領域全体に段階的な色の遷移を定義します。これらのパターンは、軸方向(線形)グラデーション、放射状グラデーション、関数ベースのシェーディング、Gouraudシェーディング三角メッシュ、Coonsパッチメッシュ、テンソル積パッチメッシュなどを表現できます。
PDShadingType1は、
(
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文書内の関数ベースのシェーディングパターンを表すApache PDFBoxのクラスです。このクラスはPDFBoxの高レベルPDModel APIの一部であり、Type 1シェーディングを扱うためのメソッドを提供します。Type 1シェーディングは、矩形領域全体で数学的関数に基づいて色を計算します。関数ベースのシェーディングにより、大量のビットマップデータを必要とせずに、滑らかな色の遷移やグラデーションを実現できます。
PDShadingType1は、Apache PDFBoxライブラリ内のJavaクラスで、PDFのType 1(関数ベース)シェーディングパターンのサポートを実装しています。
(
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
)
によると、Type 1シェーディングは座標系内の位置の関数として色を定義し、矩形領域内の各点は指定された関数を評価することによって計算された色値に関連付けられます。ビットマップベースのアプローチとは異なり、関数ベースのシェーディングは数学的関数を使用してプログラム的に滑らかな色のグラデーションを生成します。
PDShadingType2は、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
)
で定義されている軸方向(線形)シェーディングパターンを表すApache PDFBoxのクラスです。この高レベルなPDModel APIクラスを使用することで、開発者はType 2シェーディングをプログラムで読み取り、操作することができます。Type 2シェーディングは、2点間の直線に沿って滑らかな色の遷移を作成します。このクラスは、PDFファイル内の複雑なグラフィカル要素を処理するためのPDFBoxのリソース管理システムの一部です。
PDShadingType2は、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
)
で定義されているType 2(軸方向)シェーディング辞書をカプセル化する、Apache PDFBox内の特殊なJavaクラスです。Type 2シェーディングは、2つの座標点で定義される線形軸に沿って滑らかに変化するカラーグラデーションを生成し、この軸に垂直に色を補間することで線形グラデーションのような効果を作り出します。このクラスはベースクラスであるPDShadingを拡張し、開始座標と終了座標、色遷移を定義する関数、定義された端点を超えてシェーディングを拡張するかどうかなど、シェーディング固有のプロパティにアクセスおよび変更するためのメソッドを提供します。円形グラデーションを作成するType 3(放射状)シェーディングや、メッシュベースのパターンを使用するType 4-7シェーディングとは異なり、PDShadingType2は、PDFコンテンツの背景、塗りつぶし、視覚効果に一般的に使用される線形グラデーション効果を特に処理します。
PDShadingType3は、Apache PDFBoxの高レベルPDModel APIに含まれるクラスで、PDF文書におけるType 3(放射状)シェーディングパターンを表します。このクラスは、
(
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
)
で定義されているように、2つの円の間で色を滑らかにブレンドする放射状グラデーションシェーディングを読み取り、操作するためのプログラマティックなアクセスを提供します。開発者は、円形または楕円形のカラーグラデーションを必要とする高度なPDFグラフィックスを扱う際に、このクラスを使用します。
PDShadingType3は、Apache PDFBoxのorg.apache.pdfbox.pdmodel.graphics.shadingパッケージ内のJavaクラスで、Type 3シェーディング(放射状シェーディング)を専門的に処理します。
(
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仕様において、Type 3シェーディングは、1つの円から別の円へ放射状に広がる色の遷移を定義し、スポットライト、球体、放射状グラデーションなどの効果を作成します。このクラスは、PDFBoxの他のシェーディングタイプとは異なります。PDShadingType1は関数ベースのシェーディング、PDShadingType2は軸方向(線形)シェーディング、より大きい番号のタイプはメッシュベースのシェーディングを処理します。PDShadingType3は、2つの定義円(それぞれ中心座標と半径を持つ)、円間の補間を決定するカラー関数、および円の外側にシェーディングを拡張するかどうかなどの各種レンダリングパラメータにアクセスするメソッドを提供します。