SolarisにXpdfをインストール

 

PDFファイルからテストを抽出するpdftotextコマンドを利用したいので、Xpdfをインストールした。

 

■Xpdfのソースをダウンロードする

http://www.foolabs.com/xpdf/download.html

ftp://ftp.foolabs.com/pub/xpdf

 

ダウンロードするファイル

freetype-2.3.1.tar.bz2 (xpdfで必要)

t1lib-5.1.0.tar.gz (xpdfで必要)

xpdf-3.02.tar.gz

xpdf-japanese-2004-jul-27.tar.gz  (日本語対応のため必要)

 

■freetypeをインストールする

$ bunzip2 freetype-2.3.1.tar.bz2 
$ tar xvf freetype-2.3.1.tar
$ cd freetype-2.3.1
$ cat README  (リードミーに目を通しておく)
$ cat docs/INSTALL  (インストールの方法に目を通しておく)
$ cat docs/UPGRADE.UNIX   (情報に目を通しておく)

 

docs/UPGRADE.UNIX に書いてあったコマンドを試してみた。

$ freetype-config --prefix
/usr/sfw

Solaris 10 は、以下の場所にインストールされていることが分かったので、freetypeはインストールしなかった。

/usr/sfw/bin/freetype-config

/usr/sfw/lib/libfreetype.so

/usr/sfw/include/freetype2/freetype/ 

 

 

■t1libをインストールする

$ tar zxvf t1lib-5.1.0.tar.gz 
$ cd t1lib-5.1.0
$ ./configure

Configure finished!
Do: 'make' to compile the t1lib-package.
Do: 'make without_doc' to compile if you do not have LaTeX.
Do: 'make install' to install the t1lib-package.

$ make without_doc  (LaTexは使っていないのでwithout_docを指定した)
# make install

/usr/local/lib/libt1.so  などのライブラリがインストールされた。

/usr/local/share/t1lib/t1lib.config  設定

/usr/local/share/t1lib/doc/t1lib_doc.pdf  ドキュメント

 

 

■xpdfをインストールする

$ tar zxvf xpdf-3.02.tar.gz  
$ cd xpdf-3.02
$ cat INSTALL  (インストール情報を読んでおく)
$ ./configure --help  (書き方を調べておく)

$ ./configure --with-gzip \
--with-t1-library=/usr/local/lib \
--with-t1-includes=/usr/local/include/ \
--with-freetype2-library=/usr/sfw/lib \
--with-freetype2-includes=/usr/sfw/include/freetype2

$ make

# make install

 

/usr/local/bin/xpdf

/usr/local/bin/pdftotext

/usr/local/bin/pdfimages  等がインストールされた。

 

 

■日本語対応させる

$ tar zxvf xpdf-japanese-2004-jul-27.tar.gz 
$ cat README  (目を通しておく)

# mkdir -p /usr/local/share/xpdf/japanese

# cd /usr/local/src/xpdf-japanese/
# cp -R *.unicodeMap /usr/local/share/xpdf/japanese/
# cp -R *.cidToUnicode /usr/local/share/xpdf/japanese/
# cp -R CMap /usr/local/share/xpdf/japanese/

# cat add-to-xpdfrc  (内容を確認しておく)
# cat add-to-xpdfrc >> /usr/local/etc/xpdfrc  (xpdfrcへ追加する)

 

 

■pdftotextコマンドでPDFからテキストを抽出する

PDFファイルからテキストを抽出する。

$ pdftotext -enc Shift-JIS test.pdf

test.txt というファイルが同じディレクトリに作成される。(はず)

 

 

エラーメッセージが表示された。

Error: Unknown character collection 'Adobe-Japan1'
Error: Couldn't find '90ms-RKSJ-H' CMap file for 'Adobe-Japan1' collection
Error: Unknown CMap '90ms-RKSJ-H' for character collection 'Adobe-Japan1'
Error: Unknown character collection 'Adobe-Japan1'
Error: Couldn't find '90ms-RKSJ-H' CMap file for 'Adobe-Japan1' collection
Error: Unknown CMap '90ms-RKSJ-H' for character collection 'Adobe-Japan1'
Error: Unknown font tag 'F001'
Error (1176): No font in show
Error (1186): No font in show

 

pdftotext -h でヘルプを見ると、設定ファイルの指定方法が書いてあったので試した。

$ pdftotext -cfg /usr/local/etc/xpdfrc -enc Shift-JIS test.pdf
$ pdftotext -cfg /usr/local/etc/xpdfrc -enc EUC-JP test.pdf
$ pdftotext -cfg /usr/local/etc/xpdfrc -enc UTF-8 test.pdf

Shift_JIS ではなく、Shift-JIS で指定する。指定方法は、/usr/local/etc/xpdfrc を見れば分かる。

 

 

■参考ページ

PDFファイルからテキストを抽出するには

xpdf 3.01 インストールメモ

xpdf 1.01 インストールメモ