Python – Extraer texto de un documento PDF
Vamos un ejemplo en Python para extraer texto de un documento PDF con la librería PyMuPDF.
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