解析エンジニアの自動化 blog

コツコツと自動化した方法を残す blog

VBScript による PDF のテキスト抽出




こんにちは。
仕事の自動化にやりがいと達成感を感じるガッくんです。



この記事の目次




目的


PDF 形式のファイルからテキスト情報を抽出します。 Microsoft Office 製品ならテキスト、図、グラフなどはオブジェクトなので情報を取得出来ますが、PDF 、画像の中の文字列などは容易には取得出来ません。(私には)
Microsoft Office 製品もPDF Export が実装されたこともあり、比較的テキストデータを保持した PDF ファイルが多く流通するのではないかなぁ〜と思い、PDF 形式のファイルからテキスト情報抽出をやってみました。




関数

準備

やり方はサードパーティ(使い方合ってるか微妙)から PDF のテキスト抽出するプログラムが公開されているので、使っちゃいます。
プログラムは xdoc2txt.exe です。
聞いたことがある人も多いのではないでしょうか!!
ダウンロード出来る WEB ページの URL を載せたかったのですが、直リンクはマナー違反とか、いまいち載せていいのかわからなかったのであえてやめました。

なんとか下の①〜③をやって下さい。

① xdoc2txt ダウンロード
下記のどちらかがネットにありました。
・xdoc2txt 2.16.1 ( xd2tx2161_x64.zip ) - x64(64bit)版
・xdoc2txt 2.16.1 ( xd2tx2161.zip ) - x86(32bit)版
 私は 64bit 版をダウンロードしました。
 
②ダウンロードした .zip ファイルの解凍
右クリックの「すべて展開」で出来ます。
xd2tx2161_x64(64bit版ダウンロードの場合)というフォルダが出来ました。

③フォルダの作成
 xdoc2txt フォルダをデスクトップに作成します。
ディレクトリはこんな感じになるはずです。
 C:\Users\********\Desktop\xdoc2txt( ********* はPCによる)

作成した xdoc2txt フォルダの中身は以下の通りです。
xdoc2txt フォルダ
├xdoc2txt.vbs(コードは下記に示す)
└xd2tx2161_x64(②で解凍したやつ)

ソースコード

準備で作成した xdoc2txt フォルダの中に入れる xdoc2txt.vbs を書きます。

xdoc2txt.vbs

'---------------------------------------------------------------
' テキスト変換したいファイルの定義
'---------------------------------------------------------------
analysisFile = "C:\Sample.pdf"
 
'---------------------------------------------------------------
' WshShell の作成
'---------------------------------------------------------------
set WshShell = CreateObject("WScript.Shell")
 
'---------------------------------------------------------------
' 解析実行ファイルのディレクトリ定義
'---------------------------------------------------------------
xdocPath = " C:\Users\********\Desktop\xdoc2txt\xd2tx2161_x64\command\"
 
'---------------------------------------------------------------
' コマンドプロンプト用コマンド作成
'---------------------------------------------------------------
exCommand = xdocPath & "xdoc2txt -f " & analysisFile
 
'---------------------------------------------------------------
' コマンド実行
'---------------------------------------------------------------
set oExec = WshShell.Exec(exCommand)




コメント

xdoc2txt.vbs を実行すると analysisFile と同じディレクトリ(上記のソースの場合は "C:\" )に "Sample.pdf" のテキストが抽出されて "Sample.txt" というファイルが作成されました。




以上