Как прочитать все PDF-файлы в каталоге и преобразовать в текстовый файл, используя tesseract python 3? - PullRequest
0 голосов
/ 18 июня 2019

Как прочитать все PDF-файлы в каталоге и преобразовать в текстовый файл, используя tesseract python 3?

Приведенный ниже код предназначен для чтения одного файла PDF и его преобразования в текстовый файл.

Но я хочу прочитать все PDF-файлы в каталоге и преобразовать их в текстовый файл, используя tesseract python 3

 from PIL import Image 
 import pytesseract 
 import sys 
 from pdf2image import convert_from_path 
 import os 

 pdf_filename = "pdffile_name.pdf"
 txt_filename = "text_file_created.txt"

 def tesseract(pdf_filename,txt_filename): 
      PDF_file = pdf_filename
      pages = convert_from_path(PDF_file, 500)  
      image_counter = 1

     for page in pages:  
        pdf_filename = "page_"+str(image_counter)+".jpg"
        page.save(pdf_filename, 'JPEG') 
        image_counter = image_counter + 1

filelimit = image_counter-1
outfile = txt_filename
f = open(outfile, "a",encoding = "utf-8") 

for i in range(1, filelimit + 1): 
    pdf_filename = "page_"+str(i)+".jpg"
    text = str(((pytesseract.image_to_string(Image.open(pdf_filename))))) 
    text = text.replace('-\n', '')
    f.write(text) 

f.close() 
f1 = open(outfile, "r",encoding = "utf-8") 
text_list = f1.readlines()
return text_list

tesseract(pdf_filename,txt_filename)`enter code here`

У меня есть код для чтения PDF-файлов в каталоге, но я не знаю, чтобы объединить этот код с приведенным выше кодом

def readfiles():
os.chdir(path)
pdfs = []
for file_list in glob.glob("*.pdf"):
    print(file_list)
    pdfs.append(file_list)

readfiles()

1 Ответ

0 голосов
/ 18 июня 2019

Просто преобразуйте переменную pdf_filename в список, используя этот фрагмент кода:

import glob

pdf_filename = [f for f in glob.glob("your_preferred_path/*.pdf")]

, который предоставит вам все необходимые PDF-файлы и сохранит их в списке.

Или просто используйте любой из методов, размещенных здесь:

Как мне вывести список всех файлов каталога?

После того, как вы это сделаете, у вас теперь есть список в формате PDFфайлы.

Теперь перебираем список pdf, по одному, чтобы получить список тестовых файлов.

Вы можете использовать его примерно как этот фрагмент кода:

for one_pdf in pdf_filename:

#* your code to convert the files *#

Надеюсь, это поможет.

...