python-docx 替换文字 para 保留原有样式
要替换 Python-docx 文档中的文本并保留原有样式,您可以执行以下步骤:
-
使用 Python-docx 打开需要修改的文档,找到要替换的段落(Para)。您可以使用
document.paragraphs属性来获取文档中的所有段落对象,然后根据需要筛选出要修改的段落。 -
在找到要替换的段落后,您可以使用
paragraph.runs属性来获取段落中的所有 Run 对象,然后根据需要筛选出要修改的 Run。 -
使用
run.text属性获取 Run 中的文本,并进行替换操作。如果您希望保留原有样式,可以使用run.text = new_text语句替换文本,并在new_text中包含原有文本的样式。例如,如果要将文本“Hello”替换为“World”,并保留原有样式,则可以使用以下代码:
for paragraph in document.paragraphs:
for run in paragraph.runs:
if run.text == "Hello":
new_text = "World"
run.text = new_text
在 new_text 中,您可以使用 <w:r> 和 <w:t> 标记来指定要应用的样式。例如,如果要在替换文本时将其设置为红色,可以使用以下代码:
new_text = '<w:r><w:rPr><w:color w:val="FF0000"/></w:rPr><w:t>World</w:t></w:r>'
请注意,如果您使用了样式标记,则必须确保它们是有效的 XML 标记,并且文档仍然可以正常打开
原文地址: http://www.cveoy.top/t/topic/hflO 著作权归作者所有。请勿转载和采集!