PHPにて、PDFをテキスト化する方法を調べたところ、XPDFというのがあった。
http://www.foolabs.com/xpdf/download.html
これを、さくらのレンタルサーバで入れたいのだが、厄介。日本語を抽出するのも設定が面倒そう。。
https://saturday-development.com/archives/2297.html
もう少し調べてみると、Popplerというのがあることを知った。
https://poppler.freedesktop.org/
Popplerとは
Poppler is a PDF rendering library based on the xpdf-3.0 code base.
Popplerをインストール
さくらのレンタルサーバへSSHで入ったあとに、こちらの手順に従う。
http://pulltab.info/2017/02/-pdfimages.html
2017年6月7日時点では、
- poppler-0.55.0.tar.xz
- poppler-data-0.4.7.tar.gz
が最新。
% mkdir -p $HOME/local/src % cd $HOME/local/src % wget https://poppler.freedesktop.org/poppler-0.55.0.tar.xz % tar -xvzf poppler-0.51.0.tar.xz % cd poppler-0.51.0 % ./configure -prefix=$HOME/local % make % make install % cd ../ % wget https://poppler.freedesktop.org/poppler-data-0.4.7.tar.gz % tar -xvzf poppler-data-0.4.7.tar.gz % cd poppler-data-0.4.7 % make install datadir=$HOME/local/share
使い方
上の手順に従うと、pdftotextなどのbinaryが /home/〇〇/local/bin/ に入っているので、
$result = shell_exec("/home/〇〇/local/bin/pdftotext hoge.pdf -");
とすれば、pdfから抽出したtextを取得できる。
pdftotextの他に、
- pdfdetach
- pdffonts
- pdfimages
- pdfinfo
- pdfseparate
- pdftohtml
- pdftoppm
- pdftops
- pdfunite
が使える。便利。