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

Добрый день, мне нужна помощь / совет относительно извлечения текста с использованием PyPDF2.

мой скрипт работает до определенной степени, однако я получаю следующее поведение с кодом ниже:

fileOtpt = []
resp1Otpt = []

for file in os.listdir(directory):
    with open(os.path.join(directory,file), 'rb') as pdfFileObj:
        pdfReader = PyPDF2.PdfFileReader(pdfFileObj, strict=False)
        pageObj = pdfReader.getPage(0)
        number_of_pages = pdfReader.getNumPages()

        for page_number in range(number_of_pages):
            page = pdfReader.getPage(page_number)
            page_content = page.extractText().encode('utf-8')
            filen = re.findall(r"ORDERS(.*)\BETWEEN:", page_content)
            resp1 = re.findall(r"Test1(.*)\Test2", page_content)
            if len(fileOtpt) == 0:
                fileOtpt.append("No Data Found")
            else:
                fileOtpt.append(filen)
                fileOtpt = filter(None, fileOtpt)
            if len(resp1Otpt) == 0:
                resp1Otpt.append("No Data Found")
            else:
                resp1Otpt.append(filen)
                resp1Otpt = filter(None, fileOtpt)

этот код является частью большего фрагмента кода, который в конечном итоге записывается в CSV. В CSV-файле совпадающие записи не находятся в одной строке. Мне пришлось использовать опцию «фильтр», чтобы отфильтровать любые пустые выходные данные, которые я получил, хотя это работает, выходные данные не выравниваются.

Я понимаю, что PDF-текст довольно сложно извлечь, поэтому, возможно, есть другая библиотека, которую я могу использовать, или есть какие-то предложения, которые я мог бы попробовать.

любые предложения, постараюсь дать отзыв. заранее спасибо.

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