web-dev-qa-db-ja.com

python 3.7.3でPDFからテキストを抽出する方法

Pythonを使用してPDFファイルからテキストを抽出しようとしています。私の主な目標は、銀行取引明細書を読み取り、そのテキストを抽出してExcelファイルを更新し、簡単に記録できるプログラムを作成することです毎月の支出現在、pdfファイルからテキストを抽出することに焦点を当てていますが、その方法がわかりません。

PDFファイルから文字列にテキストを抽出する現在、最も簡単な方法は何ですか?今日使用するのに最適なライブラリとその方法を教えてください。

PyPDF2を使用してみましたが、extractText()を使用して任意のページからテキストを抽出しようとすると、常に空の文字列が返されます。 textractをインストールしようとしましたが、ライブラリがもっと必要になると思うので、エラーが発生します。

import PyPDF2

pdfFileObj = open("January2019.pdf", 'rb')
pdfReader = PyPDF2.PdfFileReader(pdfFileObj)

pageObj = pdfReader.getPage(0)
print(pageObj.extractText())

これは、ページのコンテンツを印刷する必要があるときに空の文字列を印刷します

3
RaV1oLLi

PyPDF2はPDF全体を正しく読みません。このコードを使用する必要があります。

    import pdftotext

    pdfFileObj = open("January2019.pdf", 'rb')


    pdf = pdftotext.PDF(pdfFileObj)

    # Iterate over all the pages
    for page in pdf:
        print(page)
0
Safak Ciplak
import PyPDF2
pdf-file = open('January2019.pdf', 'rb')
pdfReader = PyPDF2.PdfFileReader(pdf-file)
count = pdfReader.numPages
for i in range(count):
    page = pdfReader.getPage(i)
    print(page.extractText())
0

pdfreader を試してください。 「pdfマークダウン」を含むプレーンテキストまたはデコードされたテキストを抽出できます。

from pdfreader import SimplePDFViewer, PageDoesNotExist

fd = open(you_pdf_file_name, "rb")
viewer = SimplePDFViewer(fd)

plain_text = ""
pdf_markdown = ""

try:
    while True:
        viewer.render()
        pdf_markdown += viewer.canvas.text_content
        plain_text += "".join(viewer.canvas.strings)
        viewer.next()
except PageDoesNotExist:
    pass

0
Maksym Polshcha
import pdftables_api
import os

c = pdftables_api.Client('MY-API-KEY')

file_path = "C:\\Users\\MyName\\Documents\\PDFTablesCode\\"

for file in os.listdir(file_path):
    if file.endswith(".pdf"):
        c.xlsx(os.path.join(file_path,file), file+'.xlsx')

https://pdftables.com に移動して、APIキーを取得します。

CSV、format = csv

XML、format = xml

HTML、format = html

XLSX、format = xlsx-single、format = xlsx-multiple

0
mskel4