コンテンツへスキップ

PDF テキスト 抽出

PDF テキスト 抽出は、PDFに保存されている文字をプレーンなUTF-8のテキストファイルとして取り出す無料のツールです。このツールが読み取るのは、ファイルの文字の層(テキストレイヤー)で、文字の画像ではありません。そのため、スキャンからは文字が取り出せません。貼り付け、検索、編集のためにPDFの文字が必要なときにお使いください。

  • ツールがコピーするのは文字の層だけです。スキャンや文字の画像からは結果が得られません。そのようなファイルは画像をテキストに変換するツールを使ってください。
  • 暗号化されたPDFは受け付けません。パスワードも受け付けません。
  • 結果はファイルによって異なります。使う前に、テキストを確認してください。

ファイルをここにドロップするか選択してください。アカウントなしの上限は1ファイルあたり10 MBです。

1-3,5のように数字や範囲を入力します。zは最後のページです。テキストはページ順に出力されます。

セキュリティ確認を完了すると、ボタンが有効になります。

結果

ここにテキストが表示されます。

アカウントなし:1日20回まで、1ファイル10 MBまで、100ページまで。ログイン中:1ファイル50 MBまで、500ページまで。

保存期間:Webツールの結果は10分後に削除されます。APIの結果は無料プランでは1日、StarterとProでは7日保存されます(BusinessとScaleでは30日)。各ジョブの記録(種類、時刻、ステータス、クレジット。送信した内容は含みません)は、アカウント登録なしの場合30日間保存されます。ログイン済みの場合は、アカウントが存在する間保存されます。

  • アカウント登録なしで利用可能

    訪問者ごとに1日20回までPDFを処理できます。

  • ページは描き直しません

    ページはそのままコピーまたは回転するだけで、再エンコードはしません。そのため、文字も画像も画質が保たれます。

  • 自動的に削除

    Webツールの結果は10分後に削除されます。

プライバシー:送信された内容は、このファイルを作成するためにのみ使用されます。ジョブが終了すると、ジョブの記録からも含めて作業用のコピーは削除され、結果は10分後に削除されます。詳しくはプライバシーポリシーをご覧ください。

コードから実行する

同じ処理をAPIリクエストで行う方法です。各PDFをアップロードし、アップロードIDを指定して処理を開始し、ジョブの状態を確認します。APIキーが必要で、無料アカウントでも作成できます。

curl -X POST "https://api.aiipworld.com/v1/uploads" \
  -H "Authorization: Bearer $AIIPWORLD_API_KEY" \
  -H "Content-Type: application/pdf" \
  --data-binary @input.pdf   # returns {"upload_id": "UPLOAD_ID_1", ...}

curl -X POST "https://api.aiipworld.com/v1/pdf-jobs" \
  -H "Authorization: Bearer $AIIPWORLD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"op":"pdf_to_text","params":{},"files":["UPLOAD_ID_1"]}'
# returns {"job_id": "...", "status": "queued"}; then poll:
curl https://api.aiipworld.com/v1/jobs/JOB_ID -H "Authorization: Bearer $AIIPWORLD_API_KEY"

一括処理

Webツールは1回に1つのPDFを処理します。多数のファイルを処理するにはAPIを使ってください。1ジョブで1つのPDFを受け付けます。

保存期間

Webツールの結果は10分保存されます。無料APIの結果は1日、StarterとProの結果は7日、BusinessとScaleの結果は30日保存されます。

ひとことで言うと

PopplerのpdftotextでPDFの文字の層をUTF-8テキストに取り出す無料ツール。ページ指定とレイアウト保持に対応し、文字のないPDFは空の結果でクレジットなし。

主な仕様

  • API:PDFをhttps://api.aiipworld.com/v1/uploadsにPOSTし、続いてopにpdf_to_textとアップロードIDを指定してhttps://api.aiipworld.com/v1/pdf-jobsにPOSTし、GET /v1/jobs/:idで結果を確認します。
  • 入力:PDFは一つまで。アカウントなしは10 MB・100ページまで、ログイン時は50 MB・500ページまで。暗号化されたPDFは受け付けません。
  • 設定:読み取るページ(1-3,5のような数字と範囲)、できるだけレイアウトを保つ(ベストエフォート。段組みや表は崩れることがあります)、--- Page N ---の行の追加。結果はtext.txtで、コピーボタン付きの箱にも表示されます。
  • 範囲:保存された文字の層だけを読み取り、OCRは行いません。スキャンや文字の画像は空の結果になり、画像をテキストに変換するツールを案内し、クレジットは使いません。
  • テスト:生成した6ページのテキストPDF(51KB)から、1138文字(空白を除く)、1.4KBのテキストファイルを得ました。結果はファイルによって異なります。
  • アカウント登録なしの場合:1日あたり訪問者ごとに20件のPDFジョブを無料で利用でき、透かしは入りません。ログイン済みの場合、ジョブごとに1クレジットを使用します。テキストが含まれないPDFはクレジットを使用しません(毎月100の無料クレジットがあります)。
  • ファイルは自動的に削除されます。アカウント登録なしの場合は変換後10分、無料アカウントの場合は1日で削除されます。

出典

最終確認日:

使い方

  1. PDFをアップロードします。開始前に、ツールがファイルをPDFか確認します。
  2. 「ページ数」に読み取るページを入力します。例:1-3,5。空欄のままにすると、すべてのページを変換します。
  3. 必要に応じて「できるだけレイアウトを保つ」や「各ページの前に『--- Page N ---』の行を入れる」をオンにします。
  4. 「PDFからテキストを抽出」をクリックします。結果パネルにテキストが表示されるまで待ちます。
  5. 結果の箱からテキストをコピーするか、text.txtをダウンロードします。

出力例

Input: one PDF of 6 pages, 51 KB (pages 1 and 2 shown)

Pages 1 and 2 of the sample PDF

Output: text.txt, 1.4 KB

変換後のテキストファイルの最初の数行
生成した6ページのPDF(来訪者向けのハンドブック、架空の文章、51KB)の変換結果です。全ページで、1.4KB、1138文字(空白を除く)のテキストファイルが得られました。画像には、そのファイルの最初の数行が表示されています。1ページ目の画像を入れたPDF(32KB)は空の結果になり、クレジットは使われませんでした。 このサイトの独自エンジンで変換しました。 変換後のファイルを開く(または画像を選択)で原寸で確認できます。

PDF テキスト 抽出でできること

PDF テキスト 抽出は、PDFの中に保存されているテキストを、プレーンなUTF-8のテキストファイルにコピーします。取り出した文字は、貼り付け、検索、編集に使えます。

すでに文字が含まれているPDFが対象です。画像の中の文字は読み取りません。報告書、申込書、記事などをPDFで保存している場合に向いています。

取り出すページを選ぶ

すべてのページを変換することも、一部のページだけを変換することもできます。「ページ数」欄には、1-3,5のように数字と範囲を入力します。最後のページは、文字zで指定できます。たとえば4-zと入力すると、4ページ目から最後までを変換します。

テキストは、ページを指定した順番ではなくPDFのページ順に並びます。ページ番号は1から始まり、0は指定できません。ファイルの最後のページより大きい番号を指定すると、ジョブは失敗し、ドキュメントのページ数が表示されます。その場合、クレジットは返却されます。

レイアウトをできるだけ残す

「できるだけレイアウトを保つ」をオンにすると、ページに見えるとおりに、文字が空白で揃えられます。ただし、これはベストエフォートの設定です。段組みや表は、まだ崩れることがあります。

1段組みの6ページのPDF(51KB)で試したところ、オンとオフのどちらでも、テキストファイルは1.4KBでした。オプションによる変化はわずかでした。複数段組みや表が多い文書は、テストしていません。結果をよく確認してください。

ページの区切り線とテキストファイル

「各ページの前に『--- Page N ---』の行を入れる」をオンにすると、各ページの本文の前に「--- Page N ---」の行が追加されます。たとえば2-3ページを変換すると、ファイルの先頭は「--- Page 2 ---」の行から始まります。どのページから始まるかを見つけやすくなります。

出力は、いつもプレーンなUTF-8のテキストファイルです。どのエディタでも開けます。ダウンロード時のファイル名はtext.txtです。区切り線は、オプションをオンにしたときだけ追加されます。

スキャンPDFから文字を取り出せない理由

文字の層がないPDFには、スキャン、ページを撮った写真、画像だけで作られたPDFなどがあります。このツールは、こうしたファイルから文字を取り出せません。画像の文字を読み取るには、画像をテキストに変換するツールを使ってください。

ジョブ自体は成功しますが、結果は空になります。結果パネルには「このPDFにはテキストが見つかりませんでした」と表示され、画像をテキストに変換するツールが案内されます。一部のページだけに文字の層がない場合は、そのページ番号が表示され、画像をテキストに変換するツールで読み取れることが案内されます。ほかのページの文字は、通常どおり取り出されます。ページの写真を1枚貼り付けたPDF(32KB)で試したところ、結果は空で、クレジットは使われませんでした。

結果を確認するポイント

テキストは、PDFに保存されているとおりにコピーされます。結果はファイルによって異なるため、再利用する前に内容を確認してください。テストでは、生成した6ページのPDF(51KB)から、1138文字(空白を除く)、1.4KBのテキストファイルが得られました。

PDF内で文字を文字コードに変換できない形式で保存されている場合、文字が崩れたり、欠けたりすることがあります。段組みや表も崩れることがあります。複数段組みや表が多い文書はテストしていないため、結果を注意して確認してください。

サイズ、ページ数、クレジットの制限

無料のWebツールでは、訪問者1人あたり1日20ジョブまで利用できます。この回数は、結合、分割、回転、ページ削除、PDFを画像に変換、画像をPDFに変換と共通です。アカウントなしの場合、アップロードするファイルごとにセキュリティ確認が必要で、訪問者1人あたり1日40回のアップロードに数えられます。1ジョブで扱えるPDFは1ファイルです。

アカウントなしでは、1ファイル10 MB・100ページまでです。ログインしている場合は、50 MB・500ページまで対応しています。制限は次のとおりです。

  • ログイン時の変換は1クレジットかかります。
  • テキストファイルにはサイズの上限があります。上限を超えた結果は失敗し、クレジットは返却されます。
  • 時間の上限を超えたジョブは失敗し、返金されます。

暗号化されたPDFと破損したPDF

暗号化されたPDFは受け付けません。パスワード付きのファイルや、利用制限のあるファイルも、保護の強さにかかわらず対象外です。パスワードは受け付けず、保護を開いたり、解除したりすることもしません。権利がある場合は、元のアプリケーションで保護を解除してから、アップロードしてください。

軽い破損のあるPDFは、可能な場合は自動で修復されます。その場合、結果パネルには「ファイルに軽い破損があり、自動で修復しました」と表示されます。「軽い破損のあるPDFを自動で修復する」はデフォルトでオンです。オフにすると、破損したファイルは受け付けません。修復できないファイルも受け付けません。

PDF テキスト 抽出をAPIで使う

APIでも、pdf_to_textの操作でテキストを取り出せます。まず、ファイルをそのままのバイト列として、Content-Typeをapplication/pdfにし、https://api.aiipworld.com/v1/uploadsに送信します。応答にはupload_idが含まれます。1リクエストで送れるファイルは1つです。

次に、https://api.aiipworld.com/v1/pdf-jobsに、JSONでopにpdf_to_text、filesにupload_id、paramsにlayout(trueまたはfalse)、pages、page_markers(trueまたはfalse)、allow_repairを指定してPOSTします。認証には、APIキーをAuthorization: Bearerヘッダー、またはx-api-keyヘッダーで送ります。

ジョブが成功、失敗、タイムアウトのいずれかになるまで、GET /v1/jobs/:idで確認します。成功時の結果には、テキストファイル、chars、pages_out、emptyが含まれ、download_urlは.txtファイルを指す短時間有効な署名付きリンクです。文字の層がない場合、結果は空になり、image_to_text(OCR)の操作を案内するヒントが表示されます。

エラーは、400 invalid_params、413 file_too_large、422 not_a_pdf、404 upload_not_found、402 insufficient_credits、429 rate limited(リクエストが多すぎます)の形で返ります。失敗したジョブのエラーコードには、encrypted_pdf、corrupt_pdf、too_many_pages、page_out_of_range、bad_paramsがあります。ページには、選んだ設定から作られるcURL、Node.js、Pythonの例が表示されます。API全体の説明は/docs/を参照してください。一括処理(batch)のエンドポイントはありません。webhookもまだありません。

ファイルのプライバシー

結果を作るために、ファイルをサーバーに送信します。ブラウザ内では処理されません。アップロードするファイルは、利用ポリシーに従い、利用する権利があるものにしてください。

アップロードしたファイルは、結果を作るためだけに使われます。作業用のコピーは、ジョブが成功しても失敗しても、終了時に削除されます。ジョブの記録は保存され、ログインしているユーザーはダッシュボードでジョブを確認できます。無料のWebツールでは、結果は10分後に削除されます。結果パネルには、保存期間が表示されます。ダウンロードリンクは短時間で無効になるため、テキストを受け取ったら保存してください。

よくある質問

PDFからテキストを無料で取り出せますか?

はい、アカウントなしで無料で使えます。訪問者1人あたり1日20ジョブまでの制限内で利用できます。

PDFから手作業で選択せずに文字をコピーできますか?

はい、できます。ツールを使うと、ビューアーで選択する必要がなく、PDFの文字を一度の操作で.txtファイルにコピーできます。保存されているテキストだけをコピーするため、スキャンした書類からは何も取り出せません。

一部のページだけテキストを取り出せますか?

はい、取り出せます。変換前に「ページ数」欄へ、1-3,5のようにページを入力してください。空欄のままにすると、すべてのページを変換します。

テキストが見つからないと表示されるのはなぜですか?

そのPDFには文字の層がないためです。スキャンや画像だけのPDFである可能性があります。そのページの文字は、画像をテキストに変換するツールで読み取ってください。

スキャンしたPDFも読み取れますか?

いいえ、読み取れません。このツールは保存されている文字だけをコピーし、文字の画像は読み取りません。スキャンしたページの場合、結果パネルで画像をテキストに変換するツールが案内されます。

レイアウトを残すと、どうなりますか?

文字が空白で揃えられ、ページに近い見た目になります。ただし、ベストエフォートの設定です。1段組みの簡単な文書で試したところ、変化はわずかでした。

段組みや表はきれいに取り出せますか?

きれいに取り出せるとは限りません。レイアウトのオプションをオンにしても、崩れることがあります。複数段組みや表が多い文書はテストしていないため、結果を確認してください。

テキストは.txtファイルで保存されますか?

はい、プレーンなUTF-8のテキストファイルです。text.txtとしてダウンロードするか、箱に表示されたテキストをコピーできます。

パスワード付きのPDFから文字を取り出せますか?

いいえ、取り出せません。暗号化されたPDFは受け付けず、パスワードも受け付けません。ツールは保護を開いたり、解除したりしません。

文字のないPDFでも料金がかかりますか?

いいえ、料金はかかりません。予約されたクレジットは返却されます。ログインして文字が取り出せた変換は、1クレジットかかります。

自分のプログラムからPDFのテキストを取り出せますか?

はい、APIのpdf_to_textの操作で取り出せます。先にファイルをアップロードし、ジョブを作成して、完了するまで確認します。ページにはcURL、Node.js、Pythonの例が表示されます。API全体の説明は/docs/をご覧ください。

アプリ内や一括処理で使いたい場合

このツールはAPIと同じ基盤で動いているため、結合・分割・回転も、コードからHTTPリクエストを2回(各PDFをアップロードし、続けて処理を開始)送るだけで行えます。 無料アカウントには、毎月100クレジットが含まれています。

関連ツール