PDFファイルからテキストを取り出す

Adobe Readerで「テキストとして保存」をしてもいいのですが、数が多くなってくると面倒です。そこで、pdftotextを使って楽にテキスト化する事にします。

pdftotextの入手・解凍

  1. xpdfをダウンロードします。ダウンロードするのはPrecompiled binariesの中にあるWin32版です。なお、pdftotextはxpdfの中に含まれています。
  2. 日本語サポートパッケージを同ページよりダウンロードします。Language Support Packagesの中のJapaneseです。
  3. xpdfを解凍します。
  4. 日本語サポートパッケージをxpdfを解凍したフォルダに解凍します。

pdftotextの設定 (C:\tmp\xpdfにxpdfを解凍した場合の例)

  1. C:\tmp\xpdf\japanese\add-to-xpdfrcをC:\tmp\xpdfにコピーし、add-to-xpdfrc→xpdfrcとリネームします。
  2. C:\tmp\xpdf\xpdfrcを開き、/usr/local/share/xpdf/japanese/をC:\tmp\xpdf\japaneseに置換します。なお、空白のあるフォルダにxpdfを解凍した場合は、絶対パスを""で囲ってください。(例: "C:\Program Files\xpdf\japanese\EUC-JP.unicodeMap")
  3. パスを通しておくとpdftotextと入力するだけで実行できるので便利です。(必須ではありません)

pdftotextの実行

  1. コマンドプロンプトで pdftotext [-raw] [-layout] -enc Shift-JIS PDFファイル名 でテキストファイルが出来上がります。

Shift-JISで出力すると半角英数が全角になります。半角のままで出力したい場合は、EUC-JPを使うか、実例(1):pdftotext を参考にShift-JIS.unicodeMapを書き換えて対応します。

おまけ:複数PDFファイルを繰り返して処理する

PDFファイルがあるフォルダで

for %I in (*.pdf) do pdftotext -enc EUC-JP -layout %I

を実行する。