Код: Выделить всё
import multiprocessing
import textract
def extract_txt(file_path):
text = textract.process(file_path, method='tesseract')
p = multiprocessing.Pool(2)
file_path = ['/Users/user/Desktop/sample.pdf']
list(p.map(extract_txt, file_path))
Таким образом, как я могу применить функцию extract_txt ко всем элементам каталога, которые заканчиваются на .pdf, и вернуть те же файлы в другом каталоге, но в формате .txt формат и добавить разделитель страниц с извлечением текста OCR?
Кроме того, мне было интересно использовать документы Google для выполнения этой задачи. Можно ли программно использовать документы Google для решения вышеупомянутой проблемы с извлечением текста?
ОБНОВЛЕНИЕ
Что касается проблемы «добавления разделителя страниц» (
Код: Выделить всё
... page content ... Код: Выделить всё
from PyPDF2 import PdfFileWriter, PdfFileReader
import textract
def extract_text(pdf_file):
inputpdf = PdfFileReader(open(pdf_file, "rb"))
for i in range(inputpdf.numPages):
w = PdfFileWriter()
w.addPage(inputpdf.getPage(i))
outfname = 'page{:03d}.pdf'.format(i)
with open(outfname, 'wb') as outfile: # I presume you need `wb`.
w.write(outfile)
print('\n\n')
text = textract.process(str(outfname), method='tesseract')
os.remove(outfname) # clean up.
print(str(text, 'utf8'))
print('\n\n')
extract_text('/Users/user/Downloads/ImageOnly.pdf')
Код: Выделить всё
sys.stdout=open("test.txt","w")
print('\n\n')
sys.stdout.close()
text = textract.process(str(outfname), method='tesseract')
os.remove(outfname) # clean up.
sys.stdout=open("test.txt","w")
print(str(text, 'utf8'))
sys.stdout.close()
sys.stdout=open("test.txt","w")
print('\n\n')
sys.stdout.close()
Подробнее здесь: https://stackoverflow.com/questions/436 ... y-with-ocr
Мобильная версия