Чтобы получить одну строку из многостраничного PDF, я делаю это:
import PyPDF2
pdfFileObject = open('sample.pdf', 'rb')
pdfReader = PyPDF2.PdfFileReader(pdfFileObject)
count = pdfReader.numPages
for i in range(count):
page = pdfReader.getPage(i)
output = page.extractText()
output
В результате получается строка из одной страницы (последняя страница в документе) - так, как и должно быть согласно PyPDF2 документации . Я применил этот метод, потому что я читал некоторых людей, предлагающих прочитать весь PDF, что не работает в моем случае.
Очевидно, что это базовая c операция, и я заранее извиняюсь за свои недостаток опыта. Я пробовал другие решения, такие как Tika, PDFMiner и Textract, но PyPDF, кажется, пока что позволяет мне только.
Любая помощь будет принята с благодарностью.
Обновление:
Как и предполагалось, я определил output
как список, а затем добавил к нему (как я думал) все страницы в al oop следующим образом:
for i in range(count):
page = pdfReader.getPage(i)
output = []
output.append(page.extractText())
Результат, думал, является единственной строкой в списке как ['sample content from the last page of PDF']