最近の人工知能ブームでテキストマイニングから法則を発見するといったこともしばしば行うようになってきました。
PDFから文字列を抽出する方法をメモっておきます
環境
- mac os 10.11
インストール
まずはpdftotextをインストールします
1 | $ brew install homebrew/x11/xpdf-japanese |
このまま実行するとエラーになります
1 2 3 | $ pdftotext test.pdf Syntax Error: No font in show Syntax Error: Unknown character collection 'Adobe-Japan1' |
こちらを参考に修正します
1 2 3 4 5 6 7 8 9 10 11 | $ wget ftp://ftp.foolabs.com/pub/xpdf/xpdf-japanese.tar.gz $ tar zxvpf xpdf-japanese.tar.gz $ mkdir -p /usr/local/share/xpdf/japanese $ mv xpdf-japanese/* /usr/local/share/xpdf/japanese/ $ echo "textEncoding UTF-8" >> /usr/local/etc/xpdfrc $ echo "cidToUnicode Adobe-Japan1 /usr/local/share/xpdf/japanese/Adobe-Japan1.cidToUnicode" >> /usr/local/etc/xpdfrc $ echo "unicodeMap ISO-2022-JP /usr/local/share/xpdf/japanese/ISO-2022-JP.unicodeMap" >> /usr/local/etc/xpdfrc $ echo "unicodeMap EUC-JP /usr/local/share/xpdf/japanese/EUC-JP.unicodeMap" >> /usr/local/etc/xpdfrc $ echo "unicodeMap Shift-JIS /usr/local/share/xpdf/japanese/Shift-JIS.unicodeMap" >> /usr/local/etc/xpdfrc $ echo "cMapDir Adobe-Japan1 /usr/local/share/xpdf/japanese/CMap" >> /usr/local/etc/xpdfrc $ echo "toUnicodeDir /usr/local/share/xpdf/japanese/CMap" >> /usr/local/etc/xpdfrc |
実行
2ページ目から出力してみます。
1 | $ pdftotext -f 2 -raw -layout -enc UTF-8 test.pdf |
test.txtというファイル名で作成されます