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による編集操作では、テキストをレイヤー構造で切り貼りできるため、 画面表示上の見た目の順序と、内部順序が大きく異なっていたり、 誤字脱字の修正が、テキストレイヤー的には正しくできていなかったりして、 見た目と異なる文字を抽出してしまうケースもある。