В настоящее время я работаю над проектом, в котором я хочу извлечь текст из PDF, а затем проверить, появляется ли одно из слов в извлеченном тексте в определенном словаре.
Если это так, я хочу, чтобы example.replace (file, x, y) заменил слово из моего текста значением из моего словаря.
Я борюсь с циклом проверки всех слов в моем тексте и автоматического сравнения их со словарем. Цель состоит в том, чтобы мне не приходилось вводить слова «старый» и «новый» самостоятельно, но программа проверяет все слова в тексте, и, если найдет слово в словаре, «старым» будет слово из текста и « новое "значение ключа. Ручная версия работает.
Вот мой код
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage
from io import StringIO
def convert_pdf_to_txt(path):
rsrcmgr = PDFResourceManager()
retstr = StringIO()
codec = 'utf-8'
laparams = LAParams()
device = TextConverter(rsrcmgr, retstr, codec=codec, laparams=laparams)
fp = open(path, 'rb')
interpreter = PDFPageInterpreter(rsrcmgr, device)
password = ""
maxpages = 0
caching = True
pagenos=set()
for page in PDFPage.get_pages(fp, pagenos, maxpages=maxpages, password=password,caching=caching, check_extractable=True):
interpreter.process_page(page)
text = retstr.getvalue()
fp.close()
device.close()
retstr.close()
return text
dictionary = {"Die" : "Der", "Arbeitsfläche":"Platz"}
def convert(file, old, new):
translation = convert_pdf_to_txt(file).replace(old, new)
return translation
print(convert('mytest.pdf','Die' ,'Der'))
Спасибо за помощь!