Поиск нескольких слов из PDF - PullRequest
0 голосов
/ 30 октября 2019

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

Я хочу, чтобы строки, содержащие только одно слово, были напечатаны или сохранены в отдельном файле.

# import packages
import PyPDF2
import re

# open the pdf file
object = PyPDF2.PdfFileReader("Filename.pdf")

# get number of pages
NumPages = object.getNumPages()

# define keyterms
Strings = "House|Property|street"

# extract text and do the search
for i in range(0, NumPages):
    PageObj = object.getPage(i)
    print("this is page " + str(i)) 
    Text = PageObj.extractText() 
    # print(Text)
    ResSearch = re.search(Strings, Text)
    print(ResSearch)

Когда я запускаю приведенный выше код, мне нужно прокрутить вывод, чтобы найти строки, в которых находятся слова. Я ожидаю, что строки, содержащие слова, будут напечатаны или сохранены как отдельный файл, или страница, содержащая только одну строку, будет сохранена в отдельном файле pdf или txt. Заранее спасибо за помощь

1 Ответ

0 голосов
/ 04 ноября 2019

Вы можете использовать re.match после разделения строк для текста на каждой странице.

Как пример:

for i in range(0, num_pages):
    page = object.getPage(i)
    text = page.extractText()
    for line in text.splitlines():
        if re.match('House|Property|street', line):
            print(line)
...