Tips記事
» 2003年05月07日 17時47分 UPDATE

PDFからテキストを取り出したい

[木田佳克,ITmedia]

 アドビのPDF(Portable Document Format)は、一般的にAcrobat Readerで読み取らなければ、内容確認ができない。しかし、ここで挙げるxpdf(pdftotext)を利用すれば、コマンドラインでPDFファイルを指定し、内容をテキストファイルへと変換可能だ。

 まず最初に、システム上にRPMパッケージがインストールされているかどうかを調べよう。存在しない場合には、システムCD-ROMやISOファイル、「SpeakEasy.Rpmfind.Net」などで検索するとよい。

# rpm -qa|grep xpdf
xpdf-2.01-8

 次に、xpdfの設定ファイル「add-to-xpdfrc」内容を、ホームディレクトリ直下(~/)に「.xpdfrc」としてコピーしておく。

# cat /usr/share/xpdf/japanese/add-to-xpdfrc
#----- begin Japanese support package (2002-apr-01)
cidToUnicode Adobe-Japan1 /usr/share/xpdf/japanese/Adobe-Japan1.cidToUnicode
unicodeMap ISO-2022-JP /usr/share/xpdf/japanese/ISO-2022-JP.unicodeMap
unicodeMap EUC-JP /usr/share/xpdf/japanese/EUC-JP.unicodeMap
unicodeMap Shift-JIS /usr/share/xpdf/japanese/Shift-JIS.unicodeMap
cMapDir Adobe-Japan1 /usr/share/xpdf/japanese/CMap
toUnicodeDir /usr/share/xpdf/japanese/CMap
displayCIDFontX Adobe-Japan1 "-*-fixed-medium-r-normal-*-%s-*-*-*-*-*-jisx0208.1983-0" ISO-2022-JP
#----- end Japanese support package

 ここまでで準備が完了だ。PDFからテキストへの変換コマンドは、次の「pdftotext」になる。

# which pdftotext
/usr/bin/pdftotext

 次に挙げるのは、PDFファイル「flets_adsl.pdf」をシフトJISコードで「flets_adsl.txt」として変換するよう指定している例だ。

# pdftotext -enc Shift-JIS -raw flets_adsl.pdf flets_adsl.txt

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ