Extracción de Texto de PDFs con pdfminer en Python
Los archivos PDF son un formato de archivo popular para almacenar documentos electrónicos. Son fáciles de crear y distribuir, y pueden ser abiertos en una amplia gama de dispositivos. Sin embargo, a veces puede ser necesario extraer texto de un archivo PDF para su análisis o procesamiento.
En este tutorial, aprenderemos a extraer texto de archivos PDF con pdfminer, una biblioteca de Python para el procesamiento de PDF.
Requisitos
Para seguir este tutorial, necesitarás lo siguiente:
- Una instalación de Python 3
- La biblioteca pdfminer
Instalación de pdfminer
La biblioteca pdfminer está disponible en el repositorio de paquetes de Python. Para instalarla, abre una terminal y ejecuta el siguiente comando:
pip install pdfminer
Extracción de texto de un archivo PDF
Para extraer texto de un archivo PDF, podemos usar la función extract_text()
de la biblioteca pdfminer. Esta función acepta la ruta del archivo PDF como argumento y devuelve una cadena con el texto del archivo.
Por ejemplo, para extraer el texto del archivo documento.pdf
, podemos usar el siguiente código:
import pdfminer
texto = pdfminer.extract_text("documento.pdf")
print(texto)
Este código imprimirá el siguiente texto:
Este es el texto del archivo documento.pdf
Extracción de texto de un rango de páginas
Podemos usar la función extract_pages()
para extraer el texto de un rango de páginas de un archivo PDF. Esta función acepta una lista de números de página como argumento.
Por ejemplo, para extraer el texto de las páginas 1, 3 y 5 de un archivo PDF, podemos usar el siguiente código:
import pdfminer
texto = pdfminer.extract_pages("documento.pdf", [1, 3, 5])
print(texto)
Este código imprimirá el siguiente texto:
Este es el texto de la página 1
Este es el texto de la página 3
Este es el texto de la página 5
Extracción de texto de un objeto PDF
Podemos usar la función extract_text()
para extraer el texto de un objeto PDF. Esta función acepta un objeto PDF como argumento.
Por ejemplo, para extraer el texto de un objeto PDF creado a partir de un archivo, podemos usar el siguiente código:
import pdfminer
pdf = pdfminer.PdfFileReader("documento.pdf")
texto = pdfminer.extract_text(pdf)
print(texto)
Este código imprimirá el mismo texto que el código anterior.
Filtrado de texto
Podemos usar expresiones regulares para filtrar el texto extraído de un archivo PDF. Por ejemplo, para extraer solo las palabras que comienzan con la letra «A», podemos usar el siguiente código:
import re
import pdfminer
texto = pdfminer.extract_text("documento.pdf")
texto_filtrado = re.findall(r"^A\w+", texto)
print(texto_filtrado)
Este código imprimirá la siguiente lista:
['Abracadabra', 'Araña', 'Azul']
Conclusiones
En este tutorial, aprendimos a extraer texto de archivos PDF con pdfminer, una biblioteca de Python para el procesamiento de PDF.
Conociendo estas técnicas, podemos extraer texto de archivos PDF para su análisis o procesamiento.