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操作CouchDB的方法
Oct 08 Python
python使用urlparse分析网址中域名的方法
Apr 15 Python
通过Python实现自动填写调查问卷
Sep 06 Python
python3+pyqt5+itchat微信定时发送消息的方法
Feb 20 Python
python实现两张图片的像素融合
Feb 23 Python
python进程和线程用法知识点总结
May 28 Python
Python3实现mysql连接和数据框的形成(实例代码)
Jan 17 Python
Python PyPDF2模块安装使用解析
Jan 19 Python
浅谈python3 构造函数和析构函数
Mar 12 Python
TensorFlow2.1.0安装过程中setuptools、wrapt等相关错误指南
Apr 08 Python
matlab 计算灰度图像的一阶矩,二阶矩,三阶矩实例
Apr 22 Python
python定义类的简单用法
Jul 24 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
Smarty结合Ajax实现无刷新留言本实例
2007/01/02 PHP
用 Composer构建自己的 PHP 框架之设计 MVC
2014/10/30 PHP
PHP 实现页面静态化的几种方法
2017/07/23 PHP
php自定义排序uasort函数示例【二维数组按指定键值排序】
2019/06/19 PHP
laravel实现上传图片,并且制作缩略图,按照日期存放的代码
2019/10/16 PHP
腾讯UED 漂亮的提示信息效果代码
2011/09/12 Javascript
浅析jquery的js图表组件highcharts
2014/03/06 Javascript
js中实现多态采用和继承类似的方法
2014/08/22 Javascript
javascript实现复制与粘贴操作实例
2014/10/16 Javascript
JavaScript阻止浏览器返回按钮的方法
2015/03/18 Javascript
JQuery通过AJAX从后台获取信息显示在表格上并支持行选中
2015/09/15 Javascript
jquery无限级联下拉菜单简单实例演示
2015/11/23 Javascript
微信小程序 slider 详解及实例代码
2017/01/10 Javascript
微信小程序实现给循环列表添加点击样式实例
2017/04/26 Javascript
Vue原理剖析 实现双向绑定MVVM
2017/05/03 Javascript
Vue封装Swiper实现图片轮播效果
2018/02/06 Javascript
swiper 解决动态加载数据滑动失效的问题
2018/02/26 Javascript
JS实现将链接生成二维码并转为图片的方法
2018/03/17 Javascript
vue v-model动态生成详解
2018/06/30 Javascript
Vue页面渲染中key的应用实例教程
2021/01/12 Vue.js
vue常用高阶函数及综合实例
2021/02/25 Vue.js
python操作MySQL数据库具体方法
2013/10/28 Python
Windows下Eclipse+PyDev配置Python+PyQt4开发环境
2016/05/17 Python
在Python中append以及extend返回None的例子
2019/07/20 Python
Django 框架模型操作入门教程
2019/11/05 Python
python如何实现递归转非递归
2021/02/25 Python
CSS3弹性盒模型开发笔记(二)
2016/04/26 HTML / CSS
美国在线购物频道:Shop LC
2019/04/21 全球购物
合作协议书范本
2014/04/17 职场文书
相亲大会策划方案
2014/06/05 职场文书
世界环境日活动总结
2015/02/11 职场文书
2019XX公司员工考核管理制度!
2019/08/07 职场文书
python scipy 稀疏矩阵的使用说明
2021/05/26 Python
python中的装饰器该如何使用
2021/06/18 Python
MySQL Shell import_table数据导入的实现
2021/08/07 MySQL
配置nginx负载均衡
2022/05/06 Servers