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

SetCharSpacing

SetCharSpacingは、Apache PDFBoxにおいて、PDFドキュメントのテキストをレンダリングする際の文字間隔(文字間の水平方向の間隔)を制御するオペレータです。

キーワード: setcharspacing, SetCharSpacing

概要

SetCharSpacingは、Apache PDFBoxにおいて、PDFドキュメントのテキストをレンダリングする際の文字間隔(文字間の水平方向の間隔)を制御するオペレータです。このオペレータは、PDF仕様で定義されているTcテキスト状態パラメータに対応しています ( 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 ) 。開発者は、テキスト文字列内の個々の文字間の間隔をプログラムで調整することができ、精密なテキストレイアウト制御と適切なドキュメントフォーマットの確保に不可欠です。

定義

SetCharSpacingは、PDFコンテンツストリーム構文の文字間隔オペレータを実装するPDFBox APIクラスです。PDFドキュメントにおいて、文字間隔は非スケールのテキストスペース単位で表され、テキストレンダリング時に連続する文字間の水平方向の変位に加算されます。スペース文字(ASCII 32)にのみ影響する単語間隔とは異なり、文字間隔はレンダリングされるテキスト内のすべての文字に一様に適用されます。このオペレータは、追加の間隔量を指定する単一の数値パラメータを受け取り、正の値(間隔を広げる)または負の値(間隔を狭める)を設定できます。PDFコンテンツストリームを処理する際、PDFBoxはこのクラスを使用して、ドキュメントのコンテンツストリーム命令に現れるTcオペレータを解釈および操作します。

重要性

PDF生成、操作、またはテキスト抽出を行う開発者にとって、SetCharSpacingの理解はテキストの忠実性を維持し、精密なレイアウト制御を実現するために不可欠です。文字間隔はテキストの視覚的な表示に直接影響し、特に両端揃えのテキストや、タイトまたはルーズな文字間隔を要求する特定のデザイン要件において、可読性に影響を与える可能性があります。PDFからテキストを抽出する際、開発者は文字間隔の値を考慮して単語の境界を正確に判断し、意図されたテキストフローを再構築する必要があります。アクセシビリティの観点では、不適切な文字間隔は、スクリーンリーダーや支援技術がタグ付き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 ) 。さらに、プログラムによってPDFドキュメントを作成または変更する際、開発者はデザイン仕様に合わせて適切な文字間隔値を設定し、異なるPDFビューア間で一貫したレンダリングを確保する必要があります。

仕組み

SetCharSpacingオペレータは、Tcパラメータを設定することにより、PDFグラフィックスコンテキストのテキスト状態を変更します。PDFBoxがコンテンツストリーム処理中にこのオペレータに遭遇すると、グラフィックス状態の現在の文字間隔値を更新します。この値は、別のSetCharSpacingオペレータによって変更されるまで、後続のテキスト表示操作時に適用されます。文字間隔値はテキストスペース単位の1/1000単位で指定され、現在のフォントサイズと水平スケーリング係数によってスケーリングされます。テキストレンダリング時、PDFプロセッサは各グリフを描画した後の水平方向の変位に文字間隔値を加算しますが、テキスト文字列の最後のグリフには適用されません。PDFBoxのJava APIでは、開発者はPDPageContentStreamクラスのsetCharacterSpacing()などのメソッドを使用して、適切なオペレータをコンテンツストリームに出力できます。既存のPDFを解析する際、PDFBoxのコンテンツストリームプロセッサは、対応するオペレータハンドラを呼び出して、テキスト抽出またはレンダリング操作中に文字間隔値を追跡および適用します。文字間隔は、明示的に変更されるか、グラフィックス状態操作によってリセットされるまで有効です。

関連用語

  • Word Spacing(単語間隔) – テキスト内のスペース文字専用の間隔を制御し、文字間隔と連動して機能します
  • Text State Parameters(テキスト状態パラメータ) – 文字間隔、単語間隔、水平スケーリングなど、PDFにおけるテキストレンダリングを制御するパラメータの集合
  • Content Stream(コンテンツストリーム) – PDFページ上のコンテンツの外観を定義するオペレータとオペランドのシーケンス
  • PDPageContentStream – PDFページを作成または変更する際にコンテンツストリームオペレータを書き込むために使用されるApache PDFBoxクラス
  • Text Space(テキストスペース) – テキストマトリックスと現在の変換マトリックスによる変換前にテキストを配置するために使用される座標系 ( 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 )

出典

(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
(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