000000 ランダム
 ホーム | 日記 | プロフィール 【フォローする】 【ログイン】

mlupinのブログ

mlupinのブログ

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x

PR

キーワードサーチ

▼キーワード検索

カレンダー

コメント新着

mlupin@ Re[1]:17平米が32平米に!(10/08) 藻緯羅さんへ いつもコメントありがとうご…
藻緯羅@ 先日、平日に、 先日、平日に、ビジネスホテルに泊まった…
mlupin@ Re[1]:レグザがキター!(07/31) 藻緯羅さんへ いつもコメントありがとうご…
藻緯羅@ Re:レグザがキター!(07/31) レグザ使ってます。  かなり古くて、アナ…
mlupin@ Re[1]:30万ポイントゲッター!(07/04) 藻緯羅さんへ いつもコメントありがとうご…

カテゴリ

バックナンバー

2021.05.19
XML
カテゴリ:Python
# リスト1
#  PDFファイルからpdfminerでテキストを抽出するテスト
#  「日経ソフトウエア」2020.07
#  『特集5 Pythonで自動化』p.066~p.069
#
#(1)ライブラリの読み込み
import io
from pdfminer.pdfinterp import PDFResourceManager
from pdfminer.converter import TextConverter
from pdfminer.pdfinterp import PDFPageInterpreter
from pdfminer.pdfpage import PDFPage
from pdfminer.layout import LAParams
#(2)必要なオブジェクトの生成
stdout = io.StringIO()
rscmgr = PDFResourceManager()
lprms = LAParams()
device = TextConverter(rscmgr, stdout, laparams=lprms)
intprtr = PDFPageInterpreter(rscmgr, device)
#(3)目的のPDFファイルを開く処理
#   PDFファイルを、第2引数の「rb」で読み取り専用、バイナリーモードで開く。
#   「r」は読み込み用、「b」はバイナリーを意味する。
fp = open('PDFtest1.pdf', 'rb')
#(4)実際にテキストを抽出している処理
for page in PDFPage.get_pages(fp):
    #(5)変数「page」のページの中からテキストを抽出する処理の本体
    #   実行すると変数「page」のページ内のテキストがテキストストリーム(変数「stdout」)に出力される。
    intprtr.process_page(page)
#(6)テキストストリームの内容を取得する処理
#   テキストストリームの内容が戻り値として得られるので、変数「text」に格納
text = stdout.getvalue()
print(text)
#(7)テキストストリーム、TextConverterオブジェクト、PDFファイルを閉じる処理
#   閉じ忘れると次回実行時にエラーが出るので、注意!
stdout.close()
device.close()
fp.close()





お気に入りの記事を「いいね!」で応援しよう

最終更新日  2021.05.19 21:19:36
コメント(0) | コメントを書く



© Rakuten Group, Inc.
X