step4用のPythonスクリプト
説明
更新用。
PDF形式の文書ファイルをutf-8テキストファイルに変換する。
pdf-to-text.bat
から直接呼び出される。
Python 2 用。
pdfminer package を使用しており、その制約で Python 2 を使う。
使用方法
PDFファイルをutf-8 textファイルに変換する。 pdf_to_text.py E:\scratch\Hello.pdf E:\scratch pdf_to_text.py Hello.pdf E:\scratch --normalize 第1引数: 変換元PDF文書(フルパスまたは出力先パス) 第2引数: 出力先ディレクトリ(フルパス) --normalize: テキストをUnicode正規化する --verbose: 冗長な情報を出力する utf-8 text ファイルを生成する。 ファイル名は末尾に .txt を付加する。 MyPdf.pdfc -> MyPdf.pdf.txt Unicode正規化には、jsngram packageを使用する。 pdfminer が必要。
既知の問題
PDFには、公開用ファイル書式として複数の弱点があり、現状ではテキストの回収率は低い。
画像であったり、配布者によるパスワードロックがかかっている場合など、テキストが読めない場合がある。 というか、きちんとした配布物ほど読めないケースが多い。 また、Acrobatによる編集操作では、テキストをレイヤー構造で切り貼りできるため、 画面表示上の見た目の順序と、内部順序が大きく異なっていたり、 誤字脱字の修正が、テキストレイヤー的には正しくできていなかったりして、 見た目と異なる文字を抽出してしまうケースもある。