PDType3CharProc
PDType3CharProcは、Apache PDFBoxのPDModel APIに含まれるクラスで、PDF文書内のType 3フォント文字手続き(グリフ記述)を表現します。
PDType3CharProcは、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 ) で定義されているType 3フォントは、各文字グリフが描画操作を含むPDFコンテンツストリームによって記述されるユーザー定義フォントです。このクラスは、Javaアプリケーション内でType 3フォントを扱う際に、これらの文字固有のコンテンツストリームをプログラムで読み取り、操作するためのアクセスを提供します。
PDType3CharProcは、Type 3フォント内の単一文字(グリフ)を定義するコンテンツストリームをカプセル化する、Apache PDFBoxの高レベルラッパークラスです。事前定義されたグリフアウトラインを使用するType 1フォントやTrueTypeフォントとは異なり、PDFのType 3フォントは実行可能なPDFグラフィックス演算子を通じてカスタムグリフ定義を可能にします。各文字手続きは、基本的に、特定の文字をレンダリングするためのペイント演算子(パス、塗りつぶし、ストローク、画像など)を含む小型のPDFページです。
このクラスは、PDFBoxのコンテンツストリーム処理インフラストラクチャを継承または密接に連携し、基礎となるバイトストリームへのアクセスとグラフィックス演算子の解析を行うメソッドを提供します。このクラスは、事前レンダリングされたアウトラインやメトリクスデータではなく、グリフの手続き的定義を具体的に扱うという点で、PDFBox内の他のフォント関連クラスとは異なります。
PDF文書を扱う開発者にとって、PDType3CharProcは、Type 3フォントを含む文書を処理する際に不可欠です。Type 3フォントは、レガシー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 ) に準拠するように文書を変換する際、Type 3フォントは適切なUnicodeマッピングや意味情報が欠けている場合があるため、特別な処理が必要になることがよくあります
- コンテンツ抽出: Type 3フォントを含む文書からテキストを正確に抽出するには、各グリフが何を表すかを理解するために文字手続きを解釈する必要があります
- フォント分析とデバッグ: PDFのレンダリング問題やフォント関連の問題をトラブルシューティングする際、文字手続き内の実際の描画操作を調査する必要がある場合があります
- 文書変換: PDFを他の形式に変換したり、アクセシブルなTagged PDF ( Citation: PDF Association, 2023 PDF Association(2023). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/ ) を作成したりする際、Type 3フォントの処理には特別な処理ロジックが必要になる場合があります
PDType3CharProcは、文字の視覚的外観を定義するPDFコンテンツストリームのコンテナおよびアクセサとして機能します。PDF構造において、Type 3フォントには、各エントリが文字名をグリフの描画命令を含むストリームオブジェクトにマッピングするCharProcs辞書が含まれています。
PDFBox内のType 3フォントからPDType3CharProcインスタンスを取得すると、このクラスは以下へのアクセスを提供します:
- コンテンツストリームデータ: 文字を描画するPDF演算子を含む生のバイトストリーム
- リソース辞書: 文字手続きをレンダリングするために必要なリソース(フォント、画像、色空間)
- バウンディングボックス情報: 文字が定義される座標空間
文字手続きは、独自のグラフィックス状態と座標系内で実行されます。ストリーム内の演算子には、パス構築(moveto、lineto、curveto)、ペイント操作(stroke、fill)、テキスト演算子、さらにはインライン画像を含む、あらゆるPDFグラフィックス操作が含まれます。PDFレンダラがType 3フォント文字に遭遇すると、これらの演算子を実行してそのグリフの視覚的表現を生成します。
開発者は通常、PDType3Fontオブジェクトで定義された文字を反復処理する際、グリフ定義を分析するためにコンテンツストリームを解析する際、またはプログラムで文字手続きを変更する際に、PDType3CharProcと対話します。
- PDType3Font – 複数の文字手続きを含む完全なType 3フォント定義を表すApache PDFBoxクラス
- Content Stream – ページまたはグリフコンテンツを記述するグラフィックス演算子のシーケンスを含むPDFストリームオブジェクト
- Font Descriptor – フォントメトリクスと特性を含むPDF辞書。ただし、Type 3フォントには簡略化された、または存在しないディスクリプタがある場合があります
- Glyph – フォントにおける文字の視覚的表現。Type 3フォントでは手続き的に定義されます
- CharProcs Dictionary – Type 3フォント内の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
