PDFの内容を検索材料として投入したい。
どのPDFのの何ページ目がヒットしたのか、ぐらいは表示できるようにしたい。
というわけで、pdfinfoとpdftotextを使用します。
まず
# yum install poppler poppler-utils
で、popplerをインストールしておきます。
# pdftotext --help pdftotext version 0.12.4 Copyright 2005-2009 The Poppler Developers - http://poppler.freedesktop.org Copyright 1996-2004 Glyph & Cog, LLC Usage: pdftotext [options][ ] -f : first page to convert -l : last page to convert ...... -layout : maintain original physical layout -raw : keep strings in content stream order ...... -enc : output text encoding name ...... -nopgbrk : don't insert page breaks between pages ......
うむ。入ってるっぽい。
# pdftotext /home/katzplus/hogehoge.pdf
で、今いるディレクトリに「hogehoge.txt」が作成される。
が、中身を見ると・・・
———-
!んゃじいなえ吸コバタ、どけイイはのるすせわ合ち待でバタス
———-
なんだこれ・・・
rawをつける
# pdftotext -raw /home/katzplus/hogehoge.pdf
———-
スタバで待ち合わせするのはイイけど、タバコ吸えないじゃん!
———-
できた。
コレをDBに入れておく。
ページごとにコンバートしたいときは
pdftotext -raw -f 1 -l 1 /home/katzplus/hogehoge.pdf /home/katzplus/hogehoge_page1.txt
これで1枚目のみのコンバート。
pdftotext -raw -f 1 -l 9 /home/katzplus/hogehoge.pdf /home/katzplus/hogehoge_page1to9.txt
だと1枚目から9枚目までのコンバート。
PDFが何ページあるのか確認したい場合は、
# pdfinfo /home/katzplus/hogehoge.pdf Title:Author: katzplus Creator: PScript5.dll Version 5.2.2 Producer: GPL Ghostscript 8.15 CreationDate: Fri Oct 32 19:19:29 2014 ModDate: Fri Oct 32 19:19:29 2014 Tagged: no Pages: 11 Encrypted: no Page size: 595 x 842 pts (A4) File size: 232654 bytes Optimized: no PDF version: 1.4
こんなカンジでページ数を確認できたりします。この場合は11枚。
PDFに振ってあるノンブルは作成者が任意に指定することができるので、
11ページではなくて11枚ってことで。
ページごとにデータを取得すると、何ページに該当ワードが出現したのか示すことができるようになるけど、
ページをまたいで出現したワードの扱いが面倒になる。
その辺はデータの入れ方や検索のやり方で任意に迎撃しましょう。