利用docx
库进行Word的自动化操作。
实战操作演示
实现论文字体格式的控制(懒得自己手动改了属于是QAQ)
- 通过docx库实例化document对象,获取文本
- 通过font.name、font.size等属性,设置文本的字体与字号等属性
生成文档
1
2file_name='xxx.docx'
doc=Doc(file_name)添加标题
1
doc.AddParaText(title_text,22,18,0,1,'隶书')
添加摘要和关键字
1
2abstr=doc.AddParaText('摘 要:',12,18,0,0,'宋体')
doc.AddRunText(abstr,abstract_text)1
2kw=doc.AddParaText('关键字:',12,18,0,0,'宋体')
doc.AddRunText(kw,keywords_text)添加正文
分情况选择各种字号
1
2
3
4doc.AddParaText(f'{h.text()}',16,18,0,0,'宋体')#16-三号
doc.AddParaText(f'{h.text()}',14,18,0,0,'宋体')#14-四号
doc.AddParaText(f'{h.text()}',12,18,0,0,'宋体')#12-小四
doc.AddParaText(f'{h.text()}',10.5,18,1,0,'宋体')#10.5-五号添加参考文献
1 | ref=doc.AddParaText('参考文献\n',16,18,0,0,'宋体') |
合并docx文档
利用
docxcompose.composer
库,可以实现带格式以及图片的docx文档合并
1 | from docxcompose.composer import Composer |
关键函数
1 >from docx.oxml.ns import qn # 注意中文字体格式需要qn进行设置
1 | # 默认英文'Times New Roman',中文front_name设置 |
1 | def AddRunText(self,p,text,bond=False,size=12): # 默认12磅(小四号) |