ForHosting KIT · PDF・文書ツール

PDFブックマークから目次を作成

PDFのブックマーク構成を、見出しとページ番号を手作業でそろえることなく、一貫した目次ページへ変換できます。文書内の順序に従い、各ブックマークの見出し、1から始まる移動先ページ、任意の階層レベルをご指定ください。階層は字下げで保持され、読みやすい点線が追加されます。結果には構造化された項目と、そのまま利用できるページ本文の両方が含まれます。空の構成は拒否されるため、前工程でブックマークが取得できなかった場合も見落としません。

● Beta無料・ブラウザ内で実行
ご利用方法 ウェブAPIメールTelegramアプリ 近日

ブックマーク構成をご用意ください

あらかじめPDFから取得したブックマーク構成をご用意ください。各項目には見出しと1から始まるページ番号が必要で、読者が文書内で目にする順序に並べます。章や親項目の配下にあるブックマークには階層レベルをご指定ください。レベル0は最上位、レベル1は1段の字下げとなり、それ以上の値では字下げが深くなります。この生成機能はPDFデータを解析・変更せず、本文からブックマークを推測したり、項目を並べ替えたりもしません。役割を分けることで出力が予測しやすくなり、入力データの問題も明確になります。見出し内の連続する空白や改行は自動的に整えられます。見出しには表示可能な文字が必要で、ページ番号は正の整数、階層レベルは仕様の範囲内でなければなりません。構成が空の場合は空白ページではなく入力エラーを返します。

生成されるページの内容をご確認ください

結果には、表題、正規化された項目の配列、項目数、および整形済み本文を格納したページフィールドが含まれます。各行はブックマークの階層に応じた字下げから始まり、整えられた見出し、ページ番号の順に続きます。見出しと番号の間は点線で埋められるため、視線を移しやすくなります。書式設定には一定の目標幅を使用しますが、配置を保つためだけに長い見出しを切り詰めることはありません。全文を残し、最低限の点線を挿入します。そのため、重要な章名を損なわず、ブラウザーとAPIのどちらでも同じ入力から同じ結果が得られます。構造化された各項目にも、見出し、ページ、階層、完成した行が収録されています。提供された本文をそのまま使うことも、後工程で独自の書体を適用することも可能です。既定の表題は「目次」で、空ではない1行の別表記へ変更できます。

PDF作成工程へ組み込んでください

返されたページ本文を、実際のPDFページを作成または挿入する工程の入力としてご利用ください。この機能はブックマーク構成の表示に特化しており、ページ挿入後の移動先の再計算、フォント選択、長い目次の複数ページ化、元ファイルの変更は行いません。新しいページの挿入によって移動先がずれる場合は、最終版を生成する前に入力値を補正するか、PDFを組み立てる工程で調整してください。役割を明確に分けることで、ブックマーク記録後に前付けを追加した際に起こりやすい1ページのずれを防げます。再現可能な出版工程では、構成の抽出または管理、移動先ページの確認、目次の生成、PDF合成への受け渡しという順序が適切です。同じ決定的な処理がネットワークや保存状態なしで動作するため、ブラウザー確認、ビルド処理、文書ポータル、回帰テストにもご利用いただけます。

整備済みブックマークから目次を作成

丁寧に管理された章構成を、最終PDFの組み立て前に整列済みの本文へ変換できます。

文書公開を自動化

移動先ページが変わるたびに、ビルド工程で一定形式の目次を生成できます。

抽出した構成を検証

空白の目次ページをそのまま公開せず、空の抽出結果を早い段階で拒否できます。

料金はいくらですか?

APIは1回のリクエストにつき$0.002です。ブラウザー版はこのページ上でローカル実行できます。

この機能はPDFファイルを読み込みますか?

いいえ。すでに用意されたブックマーク構成を受け取り、目次用の本文として整形します。

構成が空の場合はどうなりますか?

ブックマークの欠落から誤解を招く空白ページが作られないよう、入力エラーになります。

階層はどのように表しますか?

各項目に0から始まるレベルをご指定ください。レベルが1つ上がるごとに空白2文字分を字下げします。

長い見出しは省略されますか?

いいえ。正規化した見出し全文を残し、ページ番号との間に3個以上の点を入れます。

目次を挿入するとページ番号も更新されますか?

いいえ。最終的な移動先をご指定いただくか、後続のPDF組み立て工程で調整してください。

このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。

POSThttps://api.kit.forhosting.com/pdf/table-of-contents

Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。

curl -X POST https://api.kit.forhosting.com/pdf/table-of-contents \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"outline":[{"title":"Introduction","page":1,"level":0},{"title":"Installation","page":4,"level":1}]}'
{
  "outline": [
    {
      "title": "Introduction",
      "page": 1,
      "level": 0
    },
    {
      "title": "Installation",
      "page": 4,
      "level": 1
    }
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "pdf.table_of_contents",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。

1リクエストあたり$0.002

単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。

max_items500
HTTPコード意味
401unauthorizedAPIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。
402insufficient_balance残高が不足しています。チャージ後に再度お試しください。
404unknown_type指定されたタスクタイプは存在しません。タイプ名を確認してください。
429rate_limitedリクエストが多すぎます。しばらく待ってから再度お試しください。

KITの完全なドキュメントを見る →