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实现网页链接提取的方法分享
Feb 25 Python
跟老齐学Python之for循环语句
Oct 02 Python
在Python的Bottle框架中使用微信API的示例
Apr 23 Python
在Django同1个页面中的多表单处理详解
Jan 25 Python
python使用fcntl模块实现程序加锁功能示例
Jun 23 Python
简单实现python画圆功能
Jan 25 Python
python 将列表中的字符串连接成一个长路径的方法
Oct 23 Python
python把ipynb文件转换成pdf文件过程详解
Jul 09 Python
Tensorflow矩阵运算实例(矩阵相乘,点乘,行/列累加)
Feb 05 Python
Pycharm 安装 idea VIM插件的图文教程详解
Feb 21 Python
520使用Python实现“我爱你”表白
May 20 Python
浅谈python 调用open()打开文件时路径出错的原因
Jun 05 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
全国FM电台频率大全 - 10 江苏省
2020/03/11 无线电
JavaScript 学习笔记 Black.Caffeine 09.11.28
2009/11/30 Javascript
JS实现图片翻书效果示例代码
2013/09/09 Javascript
JQuery动画animate的stop方法使用详解
2014/05/09 Javascript
Jquery通过JSON字符串创建JSON对象
2014/08/24 Javascript
自编jQuery插件实现模拟alert和confirm
2014/09/01 Javascript
浅谈javascript实现八大排序
2015/04/27 Javascript
基于jQuery通过jQuery.form.js插件使用ajax提交form表单
2015/08/17 Javascript
jQuery实用技巧必备(上)
2015/11/02 Javascript
js实现的奥运倒计时时钟效果代码
2015/12/09 Javascript
js基础之DOM中document对象的常用属性方法详解
2016/10/28 Javascript
基于vue配置axios的方法步骤
2017/11/09 Javascript
Vue 父子组件的数据传递、修改和更新方法
2018/03/01 Javascript
浅析JS中回调函数及用法
2018/07/25 Javascript
详解vue.js下引入百度地图jsApi的两种方法
2018/07/27 Javascript
JQueryDOM之样式操作
2019/03/27 jQuery
js数据类型转换与流程控制操作实例分析
2019/12/18 Javascript
前端深入理解Typescript泛型概念
2020/03/09 Javascript
vue实现下载文件流完整前后端代码
2020/11/17 Vue.js
Python md5与sha1加密算法用法分析
2017/07/14 Python
Python反转序列的方法实例分析
2018/03/21 Python
python 基本数据类型占用内存空间大小的实例
2018/06/12 Python
pycharm 配置远程解释器的方法
2018/10/28 Python
python 画三维图像 曲面图和散点图的示例
2018/12/29 Python
Pandas之ReIndex重新索引的实现
2019/06/25 Python
python3字符串操作总结
2019/07/24 Python
keras 指定程序在某块卡上训练实例
2020/06/22 Python
python 多线程死锁问题的解决方案
2020/08/25 Python
css3+伪元素实现鼠标移入时下划线向两边展开的效果
2017/04/25 HTML / CSS
三好学生自我鉴定
2013/12/17 职场文书
汽车维修工岗位职责
2014/02/12 职场文书
导航工程专业自荐信
2014/09/02 职场文书
圆明园纪录片观后感
2015/06/03 职场文书
2015年城管执法工作总结
2015/07/23 职场文书
2016年社区中秋节活动总结
2016/04/05 职场文书
vue项目proxyTable配置和部署服务器
2022/04/14 Vue.js