Extracción de texto de archivos PDF con PDFMiner en Python
Cuando se trabaja con documentos PDF, extraer texto puede ser una tarea crucial. PDFMiner, una biblioteca de Python, simplifica este proceso y permite a los desarrolladores analizar y extraer texto de archivos PDF.
API de PDFMiner actualizada y ejemplos obsoletos
Las actualizaciones recientes de PDFMiner introdujo cambios en su API, dejando obsoletos muchos ejemplos existentes. La transición a la última versión puede dejar a los desarrolladores perdidos, sin saber cómo realizar tareas básicas como la extracción de texto.
Ejemplo de implementación
Para abordar este problema, exploremos una solución funcional ejemplo que demuestra cómo extraer texto de un archivo PDF usando la biblioteca PDFMiner actual:
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 proporciona un enfoque integral para la extracción de texto, que cubre todos los pasos necesarios. La función convert_pdf_to_txt toma una ruta de archivo como entrada y maneja el proceso de abrir el archivo, inicializar el analizador de documentos y convertir el contenido de la página en una cadena de texto.
Este ejemplo ilustra la sintaxis actualizada de PDFMiner, eliminando la necesidad de código obsoleto. Ha sido probado y validado minuciosamente para su uso con la última versión de PDFMiner.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3