python将word文档指定内容标红以及设置文字突出显示,即高亮

一、python将word文档指定内容标红

使用docx的包,这里包名为:python-docx

from docx.shared import RGBColor,Pt
def set_run(run,font_size,bold,color):
    run.font.size =font_size
    run.bold=bold
    run.font.color.rgb=color

定义一个方法,获取文本的style

file = docx.Document(file_name)
for r in file.paragraphs[i].runs:
	font_size = r.font.size
	bold = r.bold
	color = r.font.color.rgb
	rest = r.text.split("这里为想要标红的文本")
	r.text = ''
	for text in rest[:-1]:
	  run = file.paragraphs[i].add_run(text=text)
	  set_run(run,font_size,bold,color)
	  run = file.paragraphs[i].add_run("这里为想要标红的文本")
	  run.font.size = font_size
	  run.bold = bold
	  run.font.color.rgb = RGBColor(255, 0, 0)
	run = file.paragraphs[i].add_run(rest[-1])
	set_run(run,font_size,bold,color)

读取文本,将想要的文字标红,核心思想就是将想要标红的文字跟文本分离开,并记录源文本的style,然后将需要标红的文本的style颜色改成红色,其余保持原来状态。
至此,实现文档的指定文字标红,但是在一些正式的文档上,标红总显得不那么正式,这时一般采用高亮显示的方式使得文档看起来更加工整。

二、python-docx设置文字突出显示,即高亮

猜你喜欢

转载自blog.csdn.net/fuzizhu1/article/details/104082654