Skip to main content
Interwork Corporation
IDR Solutions Product Support Portal
PDF開発用語集 モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動

FontCache

FontCacheは、Apache PDFBoxにおけるフォントリソース管理のためのユーティリティクラスです。

キーワード: fontcache, FontCache

概要

FontCacheは、Apache PDFBoxにおけるフォントリソース管理のためのユーティリティクラスです。PDFの処理操作中にフォントを扱う際のパフォーマンスを向上させるキャッシング機構を提供します。適切なフォント処理は、 ( Citation: N.A., (N.A.). (). 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 ) などの標準で規定されているテキストの忠実性とアクセシビリティ準拠を維持するために不可欠です。

定義

FontCacheは、Apache PDFBoxライブラリ内のコンポーネントで、フォントオブジェクトを保存・管理することで、冗長なフォント読み込みと解析操作を回避します。 ( Citation: N.A., (N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) で定義されているフォント特性を表現する低レベルのフォント記述子クラスとは異なり、FontCacheはアプリケーションレベルで動作し、複数のPDF操作にわたってリソース使用を最適化します。FontCacheは、以前に読み込まれたフォントプログラム、エンコーディングテーブル、文字マッピングデータへの参照を保持し、同じフォントを複数回参照する文書を処理する際にPDFBoxがこれらのリソースを効率的に再利用できるようにします。これは、文書レベルの仕様であるPDFフォント辞書構造自体とは異なり、FontCacheはPDFBoxライブラリ実装に特有のランタイム最適化機構です。

重要性

PDFBoxを使用する開発者にとって、FontCacheはPDF文書を処理する際のアプリケーションのパフォーマンスとメモリ使用量に大きな影響を与えます。文書は複数のページにわたって同じフォントを繰り返し参照することが多く、キャッシングがなければ、ライブラリは各出現箇所ごとにフォントデータを解析して読み込む必要があり、大きなオーバーヘッドが発生します。これは、複数ページの文書からテキストを抽出する場合や、複数のPDFをバッチ処理する場合に特に重要になります。このような場合、フォントの再読み込みによって処理時間が指数関数的に増大する可能性があります。FontCacheの動作を理解することで、開発者は特に大量の文書を処理するサーバー環境において、メモリ割り当てを最適化できます。さらに、キャッシングを通じた適切なフォント処理により、テキスト抽出時に文字の精度とエンコーディングの整合性が保たれます。これは、 ( Citation: N.A., (N.A.). (). 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 ) で概説されているアクセシビリティ機能やコンテンツ保存に不可欠です。

仕組み

FontCacheは、PDFBoxがPDF文書からフォントリソースを読み込む前に参照するメモリ常駐型のストレージシステムとして動作します。PDFBoxがフォント参照に遭遇すると、まずフォント名、タイプ、埋め込みフォントプログラムのハッシュなどの識別情報を使用してキャッシュを確認します。一致するフォントがキャッシュに存在する場合、PDFBoxはフォントデータを再度解析するのではなく、キャッシュされたインスタンスを取得します。 ( Citation: N.A., (N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) に従ってPDF構造で定義された埋め込みフォントの場合、キャッシュは解析されたフォントプログラムとそのエンコーディングベクトル、文字からグリフへのマッピングを保存します。キャッシュは通常、ライフサイクル管理戦略を実装し、文書処理セッションの期間中フォントを保持するか、メモリ制約に基づくより洗練された削除ポリシーを使用します。 ( Citation: , (). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/ ) で説明されているTagged PDFを処理する際、適切なフォントキャッシングにより、テキストコンテンツ抽出がアクセシビリティツリー構築に必要な正しい文字マッピングを維持することが保証されます。開発者は通常、PDFBox APIの設定を通じてキャッシュの動作を構成でき、アプリケーション要件に基づいてキャッシュサイズの制限や永続化戦略を制御できます。

関連用語

  • Font Descriptor(フォント記述子) – PDFにおいて、フォントの太さ、スタイル、メトリクスなどの特性を定義するオブジェクト
  • Text Extraction(テキスト抽出) – エンコーディングを保持しながらPDF文書からテキストコンテンツを取得するプロセス
  • Character Encoding(文字エンコーディング) – PDFテキストストリーム内のバイトシーケンスを文字に変換するマッピングシステム
  • Embedded Font(埋め込みフォント) – システムフォントとして参照されるのではなく、PDFファイル内に含まれるフォントプログラム
  • Glyph(グリフ) – フォントプログラムで定義される文字の視覚的表現

出典

(N.A.) (2020)
(N.A.). (). 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)
(). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/
(N.A.) (2014)
(N.A.). (). 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