Как я могу преобразовать несколько файлов .pdf в .txt (один файл .txt на файл .pdf)? - PullRequest
0 голосов
/ 05 апреля 2020

Я уверен, что это вопрос для начинающих, но здесь мы go.

У меня есть папка с сотнями PDF-файлов. Я хочу преобразовать их все в .txt, чтобы я мог дальше обрабатывать данные из них.

Приведенный ниже код работает, однако он преобразует один pdf в несколько файлов .txt (в зависимости от страниц, которые есть в каждом pdf).

import os
from os.path import isfile, join
import PyPDF2
pdf_dir = '/.../Desktop/Projekti/PDFs'
txt_dir = '/.../Desktop/Projekti/PDFs'

corpus = (f for f in os.listdir(pdf_dir) if not f.startswith('.') and isfile(join(pdf_dir, f)))

for filename in corpus:

    pdf = open(join(pdf_dir, filename),'rb')
    pdfReader = PyPDF2.PdfFileReader(pdf)


    for page in range(0, pdfReader.numPages):
        pageObj = pdfReader.getPage(page)
        text = pageObj.extractText()


        page_name = "{}-page{}.txt".format(filename[:-4], page+1)


        with open(join(txt_dir, page_name), mode="w", encoding='utf-8') as o:
            o.write(text)

Однако мне нужно преобразовать каждый pdf в один один .txt файл. Можно ли что-то настроить в конце кода, чтобы это произошло? Или у вас есть другой способ предложить мне это? Thnx.

...