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内置数据类型详解
Aug 18 Python
基于Python的接口测试框架实例
Nov 04 Python
独特的python循环语句
Nov 20 Python
Python简单计算文件MD5值的方法示例
Apr 11 Python
python 缺失值处理的方法(Imputation)
Jul 02 Python
Python socket 套接字实现通信详解
Aug 27 Python
浅析Python数字类型和字符串类型的内置方法
Dec 22 Python
Python 实现敏感目录扫描的示例代码
May 21 Python
浅谈keras使用预训练模型vgg16分类,损失和准确度不变
Jul 02 Python
详解用python -m http.server搭一个简易的本地局域网
Sep 24 Python
python删除csv文件的行列
Apr 06 Python
Python 线程池模块之多线程操作代码
May 20 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
提问的智慧
2006/10/09 PHP
用PHP制作静态网站的模板框架(三)
2006/10/09 PHP
php调用mysql数据 dbclass类
2011/05/07 PHP
php之readdir函数用法实例
2014/11/13 PHP
php实现SAE上使用storage上传与下载文件的方法
2015/06/29 PHP
php基于Snoopy解析网页html的方法
2015/07/09 PHP
Aster vs KG BO3 第三场2.19
2021/03/10 DOTA
自己开发Dojo的建议框架
2008/09/24 Javascript
JS操作Cookies包括(读取添加与删除)
2012/12/26 Javascript
输入自动提示搜索提示功能的使用说明:sugggestion.txt
2013/09/02 Javascript
提升PHP安全:8个必须修改的PHP默认配置
2014/11/17 Javascript
jQuery图片特效插件Revealing实现拉伸放大
2015/04/22 Javascript
一不小心就做错的JS闭包面试题
2015/11/25 Javascript
ThinkPHP+jquery实现“加载更多”功能代码
2017/03/11 Javascript
JS实现水平遍历和嵌套递归操作示例
2019/08/15 Javascript
微信小程序表单验证WxValidate的使用
2019/11/27 Javascript
返回上一个url并刷新界面的js代码
2020/09/12 Javascript
[03:55]DOTA2完美大师赛选手传记——LFY.MONET
2017/11/18 DOTA
python遍历序列enumerate函数浅析
2017/10/17 Python
python利用socketserver实现并发套接字功能
2018/01/26 Python
Pyqt QImage 与 np array 转换方法
2019/06/27 Python
Python学习笔记之迭代器和生成器用法实例详解
2019/08/08 Python
python使用sessions模拟登录淘宝的方式
2019/08/16 Python
Python基于Hypothesis测试库生成测试数据
2020/04/29 Python
使用pyplot.matshow()函数添加绘图标题
2020/06/16 Python
python爬虫beautifulsoup解析html方法
2020/12/07 Python
html5中去掉input type date默认样式的方法
2018/09/06 HTML / CSS
法国房车租赁网站:Yescapa
2019/08/26 全球购物
C#中有没有静态构造函数,如果有是做什么用的?
2016/06/04 面试题
大学生简历中个人的自我评价
2013/10/06 职场文书
校园安全教育广播稿
2014/02/17 职场文书
竞选团支书演讲稿
2014/04/28 职场文书
秋天的图画教学反思
2014/05/01 职场文书
群众路线自我剖析范文
2014/11/04 职场文书
2014年初级职称工作总结
2014/12/08 职场文书
javascript进阶篇深拷贝实现的四种方式
2022/07/07 Javascript