PDCIDFontは、Apache PDFBox PDModel API内のクラスで、PDF文書内のCIDFont(Character Identifier Font)を表現します。CIDFontは、
(
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
)
で定義されているように、中国語、日本語、韓国語などのアジア言語において大規模な文字セットを扱うために設計された複合フォントタイプです。このクラスは、フォント記述子、文字マッピング、エンコーディング情報を含むCIDFontプロパティの読み取りと操作を、開発者がプログラムで行えるようにします。
PDCIDFontは、Apache PDFBoxのPDModel APIレイヤー内の高レベルJavaクラスで、PDF文書内に存在するCIDFontオブジェクトをカプセル化します。文字コードをグリフに直接マッピングする単純なフォントとは異なり、CIDFontは2段階のマッピングプロセスを使用します。まず文字コードからCharacter Identifier(CID)へ、次にCIDから実際のグリフへとマッピングします。このアーキテクチャにより、CIDFontは数千から数万の文字を含む文字セットをサポートでき、大規模な文字レパートリーを持つ言語に不可欠です。
PDCIDFontクラスは、基盤となるCOS(Carousel Object Structure)レイヤーオブジェクトのラッパーとして機能し、開発者により直感的で型安全なインターフェースを提供します。このクラスはPDFBox内の基本フォントクラスを継承し、CIDSystemInfo辞書へのアクセス、グリフのデフォルト幅の取得、東アジアの組版で一般的な縦書きモードの操作など、CIDFont固有の操作メソッドを実装しています。
PDCIDFontの理解は、国際化されたPDF文書、特にアジア言語のコンテンツを含む文書を扱う開発者にとって不可欠です。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
)
で概説されているアクセシビリティ準拠のための適切なフォント埋め込みを確保したりするアプリケーションを構築する際、開発者はテキスト抽出エラー、レンダリング問題、アクセシビリティの問題を回避するために、CIDFontを正しく処理する必要があります。
PDCIDFontType0は、Apache PDFBox PDModel APIのクラスであり、PDF文書で中国語、日本語、韓国語(CJK)などの大規模な文字セットをサポートするために使用される複合フォント形式であるType 0 CIDFontを表します。Type 0 CIDFontは、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
)
において、単純な文字コードではなく文字識別子(CID)を通じて数千のグリフを参照できる文字コレクションベースのフォントとして定義されています。このクラスにより、開発者はPDFBoxを使用する際にCIDFontのプロパティにプログラム的にアクセスし、操作することができます。
PDCIDFontType0は、Apache PDFBoxの高レベルPDModel API階層内のJavaクラスで、Type 0 CIDFontを専門的に扱います。文字コードを直接グリフにマッピングする単純なフォントとは異なり、CIDFontは2段階のマッピングプロセスを使用します。まず文字コードから文字ID(CID)へ、次にCIDから実際のグリフ記述へとマッピングされます。「Type 0」という名称は、CIDFontの内部グリフ記述形式を指しており、Type 1スタイルのフォントプログラムを使用します(CFCを使用するType 2とは対照的です)。
PDCIDFontType2は、Apache PDFBox PDModel APIのクラスで、PDF文書におけるCIDFont Type 2フォントディクショナリを表します。CIDFont Type 2フォントは、TrueTypeフォントプログラムをグリフ記述に使用する文字集合フォントで、
(
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
)
で定義されているように、中国語、日本語、韓国語(CJK)などの複雑なスクリプトや大規模文字セットに一般的に使用されます。このクラスは、開発者にPDF構造内のCIDFont Type 2フォントプロパティを読み取り、操作するためのプログラマティックなアクセスを提供します。
PDCIDFontType2は、Apache PDFBoxにおいてCIDFont Type 2フォントディクショナリを扱う機能をカプセル化した高レベルの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
)
において、CIDFont Type 2は、CIDFont Type 0で使用されるType 1フォントアウトラインとは異なり、TrueTypeフォント技術に基づくグリフ記述を持つCIDFontです。CIDFontの「CID」はCharacter Identifier(文字識別子)の略で、文字コードではなくCID番号で文字を識別する大規模文字集合を扱うシステムを指します。
PDCIDSystemInfoは、Apache PDFBoxのPDModel APIに含まれるクラスで、PDF文書内のCIDFontシステム情報辞書を表現します。このクラスは、
(
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文書で広く使用される文字コレクション(CID)フォントに関するメタデータへのプログラム的なアクセスを提供します。PDCIDSystemInfoを使用することで、開発者は特定の文字コレクションを識別するフォントレジストリ情報、順序仕様、および補足データを読み取り、操作できます。
PDCIDSystemInfoは、PDF文書内のCIDFont定義の基本構造であるCIDSystemInfo辞書をカプセル化する、Apache PDFBoxの高レベルラッパークラスです。この辞書には3つの主要な要素が含まれます:Registry(文字コレクションの発行者を識別する文字列)、Ordering(レジストリ内の文字コレクションを識別する文字列)、およびSupplement(補足番号を示す整数)です。単純な文字エンコーディングを扱う基本的なフォントオブジェクトとは異なり、PDCIDSystemInfoは特に、文字識別子(CID)を通じて大規模な文字セットを参照する複合フォント(Type 0フォント)に必要なメタデータを管理します。このクラスは通常、PDCIDFontオブジェクトを通じてアクセスされ、各辞書エントリに対してgetterメソッドとsetterメソッドを提供することで、開発者が基礎となるPDF辞書構造を直接操作することなく、CIDFont仕様を扱いやすくします。
PDCIDSystemInfoの理解と使用は、多言語PDF文書、特に中国語、日本語、韓国語、または大規模な文字セットを持つ他の言語を含む文書を処理するアプリケーションを構築する開発者にとって重要です。正確なCIDSystemInfoメタデータは、文字コレクションが異なる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
)
で概説されているアクセシビリティ準拠のために、PDCIDSystemInfoを通じた適切なフォント識別は、支援技術がテキストコンテンツを正確に解釈するのに役立ちます。PDF生成または操作ツールを作成する開発者は、複合フォントを扱う際にフォント置換の問題、レンダリングエラー、または文書の破損を回避するために、PDCIDSystemInfoを正しく処理する必要があります。このクラスは、正確なフォントメタデータが必須であるフォントサブセット化操作やPDF/A準拠検証においても重要な役割を果たします。
PDCIEBasedColorSpaceは、Apache PDFBoxライブラリにおいてPDFドキュメント内のCIEベース色空間を表すクラスです。
(
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
)
で定義されているCIEベース色空間は、国際照明委員会(CIE)のカラーモデルに基づくデバイス非依存の色指定を可能にします。このクラスは、開発者がPDFファイル内のCalGray、CalRGB、Lab、ICCBasedなどの高度な色空間定義を読み取り、操作するためのプログラマティックなアクセスを提供します。
PDCIEBasedColorSpaceは、Apache PDFBoxのPDModel API階層の一部であり、特に色空間管理クラスに属しています。このクラスは、デバイス非依存のカラーレンダリングのために
(
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
)
で定義されているCIEベース色空間のJava表現として機能します。異なる出力デバイスで異なる色を生成するデバイス依存色空間(DeviceRGBやDeviceCMYKなど)とは異なり、CIEベース色空間は人間の視覚認識に基づいて色を定義し、異なるディスプレイやプリンターでの一貫した色の再現を保証します。
PDCIEDictionaryBasedColorSpaceは、Apache PDFBoxライブラリにおいて、PDF文書内の辞書オブジェクトを通じて定義されるCIEベースの色空間を表すクラスです。
(
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
)
で定義されているCIEベースの色空間は、国際照明委員会(CIE)の標準に基づいたデバイス非依存の色表現を提供します。このクラスはPDFBoxの高レベルPDModel APIの一部であり、開発者がPDFファイル内のCalGray、CalRGB、Lab、およびICCBased色空間の定義にプログラム的にアクセスし、操作することを可能にします。
PDCIEDictionaryBasedColorSpaceは、Apache PDFBoxの抽象Javaクラスであり、単純な名前参照ではなくPDF辞書オブジェクトとして定義を保存する色空間の親クラスとして機能します。名前のみで参照されるデバイス依存色空間(DeviceRGB、DeviceCMYK、DeviceGray)とは異なり、CIEベースの色空間は、
(
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ファイル内の辞書構造に保存される白色点、黒色点、ガンマ値、変換行列などの追加パラメータを必要とします。
PDColorは、Apache PDFBoxの高レベルPDModel APIに含まれるクラスで、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
)
で定義された仕様に従っており、PDColorはこれをJava APIレベルで実装しています。
PDColorは、PDColorSpaceと色成分値の配列を組み合わせて、PDFドキュメント内の完全な色定義を表現するJavaオブジェクトラッパーです。Web開発で一般的なRGB値や16進数カラーコードとは異なり、PDFの色はDeviceRGB、DeviceCMYK、DeviceGray、CalRGB、Lab、ICCベースのプロファイル、パターン色空間、特色色空間など、
(
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
)
で規定された複数の色空間に存在できます。PDColorクラスは、これらのさまざまな色表現を扱うための型安全な方法を提供し、色空間間で異なる成分数や値の範囲の複雑さを処理します。例えば、DeviceRGB色には3つの成分(赤、緑、青)が必要であり、DeviceCMYKには4つの成分(シアン、マゼンタ、イエロー、ブラック)が必要ですが、PDColorはこれらの違いを透過的に管理します。
PDColorSpaceは、Apache PDFBoxの高レベルPDModel APIに含まれるクラスで、PDFドキュメント内で定義されるカラースペース(色空間)を表現します。PDFにおけるカラースペースは、色の指定方法と解釈方法を決定するもので、シンプルなデバイス依存のRGBやCMYKモデルから、
(
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コンテンツを扱う際に、カラースペース定義の読み取り、操作、作成を行うためのメソッドを提供します。
PDColorSpaceは、org.apache.pdfbox.pdmodel.graphics.colorパッケージに含まれる抽象基底クラスで、PDFカラースペースオブジェクトのJava表現として機能します。このクラスは、PDF仕様で定義されている様々なカラースペースタイプ(DeviceRGB、DeviceCMYK、DeviceGray、CalRGB、CalGray、Lab、ICCBased、Indexed、Pattern、Separation、DeviceNカラースペース)を扱うための型安全なインターフェースを提供します。クラス階層は
(
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の生の構文を表す低レベルのCOSBaseオブジェクトとは異なり、PDColorSpaceはカラースペースの解析と検証の複雑さを処理する高レベルのオブジェクト指向インターフェースを提供します。
PDComboBoxは、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
)
で定義されているコンボボックス対話型フォームフィールド(AcroFormフィールド)をプログラムで読み取り、作成、変更することができます。コンボボックスは、ユーザーが事前定義されたオプションリストから選択するか、カスタムテキストを入力できるため、PDF文書において汎用性の高いフォーム要素となっています。
PDComboBoxは、Apache PDFBoxのorg.apache.pdfbox.pdmodel.interactive.formパッケージ内の具象実装クラスで、コンボボックスフォームフィールドを専門的に処理します。表示されたオプションからの選択のみを許可する標準的なリストボックス(PDListBox)や、自由形式の入力のみを受け付けるテキストフィールド(PDTextField)とは異なり、コンボボックスは両方の機能を組み合わせています。
(
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
)
によると、コンボボックスはフィールドのFf(フィールドフラグ)エントリにComboフラグが設定された選択フィールドの一種です。PDComboBoxクラスはPDChoiceから拡張されており、共通の選択フィールド機能を継承しながら、コンボボックス特有の編集可能なテキストコンポーネントとドロップダウンリストの動作を管理するための特定のメソッドを提供します。
PDComplexFileSpecificationは、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内でファイルを参照または埋め込む方法を記述し、複数のプラットフォーム、説明、および関連メタデータのサポートを含みます。この高レベルJavaクラスは、開発者がこれらのファイル仕様辞書をプログラム的に作成、読み取り、および変更するためのメソッドを提供します。
PDComplexFileSpecificationは、Apache PDFBoxライブラリに含まれるJavaクラスで、PDFファイル仕様辞書(Type /Filespec)をカプセル化します。単なる文字列ファイル名で構成される単純なファイル仕様とは異なり、複合ファイル仕様は辞書オブジェクトであり、
(
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
)
で定義されているプラットフォーム固有のファイルパス、埋め込みファイルストリーム、説明、MIMEタイプ、および関連ファイルパラメータを含むことができます。このクラスはPDFileSpecificationを継承し、すべての標準ファイル仕様辞書エントリに対するgetterおよびsetterメソッドを提供することで、開発者が型安全でオブジェクト指向な方法でファイル添付および外部ファイル参照を扱えるようにします。この抽象化により、開発者は基底のCOS(Carousel Object Structure)辞書オブジェクトを直接操作する必要がなくなります。