【发布时间】:2018-09-05 08:13:27
【问题描述】:
我目前正在从事一个项目,我想从 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'))
感谢您的帮助!
【问题讨论】:
标签: python python-3.x python-2.7 pdf text