RailsでPDFのテキストを読み込んでみる Poppler編

ruby Ruby
rails Rails
poppler poppler

RailsでPDFのテキストを読み込んでみる pdf-reader編

前回うまく取り込めていなかったので、他のGemを探していたところ、Popplerが良さそうだったので試して見た。

gemのインストール

Gemfileにgem 'poppler'を追加してbundle installとしたらエラー。。。
色々探っていると、どうやらRabbitを入れると一緒にpopplerも入るということで、こちらを参考にまずはHomebrewでinstallとLinkの設定

$ brew install cairo
$ brew link cairo
$ brew link --overwrite pixman
$ brew install pango
$ brew install gtk+
$ brew install poppler --with-glib

その後Gemfileにgem 'rabbit'を追加してbundle install
今度は成功。 やったね!

Pdfの読み込み

  • Railsのタスクに登録して見る
lib/tasks/read_pdf.rake
namespace :read_pdf do
  desc 'PDF読み込み' # rake -T で表示する説明
  task read: :environment do
    # Report.pdfの読み込み処理
    reader = Poppler::Document.new('pdf/sample.pdf') # 読み込むPDF名
    puts reader.first.get_text                       # 読み込んだテキストの出力
  end
end

実行してみると

$ rails read_pdf:read
PDF サンプルデータ
お知らせ PDF サンプルデータお知らせ PDF サンプルデータお知らせ PDF
サンプルデータお知らせ PDF サンプルデータお知らせ PDF サンプルデー
タお知らせ PDF サンプルデータお知らせ PDF サンプルデータお知らせ
PDF サンプルデータお知らせ PDF サンプルデータお知らせ PDF サンプル
データお知らせ PDF サンプルデータ
お知らせ PDF サンプルデータお知らせ
PDF サンプルデータお知らせ PDF サ
ンプルデータお知らせ PDF サンプル
データお知らせ PDF サンプルデータお
知らせ PDF サンプルデータお知らせ
PDF サンプルデータお知らせ PDF サ
ンプルデータお知らせ PDF サンプル
データお知らせ PDF サンプルデータお
知らせ PDF サンプルデータ
お知らせ PDF サンプルデータお知らせ
PDF サンプルデータお知らせ PDF サ
ンプルデータお知らせ PDF サンプル
データお知らせ PDF サンプルデータお
知らせ PDF サンプルデータお知らせ
PDF サンプルデータお知らせ PDF サ
ンプルデータお知らせ PDF サンプル
データお知らせ PDF サンプルデータお
知らせ PDF サンプルデータ
$ 

pdf-reader編では文字化けしていたところがちゃんと表示されている。
installでハマらなければ、popplerの方が使いやすいね!