Windows上のRubyで日本語PDFを読むためにpoppler-dataをインストールする方法
Rubyで日本語PDFを読みましょう。ただし、Windows上で。
WindowsでのRuby開発環境の構築などについて、ここで改めて述べることはしません。詳細は各種書籍、ウェブサイトをご参照ください…といいつつ、『たのしいRuby 第5版』には記載されていない内容を含みますので、以下の書籍などなどをご参照ください。
Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例
そう、日本語PDFを読み込むための準備にはDevelopment-Kitを使うのです。使わにゃならんのです、たぶん。
こちらの記事にも記載がありました。
Development Kit
さて、当のDevelopment Kit…についての説明は荷が重いので最小限にするとして、ある種のgemや、今回用いるような追加データを上手いことRuby環境に載せるために必要な「ビルドツール」と呼ばれるものです。
未だ、よく分かってないのですが。
とにかく、Development Kitについてはインストールしておきましょう。
ちなみに、「Ruby」という括りをなくすと「MinGW」というDevelopment Kitのより一般的な(?)ビルドツール/コンパイラーに出くわします。
今回紹介するpoppler-dataのインストールにおいて、「どうやら“ビルド”が必要だぞ」と察してから真っ先にダウンロードしたのがこの「MinGW」。ですが、Rubyで“ビルド”と言えばこれはもう「Development Kit」を使えば良いわけで、わざわざ「MinGW」を手に入れる必要はありませんでした。
poppler-data
日本語でPDFを読もうと思ってpopplerをインストールの上、簡単なスクリプトを書き、お試しのPDFを読み込んでみたらば。
エラー(フォントがないよ、みたいなエラー)。
日本語を扱うには、poppler-dataが必要のようです。
が、如何せんWeb上の情報にはLinuxやMacOS向けのモノが多く、Windows環境で再現するために試行錯誤を必要としました。
popplerのgem installは完了していることにして、poppler-dataのダウンロードから始めましょう。
①ダウンロード
https://poppler.freedesktop.org/
上記サイトより、「poppler-data-0.4.7.tar.gz」みたいなファイルをダウンロードします。
②解凍・展開
圧縮・解凍ソフト 7-Zip を使って、解凍してください。gzもtarも展開してください。
③コンソール画面からmake
「コマンド プロンプト」から、カレントディレクトリを先ほど解凍したフォルダへ移動します。
そこで、カタカタっと徐に入力。
make install
Development Kit(DevKit)はこのコマンドを実行可能にするツールだったんですね(たぶん。実行できない場合はDevKitにPATHが通っているか確認してみてください)。
Makefileがある場所で、make
やmake install
を入力するとビルドされる…はず。そのくらいの理解で、ここは一つ。
そうすると、すすすいっと何らかの過程が進行し、DevKitのインストールフォルダにファイルが追加されます。
\development-kit\local\share\
あたりを見てみると、popplerフォルダが出来上がっているのではないでしょうか。
これでWindows上のRuby環境に対するpoppler-dataのインストールは完了し、エラーも解消して、めでたく日本語PDFを扱うことができるようになりました。
…もしなってなかったらごめんなさい!ここにあなたの求める情報はありません。
また別のエラーが現れた?その場合には下記記事が参考になるかもしれません。
ご参照ください。日本語PDFが扱えるようになると、クロール対象が飛躍的に拡がる…かも?
追記
しばらく後にテストしたPDF以外のPDFをpopplerで読む機会があり、「ふふふん♪」と鼻唄まじりに試してみたらば。
Poppler-INFO **:Syntax error at position -1: No font in show/space
Poppler-INFO **:Syntax error at position -1: Missing language pack for 'Adobe-Japan1' mapping
Poppler-INFO **:Syntax error at position -1: Unknown font tag 'C2_0'
Poppler-INFO **:Syntax error at position 151358: No font in show
なんだか大量のエラーを吐き出し、全然読めていませんでした。肝心なpoppler-dataのファイルが認識されていない?実はテスト用のファイルはpoppler-dataなしで読めていた…?
という訳で(?)、解決策を示しておきます。
④ファイルを移動
上記手順③でMake installして得られたpopplerフォルダを、Gemがインストールされたフォルダへ移動します。
Rubyの環境次第で違うかもしれませんが、
ruby(インストールフォルダ) > lib > ruby > gems > (ヴァージョン)> poppler-3.0.8-x86-mingw32 > vendor > local > share
などなどと辿ったそのshareフォルダにpopplerフォルダをコピーすれば読み取ってくれるようです。*1*2
お試しあれ。
Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例
- 作者: 佐々木拓郎,るびきち
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2014/08/22
- メディア: 単行本
- この商品を含むブログ (10件) を見る