前两篇博文中,学习了是用python的docx库创建一个word文档,并且编辑了标题和正文,以及利用python来获取word文档的内容。本篇学习利用python修改word文档的内容。
修改word文档的思路:
1)获取原word文档的内容。参考代码:doc = docx.Document(src_docx_file);
2)修改doc的内容;
3)新建一个word文档,用doc的内容进行填充。
?举例:给《念奴娇_赤壁怀古.docx》标题中,加上作者。
代码如下:
# -*- coding: utf-8 -*-
import os
import sys
import time
import docx
from docx.shared import RGBColor
from docx.shared import Pt
#更新word文档的标题内容
def update_doc():
#1.获取原文档
doc_name = "念奴娇_赤壁怀古.docx"
doc = docx.Document(doc_name)
title_paragraph=doc.paragraphs[0] #获取标题
title_paragraph.text = title_paragraph.text+ " [苏轼]" #修改标题
#2.修改doc的内容
for run in title_paragraph.runs:
print("run=",run)
print(run.text)
run.font.name = u'宋体' #设置字体
run.font.bold = False #字体粗体
run.font.size = Pt(24) #字体大小
#3.保存为word文档
new_doc_name = "念奴娇_赤壁怀古_苏轼.docx"
doc.save(new_doc_name)
if __name__ == '__main__':
#create_doc()
#fetch_doc()
update_doc()
编译和运行:
% python word_util.py run= <docx.text.run.Run object at 0x10a4a6730> 念奴娇·赤壁怀古 [苏轼] %?
运行结果:
生成了新的文档:念奴娇_赤壁怀古_苏轼.docx?
说明:?
1)获取标题:title_paragraph=doc.paragraphs[0] #获取标题;
2)获取文本:title_paragraph.text #来获取对应的文本。
?
?
?
|