PDFontFactory
PDFontFactoryは、Apache PDFBox PDModel APIのユーティリティクラスで、PDFドキュメント操作に使用されるフォントオブジェクトの作成と読み込みを行うファクトリメソッドを提供します。
PDFontFactoryは、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 ) で定義されたフォント仕様に依存していますが、PDFontFactoryはJavaアプリケーションでこれらのフォントをプログラム的に扱うプロセスを簡素化します。このクラスは、PDFコンテンツの読み取り、作成、または変更時にフォントへのアクセスや埋め込みが必要な開発者にとって、主要なエントリーポイントとして機能します。
PDFontFactoryは、Apache PDFBoxの高レベルPDModel API内のファクトリクラスで、PDFフォント処理の複雑さを抽象化します。PDFフォント辞書を直接表現する低レベルのフォントクラスとは異なり、PDFontFactoryはフォントの読み込み、タイプ検出、およびフォントオブジェクトの適切な初期化を処理する便利なメソッドを提供します。このクラスは、Type 1、TrueType、Type 3、および複合フォント(Type 0)を含むすべての標準PDFフォントタイプをサポートしています。フォントタイプと使用要件に基づいて、フォントのサブセット化、エンコーディングテーブル、およびグリフマッピングを自動的に管理します。PDFontFactoryは、検証、エラー処理、およびソースフォントファイル形式に基づく適切なフォント実装の自動選択を提供することで、直接的なフォントインスタンス化とは異なります。
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操作の最も複雑な側面の1つです。PDFontFactoryは、基礎となるフォントタイプに関係なく、フォント操作のための統一されたインターフェースを提供することで、この複雑さを大幅に軽減します。これは特に、スクリーンリーダーや支援技術のために適切なフォント埋め込みとUnicodeマッピングを必要とする ( 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を作成する際に重要です。PDFontFactoryがなければ、開発者はフォントストリームの解析、ディスクリプタの作成、およびエンコーディングテーブルの管理を手動で処理する必要があり、これらはエラーが発生しやすく、保守が困難なタスクです。ファクトリパターンは、アプリケーション全体で一貫したフォントオブジェクトの作成を保証し、不適切に初期化されたフォントに関連するバグを削減します。
PDFontFactoryは、入力フォントソース(既存のPDFフォント辞書または外部フォントファイル)を分析し、適切なPDFontサブクラスインスタンスを返すことで動作します。既存のPDFドキュメントからフォントを読み込む際、ファクトリはフォント辞書のSubtypeエントリを調べて、それがType 1、TrueType、Type 3、または複合フォントのいずれを表すかを判断し、対応するPDFont実装をインスタンス化します。新しいフォントを埋め込む場合、開発者はフォントファイルパスまたは入力ストリームを使用してファクトリメソッドを呼び出し、PDFontFactoryがフォントの解析、必要な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: PDF Association, 2023
PDF Association(2023). Retrieved from
https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/
)
のベストプラクティスに従ったTagged PDFを扱う際、PDFontFactoryはアクセシビリティのためにフォントに適切なToUnicodeマッピングが含まれることを保証します。一般的なメソッドには、ファイルからフォントを読み込むcreateFont()、標準PDFフォント用のcreateDefaultFont()、および特殊なフォント処理シナリオ用のさまざまなタイプ固有のファクトリメソッドが含まれます。
- PDFont – PDFontFactoryがインスタンス化する、PDFドキュメント内のフォントを表す抽象基底クラス
- PDType0Font – 完全なUnicodeサポートを備えたTrueTypeおよびOpenTypeフォントを埋め込むための複合フォントクラス
- PDType1Font – 標準14種類のPDF基本フォントを含むPostScript Type 1フォントを表すクラス
- Font Embedding(フォント埋め込み) – 一貫したレンダリングを保証するためにPDFファイル内にフォントデータを含めるプロセス
- ToUnicode CMap – テキスト抽出とアクセシビリティのために文字コードとUnicode値を関連付けるマッピングテーブル
- (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
