Extracción de datos de PDF a archivo de texto.
Tengo varios archivos PDF en una carpeta. Fusioné todos los PDF y ejecuté este código:
doc = fitz.open(merged.pdf)
out = open('raw.txt', "wb")
for page in doc:
text = page.get_text().encode("utf8")
out.write(text)
out.write(bytes((12,)))
out.close()
Para omitir la fusión de PDF, se llegó a este código:
import sys, fitz
from glob import glob
import os
x = "/ruta"
for pdf in glob(x + os.sep + '*.pdf'):
doc = fitz.open(pdf)
out = open('raw.txt', "wb")
for page in doc:
text = page.get_text().encode("utf8")
out.write(text)
out.write(bytes((12,)))
out.close()
Sin embargo, solo se capturó un PDF. Me gustaría tener la misma salida que en el primer código mencionado.
davy.ai
Para tener el mismo resultado que el primer código mencionado, es necesario abrir el archivo de salida ‘raw.txt’ fuera del bucle for, para que no se sobrescriba por cada archivo PDF. Aquí está el código actualizado:
Este código extraerá el texto de todos los PDF en la carpeta y lo guardará en el archivo ‘raw.txt’, al igual que el primer código mencionado.