高亮word特定关键字(python)
第一次写博客,主要是记录一些日常写下的代码,算是记录,也为了自己之后便于查找。
今天主要是写一个利用python对word的内容进行操作,具体是指高亮特定的文字。
首先,导入包(安装python-docx)
from docx import Document
from docx.shared import RGBColor,Ptfrom docx.enum.text imp
写一个函数,对word中的每一段遍历读取查找,并修改run的属性
```python
def getP(paragraph,keyword):
for r in paragraph.runs:
font_size = r.font.size
bold = r.bold
color = r.font.color.rgb
highlight_color = r.font.highlight_color
rest = r.text.split(keyword)
r.text = ''
for text in rest[:-1]:
run = paragraph.add_run(text=text)
set_run(run, font_size, bold, color,highlight_color)
run = paragraph.add_run(keyword)
run.font.size = font_size
run.bold = bold
run.font.color.rgb = color
run.font.highlight_color = WD_COLOR_INDEX.YELLOW # 加上自己要修改的类型
run = paragraph.add_run(rest[-1])
set_run(run, font_size, bold, color,highlight_color)
函数的调用也很简单,直接读取,修改,保存即可
keywords = ['word','python']
file_path = r'try.docx'
docx = Document(file_path)
for keyword in keywords:
for paragraph in docx.paragraphs:
getP(paragraph,keyword)
docx.save(file_path)
之后的其他属性也可以在函数中加以修改、