PDFMiner は、PDF ドキュメントのテキスト抽出ツールです。
警告: 2020 年の時点では、PDFMiner は積極的にメンテナンスされていません。コードはまだ動作しますが、このプロジェクトはほとんど休止状態です。アクティブなプロジェクトについては、そのフォーク pdfminer.six を確認してください。
純粋な Python (3.6 以降)。
PDF-1.7をサポートします。 (まあ、ほぼ)
テキストの正確な位置とその他のレイアウト情報 (フォントなど) を取得します。
自動レイアウト解析を実行します。
PDF を他の形式 (HTML/XML) に変換できます。
アウトライン(TOC)を抽出できます。
タグ付けされたコンテンツを抽出できます。
基本的な暗号化 (RC4 および AES) をサポートします。
さまざまなフォント タイプ (Type1、TrueType、Type3、および CID) をサポートします。
CJK言語と縦書き文字をサポートします。
他の目的に使用できる拡張可能な PDF パーサーを備えています。
> pip install pdfminer
> pdf2txt.py samples/simple1.pdf
pdf2txt.py は、プログラムによってレンダリングされるすべてのテキストを抽出します。また、各テキストセグメントの対応する位置、フォント名、フォントサイズ、書き込み方向(水平または垂直)も抽出します。 画像内のテキストは認識されません。制限された PDF ドキュメントにはパスワードを入力する必要があります。
> pdf2txt.py [-P password] [-o output] [-t text|html|xml|tag] [-O output_dir] [-c encoding] [-s scale] [-R rotation] [-Y normal|loose|exact] [-p pagenos] [-m maxpages] [-S] [-C] [-n] [-A] [-V] [-M char_margin] [-L line_margin] [-W word_margin] [-F boxes_flow] [-d] input.pdf ...
-P password
: PDF のパスワード。
-o output
: 出力ファイル名。
-t text|html|xml|tag
: 出力タイプ。 (デフォルト: 出力ファイル名から自動的に推測されます。)
-O output_dir
: 抽出された画像の出力ディレクトリ。
-c encoding
: 出力エンコーディング。 (デフォルト:utf-8)
-s scale
: 出力スケール。
-R rotation
: ページを度単位で回転します。
-Y normal|loose|exact
: レイアウト モードを指定します。 (HTML出力のみ)
-p pagenos
: 特定のページのみを処理します。
-m maxpages
: 処理する最大ページ数を制限します。
-S
: 制御文字を削除します。
-C
: リソースのキャッシュを無効にします。
-n
: レイアウト解析を無効にします。
-A
: 図を含むすべてのテキストに対してレイアウト解析を適用します。
-V
: 縦書きを自動検出します。
-M char_margin
: 文字マージンを指定します。
-W word_margin
: ワードマージンを指定します。
-L line_margin
: 行マージンを指定します。
-F boxes_flow
: ボックスの流量比を指定します。
-d
: デバッグ出力をオンにします。
dumppdf.py は PDF のデバッグに使用されます。すべての内部コンテンツを疑似 XML 形式でダンプします。
> dumppdf.py [-P password] [-a] [-p pageid] [-i objid] [-o output] [-r|-b|-t] [-T] [-O directory] [-d] input.pdf ...
-P password
: PDF のパスワード。
-a
: すべてのオブジェクトを抽出します。
-p pageid
: Page オブジェクトを抽出します。
-i objid
: 特定のオブジェクトを抽出します。
-o output
: 出力ファイル名。
-r
: 未加工モード。生の圧縮/エンコードされたストリームをダンプします。
-b
: バイナリモード。非圧縮/デコードされたストリームをダンプします。
-t
: テキストモード。ストリームをテキスト形式でダンプします。
-T
: タグ付きモード。タグ付けされたコンテンツをダンプします。
-O output_dir
: 抽出されたストリームの出力ディレクトリ。
STRICT 変数をより適切なものに置き換えます。
デバッグ機能を改善します。
sys.stderr の代わりにログモジュールを使用します。
適切なテストケース。
PEP-8およびPEP-257準拠。
より良いドキュメント。
暗号ストリーム フィルターのサポート。
pyPDF
xpdf
pdfボックス
ムPDF