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 相关文章推荐
Python3如何解决字符编码问题详解
Apr 23 Python
Python算法输出1-9数组形成的结果为100的所有运算式
Nov 03 Python
Python实现简易Web爬虫详解
Jan 03 Python
windows下安装Python虚拟环境virtualenvwrapper-win
Jun 14 Python
利用pyecharts实现地图可视化的例子
Aug 12 Python
pytorch查看torch.Tensor和model是否在CUDA上的实例
Jan 03 Python
vue常用指令代码实例总结
Mar 16 Python
python 追踪except信息方式
Apr 25 Python
Python 操作SQLite数据库的示例
Oct 16 Python
python dir函数快速掌握用法技巧
Dec 09 Python
PyCharm常用配置和常用插件(小结)
Feb 06 Python
Django框架中表单的用法
Jun 10 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
截获网站title标签之家内容的例子
2006/10/09 PHP
PHP_Cooikes不同页面无法传递的解决方法
2014/03/07 PHP
PHP生成二维码的两个方法和实例
2014/07/01 PHP
2款PHP无限级分类实例代码
2015/11/11 PHP
PHP安装threads多线程扩展基础教程
2015/11/17 PHP
php mysql 封装类实例代码
2016/09/18 PHP
jquery.jstree 增加节点的双击事件代码
2010/07/27 Javascript
JS 表单验证大全
2011/11/23 Javascript
原生js与jQuery实现简单的tab切换特效对比
2015/07/30 Javascript
JS调用Android、Ios原生控件
2017/01/06 Javascript
Vue 2.X的状态管理vuex记录详解
2017/03/23 Javascript
vue 实现剪裁图片并上传服务器功能
2018/03/01 Javascript
深入理解react 组件类型及使用场景
2019/03/07 Javascript
浅谈vue-router路由切换 组件重用挖下的坑
2019/11/01 Javascript
Vue数组响应式操作及高阶函数使用代码详解
2020/08/01 Javascript
[01:47]2018年度DOTA2最佳教练-完美盛典
2018/12/16 DOTA
[00:08]DOTA2勇士令状等级奖励“天外飞星”
2019/05/24 DOTA
[10:05]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD 选手采访
2021/03/11 DOTA
python不带重复的全排列代码
2013/08/13 Python
Python二分查找详解
2015/09/13 Python
Django框架序列化与反序列化操作详解
2019/11/01 Python
win10系统Anaconda和Pycharm的Tensorflow2.0之CPU和GPU版本安装教程
2019/12/03 Python
pytorch中的自定义数据处理详解
2020/01/06 Python
使用TensorFlow对图像进行随机旋转的实现示例
2020/01/20 Python
django使用JWT保存用户登录信息
2020/04/22 Python
python uuid生成唯一id或str的最简单案例
2021/01/13 Python
斯凯奇美国官网:SKECHERS美国
2016/08/20 全球购物
The Hut德国站点:时装、家居用品、美容等
2016/09/23 全球购物
澳大利亚家具和家居用品在线:BROSA
2017/11/02 全球购物
Foot Locker德国官方网站:美国运动服和鞋类零售商
2018/11/01 全球购物
房产销售经理职责
2013/12/20 职场文书
人事部专员岗位职责
2014/03/04 职场文书
超市七夕促销活动方案
2014/08/28 职场文书
毕业横幅标语
2014/10/08 职场文书
学生上课说话检讨书
2014/10/25 职场文书
python中redis包操作数据库的教程
2022/04/19 Python