no-image

PDFファイルをpythonで扱いたい【1時間目:オブジェクトの流れ】

pythonでpdfを扱うやり方

まずは下準備をする必要があります。

  • PyPDF2というモジュールをpip installする必要があります。
  • コマンドプロンプトでpip install PyPDF2と入力します。するとpip installできます。

問題はこのモジュールはあまり、一般人は使わないと思います。それと仕事で扱うこともさほどないのではないか?と思います。PDF操作に関しては、フリーソフトのたぐいを使ったほうがいいかもしれません。書籍もあまり必要がないかもしれない旨をうたっております。

そのためpythonでpdf操作は若干趣味色が強い内容になるかと思います。

それではコードをみてみましょう。

'''
pythonでpdfファイルを扱う時の手順
1,PyPDFモジュールをインポートする
2,pdfファイルをバイナリモードで開き 変数に渡す
3,PdfFileReaderオブジェクトを生成: PyPDF2.PdfFileReader(pdf_file_obj)
4,文書の総ページ数はPdfFIleReaderオブジェクトのnumPageに格納されている
5,pageオブジェクトを生成:pdffilereaderオブジェクト.getPage()としえて引数にページ番号を渡す。【最初のページは0】
6,pageオブジェクトに.extracText()メソッドを使うとテキストを抽出してくれる。
'''

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()

pythonでpdfを扱う方法はもしかすると役に立たないかもしれない?

大まかな流れはコードのコメントに記入してあるとおりですが、自分の解釈が入っているのでかなり読みにくいかもしれません。

新しいモジュールを扱う時は必ず新しいオブジェクトの流れを把握する必要があるということです。

地味なコードですが、オブジェクトの流れはもはや覚えるしかないでしょう。

newtext_file = open()で書き込みモードの’w’で開きwrite()関数の引数に変数pdftext渡しています。これでclose()で保存することにより、テキストファイルが生成されます。正直言いましてpdfはpdfのまま読んだほうが人は読みやすいはずですし、これをテキストファイルにするメリットが思い浮かばないです。

ただ、どれだけ役に立つかはもう少し先に進んでみないとわかりません。

次は「PDFファイルをpythonで扱いたい【2時間目:結合】」です。