Extraindo texto de arquivos PDF com PDFMiner em Python
Ao trabalhar com documentos PDF, extrair texto pode ser uma tarefa crucial. PDFMiner, uma biblioteca Python, simplifica esse processo, permitindo que os desenvolvedores analisem e extraiam texto de arquivos PDF.
API PDFMiner atualizada e exemplos desatualizados
Atualizações recentes do PDFMiner foram introduziu alterações em sua API, tornando obsoletos muitos exemplos existentes. A transição para a versão mais recente pode deixar os desenvolvedores perdidos, sem saber como realizar tarefas básicas, como extração de texto.
Exemplo de implementação
Para resolver esse problema, vamos explorar uma solução funcional exemplo que demonstra como extrair texto de um arquivo PDF usando a biblioteca PDFMiner atual:
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage
from io import StringIO
def convert_pdf_to_txt(path):
rsrcmgr = PDFResourceManager()
retstr = StringIO()
codec = 'utf-8'
laparams = LAParams()
device = TextConverter(rsrcmgr, retstr, codec=codec, laparams=laparams)
fp = open(path, 'rb')
interpreter = PDFPageInterpreter(rsrcmgr, device)
password = ""
maxpages = 0
caching = True
pagenos=set()
for page in PDFPage.get_pages(fp, pagenos, maxpages=maxpages, password=password,caching=caching, check_extractable=True):
interpreter.process_page(page)
text = retstr.getvalue()
fp.close()
device.close()
retstr.close()
return text
Este código fornece uma abordagem abrangente para extração de texto, cobrindo todas as etapas necessárias. A função convert_pdf_to_txt usa um caminho de arquivo como entrada e lida com o processo de abertura do arquivo, inicialização do analisador de documento e conversão do conteúdo da página em uma string de texto.
Este exemplo ilustra a sintaxe atualizada do PDFMiner, eliminando a necessidade de código desatualizado. Ele foi exaustivamente testado e validado para uso com a versão mais recente do PDFMiner.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3