pythondocx字体设置_pythondocx中⽂字体设置
前段时间⽤到了docx⽣成word⽂档,docx本⾝⽤起来很⽅便,⾃带的各种样式都很好看,美中不⾜的就是对中⽂的⽀持不够好。在未设置中⽂字体的时候,⽣成的⽂档虽然可以显⽰中⽂,但是笔画⼤⼩不⼀,很难看。
笔者在⽹上搜寻⼀番,结合docx的官⽅⽂档,总结了⼀下docx设置中⽂字体的经验。
⾸先创建⼀个⽂档,要先声明⼀个document
from docx import Document
document = Document()
docx内置的样式都可以通过document.styles取到。
python中文文档正⽂是Normal, 标题样式根据标题声明的基本,分别从Heading 1 到Heading 9, 另外还有table、list等各种word对应的样式。可以通过遍历document.styles查看。
我们以正⽂Normal为例。先来看看涉及字体更改的是style object⾥⾯的哪些属性。
1. document.styles['Normal'].font.name
2. document.styles['Normal']._element.rPr.rFonts
只更改font.name是不够的,还需要调⽤._element.rPr.rFonts的set()⽅法。
综合起来这样
l.ns import qn
document.styles['Normal'].font.name = u'宋体'
document.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')
是不是很简单?直接更改内置Style可以说是牵⼀发⽽动全⾝,如果只需要更⼀部分怎么办呢,下⾯我们以表格为例。
先创建⼀个表格,这⾥选⽤了TableGrid这个Style
table = document.add_table(rows=2, cols=2), )
然后可以通过table.style获取到这个表格的style对象。
然后直接更改font.name就可以啦
table.style.font.name = u'宋体'
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论