web-dev-qa-db-fra.com

Comment extraire du texte d'un pdf en python 3.7.3

J'essaie d'extraire du texte d'un fichier PDF en utilisant Python. Mon objectif principal est d'essayer de créer un programme qui lit un relevé bancaire et extrait son texte pour mettre à jour un fichier Excel pour enregistrer facilement En ce moment, je me concentre uniquement sur l'extraction du texte du fichier pdf, mais je ne sais pas comment le faire.

Quelle est actuellement la manière la meilleure et la plus simple d'extraire du texte d'un fichier PDF dans une chaîne? Quelle bibliothèque est la meilleure à utiliser aujourd'hui et comment puis-je la faire?

J'ai essayé d'utiliser PyPDF2 mais chaque fois que j'essaie d'extraire du texte de n'importe quelle page en utilisant extractText (), il renvoie des chaînes vides. J'ai essayé d'installer textract mais je reçois des erreurs car j'ai besoin de plus de bibliothèques je pense.

import PyPDF2

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

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

Ceci imprime des chaînes vides quand il devrait imprimer le contenu de la page

3
RaV1oLLi

PyPDF2 ne lit pas correctement le pdf entier. Vous devez utiliser ce code.

    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
İsa GİRİŞKEN

Essayez pdfreader . Vous pouvez extraire du texte brut ou du texte décodé contenant "démarque 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')

Allez sur https://pdftables.com pour obtenir une clé API.

CSV, format = csv

XML, format = xml

HTML, format = html

XLSX, format = xlsx-single, format = xlsx-multiple

0
mskel4