ターミナルで、PDFファイルからテキストデータを取り出す方法|UNIX Cafe

当サイトでは、コンテンツの一部に広告を掲載しています。
ターミナルで、PDFファイルからテキストデータを取り出す方法

UNIX Cafe | 第83回

目次

ターミナルで整える、PDFテキストの下ごしらえ

PDFファイルに書かれている文章を、
テキストデータ(.txt)として取り出したい
と思ったことはありませんか?

たとえば、

  • PDFとHTMLの内容を見比べたい
  • 誤字脱字をチェックしたい
  • 表記を統一したい

こうした作業は、
PDFやWordのままでは、とてもやりにくいものです。

そこで役に立つのが、
ターミナルを使ってPDFをプレーンテキストに変換する方法です。

そもそも、PDFからテキストは取り出せるの?

結論から言うと、PDFの種類によります

  • 文字として作られたPDF → テキストを取り出せます
  • 紙をスキャンしたPDF(画像) → そのままでは取り出せません

この記事で紹介する方法は、
文字として作られたPDFが対象です。

使うコマンド:pdftotext

PDFからテキストを取り出すときに使うのが、

pdftotext

というコマンドです。

特別な設定はほとんど必要なく、とてもシンプルに使えます

pdftotext が使えるか確認する

まず、ターミナルを開いて次を入力します。

pdftotext -v

バージョン情報などが表示されれば、
すでに使える状態です。

PDFからテキストを取り出す(基本)

たとえば、sample.pdf というPDFファイルがある場合。

pdftotext sample.pdf

これだけで、同じフォルダに

sample.txt

というテキストファイルが作られます。

中身を確認してみましょう。

less sample.txt

文章がそのまま、
文字として取り出されているのが分かるはずです。

出力ファイル名を指定する

テキストファイルの名前を変えたい場合は、
次のように書きます。

pdftotext sample.pdf output.txt

レイアウトをできるだけ保ちたい場合

PDFは「見た目」を重視した形式なので、
そのまま変換すると改行が崩れることがあります。

そんなときは、-layout を付けます。

pdftotext -layout sample.pdf

表や段落の位置が、少し分かりやすくなります。

macOSで pdftotext が使えない場合

macOSで pdftotext が使えない場合は、
次のコマンドでインストールできます。

brew install poppler

インストール後、もう一度 pdftotext を試してください。

よくある注意点

● スキャンPDFの場合

紙をスキャンして作られたPDFは、
中身が「画像」です。

そのため、

pdftotext

では文字を取り出せません。

この場合は、
OCR(文字認識) という別の処理が必要になります。

なぜ、テキストにすると便利なの?

PDFやWordは、見せるための形式です。

一方、プレーンテキストは、

  • 誤字脱字を見つけやすい
  • 表記の違いを比較できる
  • HTMLや別資料と照合できる

という特徴があります。

今回のように、

  • PDF → テキスト
  • テキストを整形
  • HTMLと内容を照合

といった作業は、
プレーンテキストにして初めて可能になります。

まとめ

  • ターミナルを使えば、PDFからテキストを取り出せる
  • 基本はこの1行だけ
pdftotext sample.pdf

取り出したテキストは、

  • 確認
  • 修正
  • 照合

すべての土台になる

おわりに

WordやPDFは、とても便利です。
でも一度、飾りを外して中身だけを見ると、
文章はぐっと扱いやすくなります。

ターミナルは難しい道具ではありません。
文章を正確に確認するための、
静かな作業机のような存在です。

次は、
取り出したテキストを整える方法へ進んでみましょう

さらに学びたいあなたへ

📘 用途ごとに選ぶ Linux のおすすめ本

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

のいのアバター のい UNIX Cafe 編集部

UNIX Cafe は、むずかしい言葉をできるだけ使わず、物語を読むような気持ちで気軽に学べる場所です。
プログラミングは、アイデアをコンピューターに伝えるための「ことば」。
簡単な単語と文法を覚えることで、誰でもターミナルから便利なコマンドを使えるようになります。
コーヒーを片手に立ち寄るような気持ちで、やさしいプログラミングの世界を、
そっとのぞいてみてください。

目次