看似很复杂,其实原理很简单。
读到每个run,用if检测是否是需要替换的内容,然后用replace替换,最后保存,这样源格式会继续保存。
def read_document():
document=Document('2.docx')
for paragraph in document.paragraphs:
for run in paragraph.runs:
if "唐诗" in run.text:
run.text=run.text.replace('唐诗','宋词')
document.save('3.docx')
这样可以解决页眉、页脚等复杂元素。
如果是页眉、页脚这些复杂的全局性元素,可以自己建一个空word,將这些复杂元素设好。再修改其中特定需要修改的词,并且新增段落都将有这些页眉、页脚,和首段的段落格式。