最近用到了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.readthedocs.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'宋体')
问题解决, 表格中字体成功更改为”宋体”.
敢达决战官方正版 安卓版v6.7.9
下载敢达决战 安卓版v6.7.9
下载像素火影骨架佐助 (Perseverance Fire Shadow)手机版v1.16
下载要塞英雄 安卓版v33.20.0-39082670-Android
下载梦想城镇vivo最新版本 安卓版v12.0.1
梦想城镇vivo版是这款卡通风模拟经营类手游的渠道服版本,玩
怦然心动的瞬间 安卓版v1.0
怦然心动的瞬间是一款真人向的恋爱互动游戏,在游戏中玩家将扮演
曼尼汉堡店游戏 安卓版v1.0.3
曼尼汉堡店是一款非常好玩的精品恐怖类型冒险游戏,在这款游戏中
现代总统模拟器去广告版 安卓版v1.0.46
现代总统模拟器是一款休闲养成类游戏,可能对于不少的玩家来说都
现代总统模拟器付费完整版 安卓版v1.0.46
现代总统模拟器高级版在商店是需要付费的,相对于普通版本,高级