PDF画像シーケンス用のページ別ファイル名を生成
このツールは、PDFをページ単位で画像化する処理に必要なファイル名を、正確な順序で一覧にします。PDFの総ページ数を入力し、PNGまたはJPGを選択すると、各ページに対応する予測可能な名前が返されます。文字列として並べ替えても順序が崩れないよう、必要な桁数のゼロが番号の先頭に付きます。PDF自体のアップロード、解析、変換は行わないため、画像が作成される前に出力計画、変換結果の検証、後続処理の準備を進められます。
無料で実行
変換前にページ画像の全体構成を計画できます
PDF変換のワークフローでは、レンダリングを始める前に、作成予定の出力を確定する必要がよくあります。保存先のキーを予約する場合、ページごとにデータベース行を用意する場合、変換後に画像の欠落を検査する場合などに利用できます。総ページ数を入力してPNGまたはJPGを選ぶと、完全なマニフェストが返されます。各ファイル名はpage-で始まり、1から数えるページ番号と選択した拡張子が続きます。このツールの目的は名前の計画であり、文書の読み取りや描画ではないため、PDF本体は必要ありません。そのため、結果を高速かつ再現可能に取得し、処理の早い段階で利用できます。12ページならpage-01からpage-12までとなり、数百ページなら番号欄の桁数が自動的に増えます。結果にはページ数と形式も含まれるため、後続サービスでも要求内容を確認できます。
ストレージやフォルダーでも正しい並び順を保てます
ゼロ埋めしない名前には見落としやすい問題があります。通常の文字列順では、page-10がpage-2より前に並びます。この機能は最終ページ番号の桁数を求め、すべての番号を同じ幅まで左側からゼロで補うことで問題を防ぎます。9ページでは1桁、12ページでは2桁、120ページでは3桁になります。返される配列だけでなく、オブジェクトストレージ、アーカイブ、コマンドライン、ファイル管理画面に表示した場合も、ページ順が維持されます。番号はソフトウェア内部の0始まりの添字ではなく、読者が見るPDFのページ番号に合わせて1から始まります。選択した拡張子は全項目へ一貫して適用され、対応形式はpngとjpgだけです。それ以外の値は拒否されるため、未対応ファイルをマニフェストに含めることや、費用のかかる変換開始後に入力ミスへ気付くことを避けられます。
マニフェストを決定的な処理契約として使えます
この結果は、文書処理に含まれる独立した段階をつなぐ契約になります。変換処理は各ページへ名前を割り当て、アップロード処理は対応する保存キーを予約し、検証処理は実際のファイルを予定一覧と比較できます。アルゴリズムはネットワーク、現在時刻、乱数、文書メタデータを使用しません。同じ入力からは必ず同じ出力が得られるため、自動テスト、安全な再試行、再現可能なビルド、監査記録に適しています。上限を1万ページにすることで、誤った要求が無制限の配列を確保したり、ブラウザーを過負荷にしたりすることを防ぎます。不正なページ数や未対応形式は、暗黙に修正せず入力エラーとして通知します。API呼び出しの料金は$0.002で、同じ決定的な処理をブラウザーでも実行できます。このツールが返すのは予定ファイル名だけです。画像データは別のPDFレンダリング機能で作成し、その出力をマニフェストと照合してください。
活用例
保存先キーを事前に予約
レンダラーがページ画像をアップロードする前に、予定されるすべての名前を作成できます。
変換結果の完全性を検証
出力フォルダーとマニフェストを比較し、不足ページや想定外のファイルを検出できます。
ページ単位のジョブを作成
各PDFページに対し、安定したPNGまたはJPGの保存先を持つ決定的なタスクを作れます。
よくある質問
この機能でPDFを変換できますか?
いいえ。ページ単位の変換で予定される名前を生成しますが、PDFの読み取りやレンダリングは行いません。
どの画像形式に対応していますか?
対応する拡張子はpngとjpgです。それ以外の形式を指定すると、無効な入力としてエラーになります。
ページ番号の先頭にゼロが付くのはなぜですか?
すべての番号を同じ幅にし、文字列として並べ替えた場合もページ順を保つためです。
番号は0と1のどちらから始まりますか?
通常読者に表示されるページ番号と同じく1から始まり、入力した総ページ数で終わります。
APIリクエストの料金はいくらですか?
APIリクエストは$0.002です。同じ決定的な処理をブラウザーでも実行できます。
対応する最大ページ数はいくつですか?
最大1万ページです。これにより、メモリ使用量と返される一覧の大きさを制限しています。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/pdf/to-image-sequence \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"page_count":12,"format":"png"}'const res = await fetch("https://api.kit.forhosting.com/pdf/to-image-sequence", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"page_count": 12,
"format": "png"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/to-image-sequence",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"page_count": 12,
"format": "png"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/to-image-sequence", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"page_count":12,"format":"png"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"page_count":12,"format":"png"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/to-image-sequence", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"page_count": 12,
"format": "png"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.to_image_sequence",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_items | 10000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |