- 業務で、PDFの文章を書き写してほしいということがあった。
- しかし、一文一文書き写すのはすごいめんどくさい。
- そこで便利なライブラリがそろってるPythonを使ってPDFを読み込むプログラムを作成した。
はじめにPythonプログラムを紹介
PDFを読み込むプログラムは以下になります。急いでる方はコピペしてください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | import os from pdfminer.converter import TextConverter from pdfminer.layout import LAParams from pdfminer.pdfinterp import PDFPageInterpreter, PDFResourceManager from pdfminer.pdfpage import PDFPage def main(): input_path = "000797112.pdf" name, _ = os.path.splitext(input_path) output_path = name + '.txt' rsrcmgr = PDFResourceManager() codec = "utf-8" params = LAParams() with open(output_path, "ab") as output: device = TextConverter(rsrcmgr, output, codec=codec, laparams=params) with open(input_path, "rb") as input: interpreter = PDFPageInterpreter(rsrcmgr, device) for page in PDFPage.get_pages(input): interpreter.process_page(page) device.close() if __name__ == "__main__": main() |
読み込む資料として、今回は総〇省の「令和4年度総務省政策評価実施計画」からPDFをダウンロードした。URLを貼っておくので、同じように読み込みしたい方はそちらからダウンロードしてください。
PDFを読み込むライブラリ「pdfminer」をインストール
それでは詳しく見ていきます。
余談だが、今回はpdfminerというライブラリを使用している。そのほかにもPythonでPDFを読み込むライブラリは4つぐらいあるらしい。
PyPDFは、様々なサイトで紹介されているため、あえてここでは紹介しない。
しかし、Apache TikaとTesseract OCRについては、今後記事にしようと考えているので乞うご期待。
話を戻して、pdfminerは以下のコマンドでインストール可能。
1 | python -m pip install --user pdfminer.six |
これだけ。
なお、インストールする際のコマンドやIDEについては、以下のサイトにて紹介しているため、是非そちらも見ていただきたい。

実際に読み込みを実行
実行した結果は以下の通り。


PDFの文章がtxtファイルに変換された。これで終わり。
(おまけ)コマンド上でも実行可能
また、今回はVisual Studio Code上でプログラムを作成し実行したが、windowsであればコマンドプロンプト、Macであればターミナル、Linuxであればシェルでも実行することは可能。
コマンド上で実行したい場合は、以下のコマンドを実行する(pdfminerはインストールしてください)。
windowsであれば、
1 | pdf2txt.py 000797112.pdf |
Linux系であれば、
1 | pdf2txt 000797112.pdf |
まとめ
今回はPythonでpdfminerというライブラリを使用して、PDFをスクレイピングする方法について記事を作成した。
今回は備忘録として書いているので説明がかなり雑になっているので、ご了承ください。。。
また、今回参考にした書籍を下に貼っておくので興味がある方はぜひ読んでみてください。


それではまた~