python docx 中文字体设置的操作方法

2018-09-24 21:29

阅读:598

  最近用到了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里面的哪些属性。

  有兴趣深入研究的同学可以看看官方文档对Font的介绍

  在这里我们只需要更改

  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 中文字体设置的操作方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。


评论


亲,登录后才可以留言!