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中Flask框架简单入门实例
Mar 21 Python
python生成器generator用法实例分析
Jun 04 Python
Python中的条件判断语句基础学习教程
Feb 07 Python
Python发送form-data请求及拼接form-data内容的方法
Mar 05 Python
Python解析命令行读取参数--argparse模块使用方法
Jan 23 Python
Python实现k-means算法
Feb 23 Python
Pandas之drop_duplicates:去除重复项方法
Apr 18 Python
python将一个英文语句以单词为单位逆序排放的方法
Dec 20 Python
在Python中使用MySQL--PyMySQL的基本使用方法
Nov 19 Python
python实现实时视频流播放代码实例
Jan 11 Python
python 使用递归实现打印一个数字的每一位示例
Feb 27 Python
pytorch查看网络参数显存占用量等操作
May 12 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中使用__autoload()自动加载未定义类的实现代码
2013/02/06 PHP
PHP图片水印类的封装
2017/07/06 PHP
Yii 2中的load()和save()示例详解
2017/08/03 PHP
PHP集成环境XAMPP的安装与配置
2018/11/13 PHP
PHP数组Key强制类型转换实现原理解析
2020/09/01 PHP
基于jquery的15款幻灯片插件
2011/04/10 Javascript
jquery中获取元素的几种方式小结
2011/07/05 Javascript
关于JavaScript中string 的replace
2013/04/12 Javascript
把字符串按照特定的字母顺序进行排序的js代码
2014/01/28 Javascript
JavaScript sup方法入门实例(把字符串显示为上标)
2014/10/20 Javascript
详解AngularJS的通信机制
2015/06/18 Javascript
一个php+js实时显示时间问题
2015/10/12 Javascript
JS实现的页面自定义滚动条效果
2015/10/26 Javascript
AngularJS中的API(接口)简单实现
2016/07/28 Javascript
纯JS实现可拖拽表单的简单实例
2016/09/02 Javascript
node.js中实现kindEditor图片上传功能的方法教程
2017/04/26 Javascript
JS实现多物体运动的方法详解
2018/01/23 Javascript
node.js遍历目录的方法示例
2018/08/01 Javascript
ES6 Promise对象的含义和基本用法分析
2019/06/14 Javascript
jQuery设置下拉框显示与隐藏效果的方法分析
2019/09/15 jQuery
js正则匹配多个全部数据问题
2019/12/20 Javascript
如何在微信小程序中使用骨架屏的步骤
2020/06/12 Javascript
解决antd Form 表单校验方法无响应的问题
2020/10/27 Javascript
详解Python使用simplejson模块解析JSON的方法
2016/03/24 Python
详解python之简单主机批量管理工具
2017/01/27 Python
python,Django实现的淘宝客登录功能示例
2019/06/12 Python
Ubuntu18.04下python版本完美切换的解决方法
2019/06/14 Python
Python进阶之使用selenium爬取淘宝商品信息功能示例
2019/09/16 Python
tensorflow保持每次训练结果一致的简单实现
2020/02/17 Python
Python基于httpx模块实现发送请求
2020/07/07 Python
python 爬虫之selenium可视化爬虫的实现
2020/12/04 Python
微软香港官网及网上商店:Microsoft HK
2016/09/01 全球购物
全球速卖通:AliExpress(国际版淘宝)
2017/09/20 全球购物
2015年机关后勤工作总结
2015/05/26 职场文书
2016圣诞节贺卡寄语
2015/12/07 职场文书
微信小程序实现录音Record功能
2021/05/09 Javascript