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

Transformation matrix

Transformation matrixは、PDF内のグラフィックスやテキスト操作において、ある座標系から別の座標系へ座標をマッピングする方法を定義する、6つの数値で構成される数学的構造です。

カテゴリ: General PDF Concepts
キーワード: transformation matrix, Transformation matrix

概要

Transformation matrixは、PDF内のグラフィックスやテキスト操作において、ある座標系から別の座標系へ座標をマッピングする方法を定義する、6つの数値で構成される数学的構造です。 ( 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文書内のグラフィック要素やテキストの拡大縮小、回転、平行移動、傾斜が可能になります。Transformation matrixは、PDFの座標ベースのレンダリングモデルの基礎であり、ページ上のコンテンツの配置と外観を正確に制御できます。

定義

PDFにおけるtransformation matrixは、6つの数値[a b c d e f]で表される3×3行列であり、第3列は暗黙的に[0 0 1]となっています。これらの6つの値は、座標(x, y)を新しい座標(x’, y’)にマッピングするアフィン変換を定義し、以下の式を使用します:

  • x’ = a × x + c × y + e
  • y’ = b × x + d × y + f

行列パラメータは特定の変換の側面を制御します:adはxとy方向の拡大縮小を制御し、bcは回転と傾斜を制御し、efはxとy軸に沿った平行移動(移動)を制御します。一般的な行列変換とは異なり、アフィン変換は平行線と線に沿った距離の比を保持するため、2Dグラフィックス操作に最適です。Transformation matrixは、単純な座標オフセットとは異なり、複数の操作を単一の数学的構造で複雑に組み合わせることができます。

重要性

PDF生成または操作を行う開発者にとって、transformation matrixの理解は、ページ上にテキストやグラフィックスを正確に配置するために不可欠です。この行列は、PDFの座標系に対してコンテンツがどのようにレンダリングされるかを決定します。PDFの座標系は、多くの表示システムのような左上ではなく、ページの左下を原点とします。プログラムでPDFを作成する際、開発者は正しいtransformation matrixを適用して、テキストが正しい方向に流れ、画像が意図したサイズと回転で表示され、フォームが適切に表示されるようにする必要があります。誤った行列値は、上下逆さまのテキスト、歪んだ画像、ページ外に表示されるコンテンツを引き起こす可能性があります。さらに、 ( 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を扱う際、適切なtransformation matrixにより、視覚的な表示がタグ付けされたコンテンツの論理構造と一致することが保証されます。

仕組み

Transformation matrixは行列乗算を通じて動作し、元の座標空間内の各点が新しい位置に変換されます。PDFは、グラフィックス状態の一部として現在のtransformation matrix(CTM)を維持し、新しい変換は現在の行列に新しいtransformation matrixを乗算することで適用されます。この乗算により、変換を合成することができます。たとえば、回転の後に平行移動を適用することができます。

一般的な変換操作には以下が含まれます:

  • 単位行列[1 0 0 1 0 0]:変換なし。各点をそれ自体にマッピング
  • 平行移動[1 0 0 1 tx ty]:コンテンツを水平方向にtx単位、垂直方向にty単位移動
  • 拡大縮小[sx 0 0 sy 0 0]:コンテンツを水平方向にsx、垂直方向にsy倍に拡大縮小
  • 回転[cos(θ) sin(θ) -sin(θ) cos(θ) 0 0]:コンテンツを原点を中心に角度θで回転
  • 傾斜:bまたはcの位置に0以外の値を使用してコンテンツを傾斜

( 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コンテンツストリームでは、cmオペレータがCTMに連結することでtransformation matrixを適用し、Tmオペレータがテキスト配置のためのテキスト行列を設定します。Transformation matrixは、qおよびQオペレータを使用してグラフィックス状態を保存および復元するまで、後続のすべての描画操作に影響を与えます。これにより、開発者は特定のコンテンツセクションに変換を分離できます。

関連用語

  • Content stream – ページコンテンツを記述するPDFオペレータとオペランドのシーケンスで、transformation matrixが適用される場所
  • Coordinate system – transformation matrixによって変更される、PDFオブジェクトが配置される空間参照フレームワーク
  • Graphics state – 現在のtransformation matrixを含む、グラフィックスオペレータがコンテンツをレンダリングする方法を制御するパラメータの集合
  • Text positioning – transformation matrixから派生したテキスト行列を使用して、ページ上にテキスト文字を配置するメカニズム
  • Affine transformation – 平行線を保持する変換の数学的カテゴリで、すべてのPDF transformation matrixが含まれる

出典

(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