最近用到了docx生成word文档,docx本身用起来很方便,自带的各种样式都很好看,美中不足的就是对中文的支持不够好。在未设置中文字体的时候,生成的文档虽然可以显示中文,但是笔画大小不一,很难看。
解决办法:
首先创建一个文档,要先声明一个document:
from docx import Document document = Document()
docx内置的样式都可以通过document.styles取到。
正文是Normal, 标题样式根据标题声明的基本,分别从Heading 1 到Heading 9, 另外还有table、list等各种word对应的样式。可以通过遍历document.styles查看。
我们以正文Normal为例。先来看看涉及字体更改的是style object里面的哪些属性。
1. document.styles[‘Normal'].font.name
有兴趣深入研究的同学可以看看官方文档对Font的介绍
http://python-docx.read**t*hedocs.io/en/latest/dev/analysis/features/text/font.html?highlight=font
在这里我们只需要更改font.name。
2. document.styles[‘Normal']._element.rPr.rFonts
只更改font.name是不够的,还需要调用._element.rPr.rFonts的set()方法。
综合起来这样
from docx.oxml.ns import qn document.styles['Normal'].font.name = u'宋体' document.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')
问题解决, 表格中字体成功更改为”宋体”.
樱花校园模拟器4399中文版
樱花校园模拟器4399中文版,十分奇趣好玩的3d校园冒险模拟
我的暑假秘密回忆繁星新春版
我的暑假秘密回忆繁星新春版是一款少女模拟养成类休闲游戏。这款
樱花校园模拟器国际版
樱花校园模拟器国际版,一个超级自由超级好玩的自由恋爱模拟的游
饥荒海难九游版
饥荒海难九游版,带你去真实的海岛上感受一下什么才是真正的孤岛
盖瑞模组体验版最新版
盖瑞模组体验版是玩法非常丰富多元化的沙盒建造游戏,玩家可以在