PDF署名フィールド追加
612×792ポイントのLetterページに、72、72から幅200、高さ50の署名欄を置くと収まり、右に340、上に670の余白が残り、中心は左下に入ります。押印の前に署名欄の配置を確かめられます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- ページの幅
- 612
- ページの高さ
- 792
- X
- 72
- Y
- 72
- 幅
- 200
- 高さ
- 50
- 座標系
- pdf_points_origin_bottom_left
- 象限
- bottom_left
- 面積 (ポイント)
- 10,000
- カバー率(%)
- 2.063115
どこかの辺がページ外にはみ出す場合、どの境界を越えたかを正確に説明して配置を拒否します。
署名欄が見えなくなる配置ミスを事前に防ぐ
文書の署名を自動化すると、いずれ配置のミスが起こります。契約書のテンプレートの組版が変わる、Letterのつもりのページが A4 で届く、縦向き用に計算した座標が横向きのページに使われる、といった理由で、署名欄が見えるページの外に出てしまうのです。ツールによっては署名がそのまま適用され、管理画面では署名済みに見えるのに、開いたページには何も表示されません。署名を作る前に一度確認するだけで、こうした後からの事故を防げます。
座標の考え方と結果の読み方
値はすべてPDFのポイントで、1インチが72ポイントです。原点はページの左下で、横の位置は右へ、縦の位置は上へ増えます。ページの幅と高さ、署名欄の左下の位置と幅、高さを入れると、ページ内に収まるかを判定し、四辺の余白、中心が入る区画、ページに占める割合を示します。たとえば612×792ポイントのページに72、72から幅200、高さ50で置くと、右の余白は340、上の余白は670、中心は左下の区画で、ページの2.063115 %を占めます。はみ出した場合は、どの辺を越えたかを示して受け付けません。
よくある質問
PDFは変更されますか?
いいえ。 幾何学の検証のみで、ファイルではなく6つの数値を送信します。アップロード、保存、書き込みは一切行われません。
どの座標系を使いますか?
ネイティブPDFポイントです。1インチ72ポイント、原点はページ左下隅、xは右へ、yは上へ。
結果は決定的ですか?
はい。 小数点以下6桁丸めの純粋な矩形算術なので、同じ入力は常にバイト同一の出力を返します。
署名欄がページの外に出てしまうのはなぜですか?
テンプレートの組版が変わったり、Letterのつもりのページが A4 で届いたり、縦向き用の座標が横向きのページに使われたりするためです。署名済みに見えても、開いたページには何も表示されないことがあります。
どんな場面で確認するとよいですか?
テンプレートを保存するとき、一括署名で各文書に押印する直前、取り込んだファイルとテンプレートのページサイズが合わない疑いがあるときです。計算だけなので、一括処理の全文書で確認できます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/pdf/digital-sign-field \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"page_width":612,"page_height":792,"x":72,"y":72,"width":200,"height":50}'const res = await fetch("https://api.kit.forhosting.com/pdf/digital-sign-field", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"page_width": 612,
"page_height": 792,
"x": 72,
"y": 72,
"width": 200,
"height": 50
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/digital-sign-field",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"page_width": 612,
"page_height": 792,
"x": 72,
"y": 72,
"width": 200,
"height": 50
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/digital-sign-field", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"page_width":612,"page_height":792,"x":72,"y":72,"width":200,"height":50}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"page_width":612,"page_height":792,"x":72,"y":72,"width":200,"height":50}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/digital-sign-field", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"page_width": 612,
"page_height": 792,
"x": 72,
"y": 72,
"width": 200,
"height": 50
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.digital_sign_field",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_mb | 25 |
max_pages | 200 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
PDF署名フィールド追加APIは、署名ワークフローを静かに壊す唯一の問題をチェックします。デジタル署名フィールドに使う予定の矩形が、実際にページ内に収まるかどうかです。ページサイズとフィールド位置をPDFポイントで送信すると、APIはフィールドがページ境界内に完全に収まることを確認し、配置を記述します — 各辺の余白、中心が落ちる象限、ページの何%を占めるか。誰にも見えないフィールドに署名操作を無駄にする前に止められます。
署名フィールドの配置が本番で失敗する理由
電子署名フローはすべて幾何学に行き着きます。1回の検証呼び出しが下流のインシデントを置き換えます。文書署名を自動化するチームは必ずいつかレイアウトのバグを出荷します — 契約テンプレートが再流れし、スキャンページがLetterではなくA4で届き、縦向きページ用に計算された座標が横向きページに着地し、署名フィールドが可視ページの外に出てしまいます。ツールによっては署名自体は適用されるため、ダッシュボード上では署名済みに見えるのに、人が開くページには何も表示されません。add pdf signature field エンドポイントは、この種のバグを唯一安く捕まえられる瞬間、つまりフィールド作成前に捉えるために存在します。ページと矩形を記述すれば、APIは完全な幾何学的記述とともに配置を確認するか、越えた辺を正確に名指しして拒否します — 左、下、右端の超過、上端の超過。
座標、単位、APIが返すもの
すべての値はPDFポイント — 1インチあたり72 — で、原点はページの左下隅、xは右へ、yは上へ増加します。失敗時、エラーメッセージには問題の数値が含まれます — どの座標がゼロを下回ったか、どの計算された辺がページのどの次元を超えたか。これはPDF署名フィールドアノテーションがネイティブに使う座標系そのものです。ページの幅と高さに加え、フィールド矩形をx、y、width、heightとして渡します。成功時、レスポンスは正規化された矩形を返し、4つの絶対境界、各辺の残り余白、中心点、bottom-leftのような読みやすい象限、平方ポイントでのフィールド面積、ページ占有率、さらにログや監査証跡にそのまま流し込める1行の説明を提供します。算術は純粋な矩形幾何で、値は小数点以下6桁に丸められるため、同じリクエストはどのマシンでも常にバイト同一の出力を生成します。
署名パイプラインのどこに組み込むか
レイアウトの探索や特定の失敗座標のデバッグには費用がかかりません。署名フィールドを書き込むあらゆる操作の前のゲートとして使ってください。テンプレートビルダーはテンプレート保存時に各フィールドを検証し、バッチ署名ジョブはスタンプ直前に文書ごとに検証し、取り込みパイプラインはテンプレートと受信ファイルのページサイズ不一致が疑われるときに検証します。この機能はファイルI/Oのない純粋な幾何学なので、バッチ内の全文書で実行しても十分に高速で、出力を検証済み配置の証拠として保存できるほど決定的です。APIに応答するのと同じコードがこのページのブラウザで無料実行されるため、サポートエンジニアはパイプラインが送信したのと同じ6つの数値を入力するだけで、顧客の壊れた配置を再現できます。自動化する場合のみ1回$0.002でお支払いください。
連携の活用例
公開前に署名テンプレートを検証する
テンプレート保存時に各署名フィールドを対象ページサイズと照合し、配置ミスのあるフィールドを最初の署名者ではなく作成者が発見できるようにします。
バッチ署名ジョブを保護する
スタンプ直前に文書ごとに配置を確認します。フィールドがページ外に出るジョブは、その文書で明示的に失敗し、見えない署名を静かに送り出すことを防ぎます。
顧客から報告された署名消失をデバッグする
サポートチケットの正確なページサイズと矩形を再現すれば、フィールドがページのどの辺を越えたか、証拠となる数値とともに即座に分かります。
技術的な質問
料金はいくらですか?
1リクエスト$0.002です。このページのブラウザでは無料で実行できます。
フィールドがページ外にあるとどうなりますか?
invalid_inputエラーで失敗し、メッセージが越えた境界を名指しして問題の数値を示します。例:幅612ptのページに右端700pt。
ページ端ちょうどのフィールドは通りますか?
はい。右端がページ幅と一致するフィールドは完全に内側です。ページ境界を厳密に超える辺のみ拒否されます。