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

ruby Ruby
rails Rails
pdftotext pdftotext

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

表形式のPDFからテキストを取り込む際に前回のpopplerでは空白がtrimされてしまっていたため、Pdftotextを試してみた。

gemのインストール

事前にbrew install popplerでpopplerをインストールする(前回実施済み)
Gemfileにgem 'pdftotext'を追加してbundle install

Pdfの読み込み

  • 前回作成したRailsのタスクを修正する
lib/tasks/read_pdf.rake
namespace :read_pdf do
  desc 'PDF読み込み' # rake -T で表示する説明
  task read: :environment do
    # Report.pdfの読み込み処理
    reader = Pdftotext.text('pdf/sample.pdf') # 読み込むPDF名
    puts reader                       # 読み込んだテキストの出力
  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 サンプルデータ

$ 

表形式のサンプルではないが、popplerではimageのあった部分が詰まって取得されていたが、pdftotextでは、image部分が空白となり、PDF上でのlayoutに近い状態で取得できる。