es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo convertir varios archivos PDF a txt en Python?

import os
from PyPDF2 import PdfFileReader, PdfFileWriter

for filename in os.listdir("C:/117"):
    path = os.path.join("C:/117/", filename)
    print(path)
    with open('file.txt', 'w', encoding='utf-8') as file:
        for page_num in range(PdfFileReader(path).numPages):
            print('Page: {0}'.format(page_num))
            pageObj = PdfFileReader(path).getPage(page_num)

            try:
                txt = pageObj.extractText()
            except:
                pass
            else:
                file.write('Page{0}\n'.format(page_num+1))
                file.write(txt)
            file.close()

"""
Estoy convirtiendo cientos de archivos pdf en txt. Sin embargo, con este código, todos los PDF se fusionan en un solo archivo txt. ¿Hay alguna manera de crear un archivo txt separado para cada PDF que convierta? Gracias.
"""
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, para crear archivos de texto separados para cada PDF que convierta, puede modificar el código para incluir el nombre del archivo en el nombre del archivo de salida. Por ejemplo, puede reemplazar la línea:

    with open('file.txt', 'w', encoding='utf-8') as file:
    

    con:

    basename = os.path.splitext(filename)[0]
    outfilename = basename + '.txt'
    with open(outfilename, 'w', encoding='utf-8') as file:
    

    Esto creará un archivo de texto con el mismo nombre que el archivo PDF de entrada, pero con una extensión .txt.

Comments are closed.