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的汉字转GBK码实现代码
Feb 19 Python
py2exe 编译ico图标的代码
Mar 08 Python
python实现排序算法
Feb 14 Python
Python Trie树实现字典排序
Mar 28 Python
python抓取网页中图片并保存到本地
Dec 01 Python
python如何把嵌套列表转变成普通列表
Mar 20 Python
Python实现账号密码输错三次即锁定功能简单示例
Mar 29 Python
Python实现的远程文件自动打包并下载功能示例
Jul 12 Python
python 通过视频url获取视频的宽高方式
Dec 10 Python
pyspark给dataframe增加新的一列的实现示例
Apr 24 Python
Python使用pyexecjs代码案例解析
Jul 13 Python
Python sklearn分类决策树方法详解
Sep 23 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中通过DirectoryIterator删除整个目录的方法
2015/03/13 PHP
PHP中curl_setopt函数用法实例分析
2015/04/16 PHP
百度地图经纬度转换到腾讯地图/Google 对应的经纬度
2015/08/28 PHP
ThinkPHP5与单元测试PHPUnit使用详解
2020/02/23 PHP
cnblogs中在闪存中屏蔽某人的实现代码
2010/11/14 Javascript
js或者jquery判断图片是否加载完成实现代码
2013/03/20 Javascript
本地图片预览(支持IE6/IE7/IE8/Firefox3)经验总结
2013/03/25 Javascript
js 显示base64编码的二进制流网页图片
2014/04/04 Javascript
JavaScript通过元素的ID和name设置样式
2014/07/08 Javascript
flash+jQuery实现可关闭及重复播放的压顶广告
2015/04/15 Javascript
完美兼容多浏览器的js判断图片路径代码汇总
2015/04/17 Javascript
谈谈JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)
2015/10/01 Javascript
js图片跟随鼠标移动代码
2015/11/26 Javascript
Kotlin学习第一步 kotlin语法特性
2017/05/25 Javascript
Vuejs实现购物车功能
2017/11/05 Javascript
three.js加载obj模型的实例代码
2017/11/10 Javascript
jQuery实现checkbox的简单操作
2017/11/18 jQuery
详解vue后台系统登录态管理
2019/04/02 Javascript
微信小程序前端自定义分享的实现方法
2019/06/13 Javascript
浅谈vue的第一个commit分析
2020/06/08 Javascript
vue element el-transfer增加拖拽功能
2021/01/15 Vue.js
python实现各进制转换的总结大全
2017/06/18 Python
Python yield与实现方法代码分析
2018/02/06 Python
python socket网络编程之粘包问题详解
2018/04/28 Python
python多线程并发让两个LED同时亮的方法
2019/02/18 Python
Django集成搜索引擎Elasticserach的方法示例
2019/06/04 Python
springboot配置文件抽离 git管理统 配置中心详解
2019/09/02 Python
python Django框架实现web端分页呈现数据
2019/10/31 Python
python调用HEG工具批量处理MODIS数据的方法及注意事项
2020/02/18 Python
PyTorch加载自己的数据集实例详解
2020/03/18 Python
EVE LOM英国官网:全世界最好的洁面膏
2017/10/30 全球购物
2015年部门工作总结范文
2015/03/31 职场文书
员工手册董事长致辞
2015/07/29 职场文书
幼儿园班级管理心得体会
2016/01/07 职场文书
详解TypeScript中的类型保护
2021/04/29 Javascript
Python列表删除重复元素与图像相似度判断及删除实例代码
2021/05/07 Python