ForHosting KIT · PDF・文書ツール

PDFのしおりをページ・階層付きで一覧化

PDFのアウトラインツリーを、確認・テスト・書き出し・後続処理に使いやすい、整然としたしおり一覧へ変換します。各項目には、しおりのタイトル、1から始まる階層レベル、同じく1から始まる移動先ページが含まれます。アウトライン本来の順序を保ち、子項目を親項目の直後に配置します。空のアウトラインは明確にエラーとなるため、目次が存在しない状態を、データのない正常な結果と取り違えることがありません。

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

処理はブラウザ内で完結します。ファイルは送信されません。無料でご利用いただけます。

入れ子のアウトラインを扱いやすい行へ変換します

PDFのしおりは、通常アウトラインツリーとして表現されます。章が最上位にあり、その下に節、さらに深い階層に小見出しが続きます。PDFビューアーでは便利な構造ですが、ナビゲーションの監査、レポート作成、版の比較、表計算ソフトへの受け渡しには扱いにくい場合があります。この機能はツリーを行きがけ順でたどります。親を先に出力し、その子孫を元の順序で並べてから、次の兄弟へ進みます。各行には、しおり台帳に必要なタイトル、レベル、移動先ページだけが含まれます。レベルとページはいずれも1から始まります。そのため、再帰的な入れ子を取り除いても、画面に見える読書順は保たれます。この機能自体はPDFファイルを開いたり変更したりしません。PDF解析ツールや前段の処理で取得済みのアウトラインを入力してください。

検証規則と決定的な順序を確認できます

各しおりは、空でないタイトルと正の整数ページを持つオブジェクトである必要があります。任意の子項目は、別のしおりを含む配列として指定します。タイトルの前後にある余分な空白は除去しますが、内部の文字列は変更しません。アルファベット順やページ順への並べ替えは行いません。並べ替えると、作成者が意図したアウトライン順を損なう可能性があるためです。入力された順序をそのままたどり、ツリーの深さからレベルを求めます。したがって、同じ入力からは常に同じ結果が得られ、通信、時刻、乱数、実行環境には依存しません。最上位のアウトラインが空なら、無効な入力としてエラーにします。これにより、自動処理はしおりのない文書で確実に停止できます。不正な子配列、欠落したタイトル、無効なページ、深すぎる階層、循環参照、過大なツリーも明確に拒否します。

文書処理の流れに一覧を組み込めます

平坦なしおり一覧は、PDF解析と後続の業務処理をつなぐ分かりやすい境界になります。目次として表示したり、必要な章がそろっているか確認したり、改訂版どうしのタイトルと移動先を比較したりできます。ページを節名に対応付ければ、後続の抽出処理にも利用できます。応答には総件数と順序付きのレコードが含まれるため、個別処理を始める前に件数を検査できます。レベル値からインデントや元のツリーを復元でき、ページ値はナビゲーションやページ範囲の計算に役立ちます。ただし、この機能は受け取ったアウトラインを報告するものです。対象PDFにページが実在するかの確認、本文からの見出し推定、壊れた移動先の修復は行いません。解析元が総ページ数を返す場合は、別途範囲を検証してください。ブラウザーでは無料で実行でき、自動化するAPIリクエストは$0.002です。どちらも同じ決定的な実装を使用します。

文書ナビゲーションを監査します

しおりを表示順に確認し、公開前に不足した章、想定外の階層、誤った移動先を見つけられます。

目次を作成します

解析結果をレベル別に字下げし、移動先ページへリンクできる行へ変換します。

PDFの版を比較します

2つの版から安定した一覧を作り、タイトル、階層、順序、移動先ページを比較できます。

PDFファイル自体を読み込みますか?

いいえ。PDF解析ツールが生成したアウトラインツリーを受け取り、しおりレコードへ平坦化します。

結果はどの順序で並びますか?

行きがけ順です。親を子より先に配置し、兄弟項目は入力された文書順を維持します。

しおりのレベルはどのように数えますか?

最上位をレベル1、その子をレベル2とし、入れ子が一段深くなるたびに1を加えます。

アウトラインが空の場合はどうなりますか?

しおりの欠落を正常な空レポートと誤認しないよう、無効な入力としてエラーを返します。

移動先ページの存在を確認しますか?

正の整数であることは確認しますが、PDFの総ページ数との照合は別の処理で行ってください。

APIリクエストの料金はいくらですか?

APIリクエストは$0.002です。同じ決定的な処理をブラウザーで無料実行することもできます。

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

POSThttps://api.kit.forhosting.com/pdf/bookmarks-list

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

curl -X POST https://api.kit.forhosting.com/pdf/bookmarks-list \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"outline":[{"title":"Introduction","page":1,"children":[{"title":"Background","page":3}]},{"title":"Methods","page":8}]}'
{
  "outline": [
    {
      "title": "Introduction",
      "page": 1,
      "children": [
        {
          "title": "Background",
          "page": 3
        }
      ]
    },
    {
      "title": "Methods",
      "page": 8
    }
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "pdf.bookmarks_list",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

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

1リクエストあたり$0.002

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

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

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