• 技术文章 >后端开发 >Python教程

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

    不言不言2018-05-08 13:44:48原创5207
    这篇文章主要介绍了关于python docx 中文字体设置的操作方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

    最近用到了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 docx 中文字体设置的操作方法的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:python 中文字体 docx
    上一篇:Python读写docx文件的方法 下一篇:Django学习之静态文件的调用详解
    PHP编程就业班

    相关文章推荐

    • Python使用丝般顺滑的经典技巧总结• 简单介绍一下Python(图文详解)• 详细解析Python之关键字• 一起聊聊Python的编码样式• 深入了解Python数据处理及可视化

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网