Python – Extraer texto de un documento PDF

Vamos un ejemplo en Python para extraer texto de un documento PDF con la librería PyMuPDF.

Python tutorial

Instalación librería PDF

Para poder trabajar con documentos PDF en Python hay varias librerías, nosotros hemos elegido PyMuPdf. Para instalarla, deberemos ejecutar la siguiente instrucción en consola:

pip install --upgrade pymupdf

Utilizamos PIP para instalar la librería. Podemos ver una captura como ejemplo:

Extraer texto de un PDF

Una vez tenemos la librería instalada, podemos ponernos con el código:

doc = fitz.open("input.pdf")  # Abrimos documento
out = open("output.txt", "wb")  # Creamos el documento TXT
for page in doc:  # Navegamos por las páginas del PDF
    text = page.get_text().encode("utf8")  # Se recoge el texto en formato UTF8
    out.write(text)  # Se escribe el texto leído en el fichero resultado
    out.write(bytes((12,)))  # Se escribe el delimitador de página
out.close()

Primero abre el documento PDF en la variable doc y crea un fichero TXT nuevo donde se irá escribiendo lo qeu se lea del PDF.

Se recorren todas las páginas del PDF leyendo el texto en UTF8. Página a página se lee y se añade al fichero TXT.

Una vez recorrida todas las páginas, se cierra el fichero TXT y finaliza el proceso.

En este ejemplo, tanto el fichero PDF com el resultante, ya les damos nosotros el nombre. Lo ideal seria pasarlo como parámetro o preguntarlo por consola al usuario.

Ahora, os será fácil añadir este código al ejemplo en Python de creación de un menú por consola. De este modo, iremos creando un pequeño escript con funcionalidades para el trabajo con ficheros PDF.

Espero que os haya sido de utilidad este ejemplo en Python para extraer texto de un fichero PDF.

Más información