Извлечение текста из PDF с использованием PyPDF2 - PullRequest
0 голосов
/ 19 января 2019

Моя задача - прочитать файлы pdf (отсканированные документы, текстовые или в другом формате) и около 600 файлов из каталога и получить из них текст. Для случаев, когда это изображение или что-то, я должен создать OCR, который может идентифицировать текст из него. Некоторые файлы защищены и не могут быть расшифрованы (возможно, из-за недостатков pypdf2, потому что я попытался расшифровать с помощью ""). Сейчас я застрял в том, чтобы извлечь весь текст из PDF-файла и мой код, когда попадание по имени файла, которое не может быть извлечено, входит в бесконечный цикл. Как извлечь весь обычный текст или использовать OCR одновременно в этом или любом другом подходе, который может наилучшим образом решить эту проблему. Конечная цель - создать модель NER (скорее всего) с помеченными PDF-файлами для названия продукта, для которого будет сделан обучающий образец, и имя продукта будет помечено после того, как текст из pdf будет выполнен. Прикрепленный код ниже для справки. Спасибо

import PyPDF2
from os import listdir
from os.path import isfile, join
#pdfFileObj = open('C:/Users/Lenovo/.spyder-py3/OCR', 'rb')
mypath ='C:/Users/Lenovo/.spyder-py3/OCR'
path = 'C:/Users/Lenovo/.spyder-py3/OCR/'
onlyfiles = [f for f in listdir(mypath) if isfile(join(mypath, f))]
for file in onlyfiles:
    fileReader = PyPDF2.PdfFileReader(open((path+file),'rb'))
    print(file)
    count = 0
    if fileReader.isEncrypted == False:
        while count < 3:
            try:

                print(count)
                print(fileReader.isEncrypted)
        #        fileReader.decrypt("")
                pageObj = fileReader.getPage(count)
                count +=1
                text = pageObj.extractText()
                print(text)
            except IndexError:

                print(count,file)
        continue
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...