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 相关文章推荐
浅谈Python 字符串格式化输出(format/printf)
Jul 21 Python
python学生信息管理系统
Mar 13 Python
Django项目中model的数据处理以及页面交互方法
May 30 Python
python 读取文件并替换字段的实例
Jul 12 Python
python3实现点餐系统
Jan 24 Python
pyqt5 使用label控件实时显示时间的实例
Jun 14 Python
Python获取好友地区分布及好友性别分布情况代码详解
Jul 10 Python
解决python 3 urllib 没有 urlencode 属性的问题
Aug 22 Python
使用Python给头像加上圣诞帽或圣诞老人小图标附源码
Dec 25 Python
Python+OpenCV实现图像的全景拼接
Mar 05 Python
Django模板标签{% for %}循环,获取制定条数据实例
May 14 Python
Python pandas求方差和标准差的方法实例
Aug 04 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中ini_set和ini_get函数的用法小结
2014/02/18 PHP
ThinkPHP中limit()使用方法详解
2016/04/19 PHP
postman的安装与使用方法(模拟Get和Post请求)
2018/08/06 PHP
php + ajax 实现的写入数据库操作简单示例
2020/05/16 PHP
一份老外写的XMLHttpRequest代码多浏览器支持兼容性
2007/01/11 Javascript
基于jQuery的表格操作插件
2010/04/22 Javascript
麻雀虽小五脏俱全 Dojo自定义控件应用
2010/09/04 Javascript
可兼容IE的获取及设置cookie的jquery.cookie函数方法
2013/09/02 Javascript
JavaScript中的typeof操作符用法实例
2014/04/05 Javascript
jquery使整个div区域可以点击的方法
2015/06/24 Javascript
原生js与jQuery实现简单的tab切换特效对比
2015/07/30 Javascript
你有必要知道的25个JavaScript面试题
2015/12/29 Javascript
AngularJS 单元测试(二)详解
2016/09/21 Javascript
JS制作适用于手机和电脑的通知信息效果
2016/10/28 Javascript
Vue指令的钩子函数使用方法
2017/03/20 Javascript
Vue的Flux框架之Vuex状态管理器
2017/07/30 Javascript
Node.js服务器开启Gzip压缩教程
2017/08/11 Javascript
Vue.js添加组件操作示例
2018/06/13 Javascript
微信小程序实现倒计时补零功能
2018/07/09 Javascript
使用jquery DataTable和ajax向页面显示数据列表的方法
2018/08/09 jQuery
layui实现三级联动效果
2019/07/26 Javascript
在Layui 的表格模板中,实现layer父页面和子页面传值交互的方法
2019/09/10 Javascript
node.js中Buffer缓冲器的原理与使用方法分析
2019/11/23 Javascript
深入讲解Java编程中类的生命周期
2016/02/05 Python
python3+django2开发一个简单的人员管理系统过程详解
2019/07/23 Python
Python.append()与Python.expand()用法详解
2019/12/18 Python
将labelme格式数据转化为标准的coco数据集格式方式
2020/02/17 Python
基于python 取余问题(%)详解
2020/06/03 Python
德国电子商城:ComputerUniverse
2017/04/21 全球购物
网络技术专业推荐信
2014/02/20 职场文书
班主任个人工作反思
2014/04/28 职场文书
爱护公共设施标语
2014/06/24 职场文书
2015银行年终工作总结范文
2015/05/26 职场文书
css display table 自适应高度、宽度问题的解决
2021/05/07 HTML / CSS
用python实现监控视频人数统计
2021/05/21 Python
pytorch Dropout过拟合的操作
2021/05/27 Python