Сравнение ключевых слов с файлами PDF

Вот программа, которая вызывает файлы по имени папки и извлекает данные. Теперь я хочу сравнить данные с ключевыми словами, которые я использовал в программе ниже. Но это дает мне:

      pdfReader = pdfFileObj.loadPage(0)
AttributeError: '_io.BufferedReader' object has no attribute 'loadPage'

Я хочу убрать ошибку и сравнить ключевые слова с извлеченными данными. Я использовал библиотеку PyMuPDF для этой программы.

      import fitz
import os

pdfFiles = []
for filename in os.listdir('resume/'):
    if filename.endswith('.pdf'):
        print(filename)
        # pdfFiles.append(filename)
        os.chdir('C:/Users/M. Abrar Hussain/Desktop/cv/resume')
        print('Current working dir : %s' % os.getcwd())
        pdfFileObj = open(filename, 'rb')
        pdfReader = pdfFileObj.loadPage(0)
        with fitz.open(pdfFileObj) as doc:
            text = ""
            for page in doc:
                text += page.getText()
                print(text)
                # split the docs
                pageObj = pdfReader.getpage(0)
                t1 = (pageObj.getText())
                t1 = t1.split(",")
                search_keywords = ['python', 'Laravel', 'Java']
                for sentence in t1:
                    lst = []
                    for word in search_keywords:
                        if word in search_keywords:
                            list.append(word)
                        print('{0} key word(s) in sentence: {1}'.format(len(lst), ', '.join(lst)))
        pdfFileObj.close()

1 ответ

Вы пропустили две строчки: import PyPDF2 а также pdfReader = PyPDF2.PdfFileReader(pdfFileObj)

Заметь getPage(0) вернет объект номер страницы 0, в вашем цикле for вы постоянно читаете одну и ту же страницу, если вы хотите читать каждую итерацию новой страницы, вы должны проверить, сколько страниц в документе, и создать параметр i, который работает от 0 до pdfReader.numPages.

      import fitz
import os
import PyPDF2

pdfFiles = []
for filename in os.listdir('resume/'):
    if filename.endswith('.pdf'):
        print(filename)
        # pdfFiles.append(filename)
        os.chdir('C:/Users/M. Abrar Hussain/Desktop/cv/resume')
        print('Current working dir : %s' % os.getcwd())
        pdfFileObj = open(filename, 'rb')
        pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
        pageObj = pdfReader.getPage(0)
        with fitz.open(pdfFileObj) as doc:
            text = ""
            for page in doc:
                text += page.getText()
                print(text)
                # split the docs
                pageObj = pdfReader.getPage(0)
                t1 = (pageObj.getText())
                t1 = t1.split(",")
                search_keywords = ['python', 'Laravel', 'Java']
                for sentence in t1:
                    lst = []
                    for word in search_keywords:
                        if word in search_keywords:
                            list.append(word)
                        print('{0} key word(s) in sentence: {1}'.format(len(lst), ', '.join(lst)))
        pdfFileObj.close()

работа с PDF-файлами в Python

Другие вопросы по тегам