pythonでpdfを扱うやり方
準備
pythonでpdfファイルを扱う場合は「PyPDF2」というモジュールをpip installを使ってインストールする必要があります。コマンドプロンプトで以下のコマンドを入力します。
pip install PyPDF2
これでインストールできるはずです。
少しまえおきを書きますがこのモジュールは一般人が使うことはあまりないと思われます。PDFファイルの編集に関しては、フリーソフトを使ったほうがいいかもしれません。今回紹介するプログラムが書かれている書籍「退屈なことはPythonにやらせよう」にもあまり必要がないかもしれない旨がかかれております。
そのため今回紹介するpdf操作のコードは若干趣味色が強い内容になるかと思います。
それではコードをみてみましょう。
PyPDF2モジュールを使用してpdfファイルを扱うコード
以下のコードはpdfファイルの1ページ目を取得し、テキストを抽出し新しいテキストファイルに抽出したテキストを書き込んで保存します。
import PyPDF2, os pdf_file_obj = open('meetingminutes.pdf', 'rb') # pdfを開く pdf_reader = PyPDF2.PdfFileReader(pdf_file_obj) # PdfFileReader()を使ってpdfオブジェクトを読み込む page_obj = pdf_reader.getPage(0) # pdfオブジェクトからpdfページオブジェクトを生成 pdftext = page_obj.extractText() # extractText()でテキストを抽出 newtext_file = open('newtext.txt', 'w') newtext_file.write(pdftext) newtext_file.close()
コードの流れ
- PyPDFモジュールをインポートする
- pdfファイルをバイナリモードで開き 変数に渡す
- PdfFileReaderオブジェクトを生成: PyPDF2.PdfFileReader(pdf_file_obj)
- 文書の総ページ数はPdfFIleReaderオブジェクトのnumPageに格納されている。
- pageオブジェクトを生成:pdffilereaderオブジェクト.getPage()としえて引数にページ番号を渡す。【最初のページは0】
- pageオブジェクトに.extracText()メソッドを使うとテキストを抽出してくれる。
- テキストファイルを書き込みモードで開く
- pdfファイルから抽出したテキストをテキストファイルに書き込んで保存
pythonでpdfを扱う必要はないかも
今回紹介したコードはpdfファイルからテキストを抽出して、新しいテキストファイルに抽出したテキストを書き込んでいるだけなので、通常はまずやらない対応だと思います。ですのでコードとしての価値はあまりないかもしれませんが、pdfファイルをオブジェクトとして扱うpythonコードの概要はつかめたのではないでしょうか?
次は「PDFファイルをpythonで扱いたい【2時間目:結合】」です。
コメント