Нет пробела между словами при чтении и извлечении текста из файла PDF в Python? - PullRequest
0 голосов
/ 24 августа 2018

Привет, участники сообщества,

Я хочу извлечь весь текст из электронной книги с расширением .pdf. Я узнал, что в python есть пакет PyPDF2 для выполнения необходимых действий. Каким-то образом я пытался и смог извлечь текст, но это приводит к неуместному пространству между извлеченными словами, иногда результат - результат 2-3 объединенных слов.

Далее, я хочу извлечь текст со страницы 3 и далее, поскольку начальные страницы имеют дело с титульной страницей и предисловием. Кроме того, я не хочу включать последние 5 страниц, поскольку он содержит глоссарий и указатель.

Существует ли какой-либо другой способ чтения двоичного файла .pdf без ШИФРОВАНИЯ?

Фрагмент кода, который я пробовал до сих пор, выглядит следующим образом.

import PyPDF2
def Read():
    pdfFileObj = open('book1.pdf','rb')
    pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
    #discerning the number of pages will allow us to parse through all #the pages
    num_pages = pdfReader.numPages
    count = 0
    global text
    text = []
    while(count < num_pages):
         pageObj = pdfReader.getPage(count)
         count +=1
         text += pageObj.extractText().split()
         print(text)
 Read()

1 Ответ

0 голосов
/ 24 августа 2018

Это возможное решение:

import PyPDF2

def Read(startPage, endPage):
    global text
    text = []
    cleanText = ""
    pdfFileObj = open('myTest2.pdf', 'rb')
    pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
    while startPage <= endPage:
        pageObj = pdfReader.getPage(startPage)
        text += pageObj.extractText()
        startPage += 1
    pdfFileObj.close()
    for myWord in text:
        if myWord != '\n':
            cleanText += myWord
    text = cleanText.split()
    print(text)

Read(0,0)

Чтение () параметров -> Чтение (чтение первой страницы, чтение последней страницы)

Примечание: Чтение первой страницы начинается с 0, а не с 1 (как, например, в массиве).

...