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通过scapy获取局域网所有主机mac地址示例
May 04 Python
一个计算身份证号码校验位的Python小程序
Aug 15 Python
python使用xlrd实现检索excel中某列含有指定字符串记录的方法
May 09 Python
python利用lxml读写xml格式的文件
Aug 10 Python
pip安装Python库时遇到的问题及解决方法
Nov 23 Python
python IDLE 背景以及字体大小的修改方法
Jul 12 Python
python单向链表的基本实现与使用方法【定义、遍历、添加、删除、查找等】
Oct 24 Python
python3实现弹弹球小游戏
Nov 25 Python
Python自动化测试笔试面试题精选
Mar 12 Python
详解Python中的路径问题
Sep 02 Python
Ubuntu 20.04安装Pycharm2020.2及锁定到任务栏的问题(小白级操作)
Oct 29 Python
pandas中DataFrame数据合并连接(merge、join、concat)
May 30 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实现简单实用的验证码类
2015/07/29 PHP
php+ajax 实现输入读取数据库显示匹配信息
2015/10/08 PHP
Linux下编译redis和phpredis的方法
2016/04/07 PHP
php的RSA加密解密算法原理与用法分析
2020/01/23 PHP
从sohu弄下来的flash中展示图片的代码
2007/04/27 Javascript
LBS blog sql注射漏洞[All version]-官方已有补丁
2007/08/26 Javascript
JavaScript Sort 表格排序
2009/10/31 Javascript
关于Javascript与iframe的那些事儿
2013/07/04 Javascript
js制作简易年历完整实例
2015/01/28 Javascript
JavaScript与jQuery实现的闪烁输入效果
2016/02/18 Javascript
省市区三级联动jquery实现代码
2020/04/15 Javascript
基于JS实现checkbox全选功能实例代码
2016/10/31 Javascript
Vue系列:通过vue-router如何传递参数示例
2017/01/16 Javascript
jQuery列表检索功能实现代码
2017/07/17 jQuery
iscroll动态加载数据完美解决方法
2017/07/18 Javascript
vue使用技巧及vue项目中遇到的问题
2018/06/04 Javascript
ES6 Symbol在对象中的作用实例分析
2020/06/06 Javascript
python基础教程之类class定义使用方法
2014/02/20 Python
python中类的一些方法分析
2014/09/25 Python
利用ctypes提高Python的执行速度
2016/09/09 Python
OpenCV-Python实现轮廓检测实例分析
2018/01/05 Python
python实现学生管理系统
2018/01/11 Python
python实现汽车管理系统
2018/11/30 Python
解决项目pycharm能运行,在终端却无法运行的问题
2019/01/19 Python
django框架中间件原理与用法详解
2019/12/10 Python
python实现按键精灵找色点击功能教程,使用pywin32和Pillow库
2020/06/04 Python
Python + opencv对拍照得到的图片进行背景去除的实现方法
2020/11/18 Python
python中二分查找法的实现方法
2020/12/06 Python
HTML5 通过Vedio标签实现视频循环播放的示例代码
2020/08/05 HTML / CSS
全球性的在线时尚男装零售商:boohooMAN
2016/12/17 全球购物
表达自我的市场:Society6
2018/08/01 全球购物
三下乡活动方案
2014/01/31 职场文书
高三语文复习计划
2015/01/19 职场文书
校友回访母校寄语
2015/02/26 职场文书
休假证明书
2015/06/24 职场文书
Nginx域名转发https访问的实现
2021/03/31 Servers