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

Это мой первый вопрос, поэтому я прошу прощения, если он окажется не в том месте, или я пропустил какую-либо ценную информацию. Я также невероятно новичок в программировании и Python в целом.

Я использую Python 3.7.4 (v3.7.4: e09359112e, 8 июля 2019, 14:54:52)

Iя пытаюсь написать код, который извлечет весь текст из файла PDF и поместит его в значение (я знаю, простые вещи!).

Мне удалось заставить это работать без проблем на1 страница pdf, но при попытке создать 96-страничный PDF я получаю только первую и последнюю страницы, извлеченные до значения. Вот код, который я использую:

pdfFile2 = open('/filepath/ir-2030.pdf', 'rb')
irReader = PyPDF2.PdfFileReader(pdfFile2)

pageNum2 = str(irReader.numPages)
print('Your document has ' + pageNum2 + ' pages' + '\n')

for pN in range(irReader.numPages):
    ir2030 = irReader.getPage(pN).extractText()

print(ir2030)

Ранее я использовал почти идентичное кодирование, и оно работало без проблем, но по незаметной для меня причине я получаю только возврат страниц 1 и 96документа pdf от print(ir2030)

Любая помощь будет принята с благодарностью, или если есть лучший способ сделать то, что я пытаюсь сделать ...

Приветствия

1 Ответ

0 голосов
/ 22 октября 2019

На каждой итерации вы сбрасываете значение ir2030. Может быть, добавить значения в список?

ir2030s = []
for pN in range(irReader.numPages):
    ir2030s.append(irReader.getPage(pN).extractText())

print(ir2030)

Или использовать понимание списка:

ir2030s = [irReader.getPage(pN).extractText() for pN in range(irReader.numPages)]
...