PDFファイルを編集したり、自動化スクリプトで特定の位置に文字や画像を追加したいとき、「座標(x, y)」を知る必要があります。
しかし、PDFはWordのように目に見えるレイアウト編集が難しく、「この文字がどの位置にあるのか?」を簡単に確認することはできません。
この記事では、PDFの座標を確認するための基本知識から、無料ツール・有料ソフト・プログラムを使った方法まで、わかりやすく解説します。
PythonなどでPDFを自動操作したい方や、帳票出力のレイアウト調整をしたい方にも役立つ内容です。
PDFの「座標」とは?
PDFファイルの座標とは、ページ上の「x軸(横方向)」「y軸(縦方向)」で位置を表すための値のことです。
通常、PDFの原点(0,0)は左下にあり、単位は「ポイント(pt)」で指定されます。
1ポイントは1/72インチで、A4サイズ(210mm × 297mm)の場合、
約595pt × 842pt が1ページのサイズになります。
たとえば、次のように考えるとイメージしやすいです。
項目 | 座標の意味 |
---|---|
(0,0) | 左下端 |
(595,842) | 右上端(A4) |
(100,100) | 左下から100pt右・100pt上の位置 |
このように、座標を指定すればPDF上の任意の場所に文字や画像を配置したり、領域を抽出したりできます。
座標を確認するシーン例
PDFの座標確認は、次のような場面で必要になります。
- 帳票出力(請求書・見積書など)のレイアウトを調整したい
- 特定の領域(例:合計金額欄)の文字を抽出したい
- 自動印字ツール(Python、Java、Power Automateなど)で位置を指定したい
- 署名欄や押印欄を自動配置したい
たとえば「請求書の右下に“印影画像”を置きたい」という場合、
その場所の座標(x, y)を特定することで、正確に配置できるようになります。
方法①:Adobe Acrobatで座標を確認する
最も手軽な方法は、Adobe Acrobat Pro DCを使うことです。
手順
- AcrobatでPDFを開く
- 「表示」メニュー → 「ツール」 → 「印刷工程」を選択
- 「出力プレビュー」を開く
- マウスカーソルを動かすと、画面下部に「座標(x, y)」が表示される
この方法では、ページ上のカーソル位置の座標をリアルタイムで確認できます。
ただし、無料版の「Adobe Acrobat Reader」ではこの機能が使えないため、Pro版が必要です。
メリット・デメリット
メリット | デメリット |
---|---|
正確な座標を確認できる | 有料プランが必要 |
GUIでわかりやすい | 自動処理には向かない |
方法②:無料ツール「PDF-XChange Editor」で確認
無料で座標を知りたい場合は、PDF-XChange Editorがおすすめです。
手順
- PDF-XChange Editorを起動
- PDFを開く
- ツールバーの「表示」→「ルーラー」をオンにする
- 「スナップツール」や「マウス座標」を表示
このツールでは、マウスカーソルを移動させるとステータスバーに座標値が表示されます。
また、ルーラー機能を使えば、距離を計測することも可能です。
メリット・デメリット
メリット | デメリット |
---|---|
無料で利用できる | 座標精度は若干曖昧な場合あり |
軽量で動作が速い | プログラム連携はできない |
方法③:Python(PyMuPDF)で座標を取得
プログラミングでPDFを自動操作するなら、Pythonの「PyMuPDF(fitz)」ライブラリが便利です。
インストール
pip install PyMuPDF
サンプルコード
import fitz
# PDFを開く
doc = fitz.open("sample.pdf")
# 1ページ目を取得
page = doc[0]
# テキストブロックを取得
blocks = page.get_text("blocks")
# 各ブロックの座標を表示
for b in blocks:
x0, y0, x1, y1, text, *_ = b
print(f"文字:{text.strip()}")
print(f"座標:({x0}, {y0}) - ({x1}, {y1})\n")
出力例
文字:株式会社サンプル
座標:(72.0, 720.0) - (240.0, 735.0)
このように、テキストの領域(左下と右上の座標)を自動で取得できます。
特定のキーワード(例:「合計」)を探して、その近くの金額を抽出するような用途にも活用可能です。
方法④:JavaScript(PDF.js)を使ってブラウザ上で確認
ブラウザでPDFを表示する場合、**PDF.js(Mozilla開発)**を使うと座標を取得できます。
たとえば、クリックイベントでクリック位置を取得することで、
PDF上の位置をブラウザ座標からPDF座標に変換することが可能です。
viewerContainer.addEventListener('click', function(event) {
const rect = viewerContainer.getBoundingClientRect();
const x = event.clientX - rect.left;
const y = rect.height - (event.clientY - rect.top);
console.log(`座標: (${x}, ${y})`);
});
このようにして取得した座標を、署名欄やハイライト処理に利用できます。
方法⑤:Power Automateで座標的な範囲を抽出
プログラミングが難しい場合は、Power Automate Desktopを使ってPDF領域を抽出することも可能です。
たとえば、特定のページを画像として読み込み、OCR(文字認識)で位置情報付きのデータを得る方法があります。
Microsoftの「AI Builder」や「Form Recognizer」を組み合わせると、
テキストとその位置情報(bounding box)を取得できます。
PDF座標の基礎知識:単位変換
PDFの座標単位「ポイント(pt)」は、実際のミリ単位に換算できます。
単位 | 換算式 |
---|---|
1インチ | 25.4mm |
1ポイント | 約0.3528mm |
たとえば「(100,100)」pt の位置は、
左下から約35mm右・35mm上に相当します。
プログラムで印字位置を指定する場合は、
「mm × 2.83465 = pt」で換算すると便利です。
座標確認の注意点
PDFの座標を扱うときは、以下の点に注意しましょう。
- ページごとに原点が異なる場合がある(回転やトリミングで)
- 拡大率によって見た目の位置が違う(印刷とのズレ)
- テキストと描画の座標は別管理されることがある
特に帳票PDFでは、文字が画像化されているケースも多く、
座標を抽出できない場合があります。
その場合はOCR(画像文字認識)を併用するのが効果的です。
まとめ:目的に応じて方法を選ぼう
PDFの座標を確認するには、用途に合わせて次のように選ぶのがベストです。
目的 | 推奨方法 |
---|---|
単純に位置を確認したい | Adobe Acrobat Pro / PDF-XChange Editor |
自動処理や抽出をしたい | Python(PyMuPDF) |
Web上で座標を扱いたい | PDF.js + JavaScript |
ノーコードで実現したい | Power Automate + AI Builder |
PDFの座標を理解すると、
帳票出力、電子署名、OCR、AI処理などの応用範囲が一気に広がります。