PDF を読む

2019年4月11日

はじめに

Python を使って PDF を読む。

環境

  • Anaconda3 (Python 3.7)

PDF を読む

PDF を読むには pdfminer.six を用いる。

$ pip install pdfminer.six

PDF からテキストを取り出すには、次のようにする。

rom pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage
from io import StringIO

rsrcmgr = PDFResourceManager()

with StringIO() as retstr:
    laparams = LAParams()
    laparams.detect_vertical = True

    with TextConverter(rsrcmgr, retstr, codec="utf-8", laparams=laparams) as device:
        with open("sample.pdf", "rb") as f:
            interpreter = PDFPageInterpreter(rsrcmgr, device)
            maxpages = 0
            caching = True
            pagenos = set()
            str = ""
            for page in PDFPage.get_pages(f, pagenos, maxpages=maxpages,
                                        caching=caching, check_extractable=True):
                interpreter.process_page(page)
                s = retstr.getvalue()
                str += s

            print(str)