python docx 中文字体设置的操作方法


Posted in Python onMay 08, 2018

最近用到了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'宋体')

问题解决, 表格中字体成功更改为”宋体”.

以上这篇python docx 中文字体设置的操作方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
50行代码实现贪吃蛇(具体思路及代码)
Apr 27 Python
python脚本监控docker容器
Apr 27 Python
Python扩展内置类型详解
Mar 26 Python
python实现树形打印目录结构
Mar 29 Python
详解用TensorFlow实现逻辑回归算法
May 02 Python
mac下pycharm设置python版本的图文教程
Jun 13 Python
Python将一个CSV文件里的数据追加到另一个CSV文件的方法
Jul 04 Python
Python 加密与解密小结
Dec 06 Python
Python 50行爬虫抓取并处理图灵书目过程详解
Sep 20 Python
TensorFlow tensor的拼接实例
Jan 19 Python
python两个list[]相加的实现方法
Sep 23 Python
Python实现随机爬山算法
Jan 29 Python
Python解析并读取PDF文件内容的方法
May 08 #Python
python-docx修改已存在的Word文档的表格的字体格式方法
May 08 #Python
对Python中gensim库word2vec的使用详解
May 08 #Python
用python处理MS Word的实例讲解
May 08 #Python
基于python批量处理dat文件及科学计算方法详解
May 08 #Python
使用Python通过win32 COM实现Word文档的写入与保存方法
May 08 #Python
Ubuntu下使用python读取doc和docx文档的内容方法
May 08 #Python
You might like
PHP文件读写操作之文件读取方法详解
2011/01/13 PHP
PHPWind9.0手动屏蔽验证码解决后台关闭验证码但是依然显示的问题
2016/08/12 PHP
Jquery的Tabs内容轮换效果实现代码,几行搞定
2014/02/12 Javascript
JS实现简单的顶部定时关闭层效果
2014/06/15 Javascript
jquery trigger伪造a标签的click事件取代window.open方法
2014/06/23 Javascript
js实现遮罩层划出效果是生成div而不是显示
2014/07/29 Javascript
使用时间戳解决ie缓存的问题
2014/08/20 Javascript
jquery简单实现外部链接用新窗口打开的方法
2015/05/30 Javascript
分享12个实用的jQuery代码片段
2016/03/09 Javascript
基于jQuery实现淡入淡出效果轮播图
2020/07/31 Javascript
用JS写的一个Ajax库(实例代码)
2016/08/06 Javascript
深入理解(function(){... })();
2016/08/16 Javascript
基于AngularJS实现iOS8自带的计算器
2016/09/12 Javascript
Bootstrap CSS布局之表格
2016/12/17 Javascript
简单谈谈关于 npm 5.0 的新坑
2017/06/08 Javascript
微信分享调用jssdk实例
2017/06/08 Javascript
Js经典案例的实例代码
2018/05/10 Javascript
JavaScript中set与get方法用法示例
2018/08/15 Javascript
Vue关于组件化开发知识点详解
2020/05/13 Javascript
基于VUE实现判断设备是PC还是移动端
2020/07/03 Javascript
python实现绘制树枝简单示例
2014/07/24 Python
python通过get,post方式发送http请求和接收http响应的方法
2015/05/26 Python
Python爬虫DOTA排行榜爬取实例(分享)
2017/06/13 Python
Python实现去除列表中重复元素的方法小结【4种方法】
2018/04/27 Python
在matplotlib的图中设置中文标签的方法
2018/12/13 Python
django框架使用orm实现批量更新数据的方法
2019/06/21 Python
python中使用while循环的实例
2019/08/05 Python
django 配置阿里云OSS存储media文件的例子
2019/08/20 Python
Python中logging日志库实例详解
2020/02/19 Python
印尼在线精品店:Berrybenka.com
2016/10/22 全球购物
美国一家运动专业鞋类零售商:Warehouse Shoe Sale(WSS)
2018/03/28 全球购物
大学生毕业求职的自我评价
2013/09/29 职场文书
应届毕业生个人求职自荐信
2014/01/06 职场文书
2015年公司工作总结
2015/04/25 职场文书
公司转让协议书
2016/03/19 职场文书
2019学生会干事辞职信
2019/06/27 职场文书