PDFのページサイズ変更に必要な倍率を計算
612×792ポイントのLetterのページは、倍率0.972673でA4に収まり、縦横比はそのままで上下に同じ幅の余白ができます。ページの大きさと用紙を選ぶと、倍率、新しいサイズ、余白が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 幅
- 612
- 高さ
- 792
- 目標サイズ
- A4
- スケール因子
- 0.972673
- 拡大縮小率
- 97.26732
推測した割合や混在した単位に頼らず、PDFページのサイズ変更を設計できます。現在の幅と高さをPDFポイントで入力し、A4、Letter、Legal、A3、A5から変換先を選択してください。縦横比を保つ共通倍率、変換後の寸法、中央配置した場合の余白を返します。計算は決定論的な幾何処理だけで行うため、同じ入力からは常に同じ結果が得られます。
現在のPDFページを正しく測定します
まず、ページの実効的な幅と高さをポイント単位で確認してください。PDFソフトウェアはメディアボックス、クロップボックスなど複数のページ領域を示す場合があります。どの領域を選ぶかによって、実際に合わせる対象が決まります。
異なる領域の幅と高さを組み合わせず、同じ領域を一貫して使用してください。1 PDFポイントは1/72インチであり、米国のLetterは通常612×792ポイントです。読み込み、スキャン、生成された文書では座標が小数になることがあるため、正の小数も使用できます。
幅と高さは取得時の向きをそのまま表します。既知の用紙に見えるという理由だけで値を入れ替えないでください。この機能はPDFデータを開いたり、解析したり、書き換えたり、回転したりしません。
PDFリーダーやライブラリが取得した寸法だけを使います。欠落、0、負数、無限大、不正な測定値は自動補正せず、明確なエラーとして拒否します。
倍率と余白の意味を確認します
変換先の幅を現在の幅で割った比率と、変換先の高さを現在の高さで割った比率を比較し、小さい方を倍率に採用します。これは内接させる一般的な方法です。両方の寸法が用紙内に収まり、内容を切り取らず、元の縦横比も維持されます。
倍率が1未満なら縮小、1より大きければ拡大が可能で、ちょうど1なら拡大縮小は不要です。印刷設定などで割合が必要な場合に備え、同じ値をパーセントでも返します。変換後の幅と高さには同一の倍率を適用します。
余った領域は向かい合う辺に等分し、左右上下の中央配置用余白として示します。変換先寸法もPDFポイントで明示するため、後続処理が用紙規格を推測する必要はありません。
対応する変換先を選び結果を適用します
変換先にはA4、Letter、Legal、A3、A5のいずれかを正確に指定してください。曖昧な名称や誤記から正しそうに見える誤った印刷結果を作らないよう、選択肢を限定しています。各用紙は標準的な縦向き寸法をPDFポイントで使用します。
横向きは別の回転工程で準備できますが、この計算機が変換先を回転したり、向きを自動選択したりすることはありません。targetに返された幅と高さで新しいページを作成し、中央に置く場合は左と上の余白だけ内容を移動します。返すのは変更済みファイルではなく、サイズ変更のための幾何計画です。
そのため、ブラウザーツール、印刷前検査、別の処理がPDFを書き換える一括ワークフローで利用できます。
活用例
混在文書を印刷用に整えます
異なる出所のページを1つの標準用紙に置く前に、安全な共通倍率を計算します。
サイズ設定を事前確認します
PDFを書き換えたり印刷したりする前に、最終寸法、割合、中央配置の余白を表示します。
文書処理を検証します
決定論的な幾何結果をPDFライブラリの出力と比較し、切り取りや向きの誤りを検出します。
よくある質問
この機能はPDFを変更しますか?
いいえ。 後のサイズ変更に必要な倍率と配置情報を返すだけで、PDFデータの読み取りや書き換えは行いません。
幅と高さにはどの単位を使いますか?
72ポイントが1インチとなるPDFポイントを使用してください。返される寸法と余白もポイント単位です。
計算によってページが切り取られますか?
いいえ。 幅と高さの比率の小さい方を使うため、縦横比を保ったままページ全体が変換先に収まります。
倍率が1より大きい、または小さいとはどういう意味ですか?
1より小さければ、新しい用紙に収めるために内容を縮小します。1より大きければ拡大でき、ちょうど1なら変更は不要です。印刷設定用に、同じ値を百分率でも示します。
対応している用紙サイズは何ですか?
A4、Letter、Legal、A3、A5の5種類です。名前のつづりが違う場合は、もっともらしいけれど誤った結果を出さないよう、受け付けません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/pdf/resize-pages \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"width":612,"height":792,"target_size":"A4"}'const res = await fetch("https://api.kit.forhosting.com/pdf/resize-pages", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"width": 612,
"height": 792,
"target_size": "A4"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/resize-pages",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"width": 612,
"height": 792,
"target_size": "A4"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/resize-pages", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"width":612,"height":792,"target_size":"A4"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"width":612,"height":792,"target_size":"A4"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/resize-pages", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"width": 612,
"height": 792,
"target_size": "A4"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.resize_pages",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
倍率と余白の意味を確認します
安定したJSONにするため値は小数第6位までに丸めますが、計算そのものには数値の精度を保って使用します。
対応する変換先を選び結果を適用します
PDFライブラリの内容または変換行列にscale_factorを一様に適用してください。APIは1回$0.002で、ブラウザーでも同じ決定論的計算を実行できます。
技術的な質問
対応している用紙サイズは何ですか?
A4、Letter、Legal、A3、A5に対応します。不明な名称や異なる表記にはinvalid_inputを返します。
APIでの計算料金はいくらですか?
APIは1回$0.002です。ブラウザー版も同じ決定論的ロジックを使用します。