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中index()和seek()的用法(详解)
Apr 27 Python
Python随机生成手机号、数字的方法详解
Jul 21 Python
tensorflow实现对图片的读取的示例代码
Feb 12 Python
对python指数、幂数拟合curve_fit详解
Dec 29 Python
对IPython交互模式下的退出方法详解
Feb 16 Python
kali中python版本的切换方法
Jul 11 Python
python 6.7 编写printTable()函数表格打印(完整代码)
Mar 25 Python
PyQt5 界面显示无响应的实现
Mar 26 Python
opencv 图像轮廓的实现示例
Jul 08 Python
python怎么删除缓存文件
Jul 19 Python
解决Python 函数声明先后顺序出现的问题
Sep 02 Python
Python3中小括号()、中括号[]、花括号{}的区别详解
Nov 15 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获取当前页面完整URL的实现代码
2013/06/10 PHP
PHP中Closure类的使用方法及详解
2015/10/09 PHP
PHP实现mysqli批量执行多条语句的方法示例
2017/07/22 PHP
php实现支持中文的文件下载功能示例
2017/08/30 PHP
PHP数字金额转换成中文大写显示
2019/01/05 PHP
laravel 创建命令行命令的图文教程
2019/10/23 PHP
犀利的js 函数集合
2009/06/11 Javascript
jQuery 动画弹出窗体支持多种展现方式
2010/04/29 Javascript
点击显示指定元素隐藏其他同辈元素的方法
2014/02/19 Javascript
简单实现兼容各大浏览器的js复制内容到剪切板
2015/09/09 Javascript
jQuery实现悬浮在右上角的网页客服效果代码
2015/10/24 Javascript
全屏滚动插件fullPage.js使用实例解析
2016/10/21 Javascript
微信小程序 progress组件详解及实例代码
2016/10/25 Javascript
移动端日期插件Mobiscroll.js使用详解
2016/12/19 Javascript
D3.js中强制异步文件读取同步的几种方法
2017/02/06 Javascript
几种响应式文字详解
2017/05/19 Javascript
用POSTMAN发送JSON格式的POST请求示例
2018/09/04 Javascript
基于Bootstrap和JQuery实现动态打开和关闭tab页的实例代码
2019/06/10 jQuery
element中table高度自适应的实现
2020/10/21 Javascript
js实现鼠标拖曳效果
2020/12/30 Javascript
python实现从字符串中找出字符1的位置以及个数的方法
2014/08/25 Python
python结合API实现即时天气信息
2016/01/19 Python
python动态加载包的方法小结
2016/04/18 Python
python中的字典使用分享
2016/07/31 Python
python中类变量与成员变量的使用注意点总结
2017/04/29 Python
对Python3中的print函数以及与python2的对比分析
2018/05/02 Python
python中的单引号双引号区别知识点总结
2019/06/23 Python
怎么快速自学python
2020/06/22 Python
英国领先的瓷砖专家:Walls and Floors
2018/04/27 全球购物
DataList 能否分页,请问如何实现?
2015/05/03 面试题
软件测试工程师结构化面试题库
2016/11/23 面试题
DELPHI中如何调用API,可举例说明
2014/01/16 面试题
我的长生果教学反思
2014/04/28 职场文书
教师党员学习十八届四中全会思想汇报
2014/11/03 职场文书
Pandas实现DataFrame的简单运算、统计与排序
2022/03/31 Python
MySql统计函数COUNT的具体使用详解
2022/08/14 MySQL