python-docx文档样式字体未通过标题样式

时间:2017-12-27 09:01:44

标签: python django python-docx

我在我的django项目中使用了python-docx到MS-word报告,我成功修改了Normal内容样式,我有'宋体'字体:

            document.styles['Normal'].font.name = u'宋体'
            report.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')
            document.styles['Normal'].font.size = Pt(9)

但是当我将它用于标题内容时,标题字体没有改变。没有任何失败的节目。很明显,标题大小已经改变。为什么会这样,怎么解决这个问题?

            document.add_paragraph('1.清单', 'Heading 1')
            document.add_paragraph('设备:', 'Heading 2')

            document.styles['Heading 1'].font.name = u'宋体'
            document.styles['Heading 1']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')
            document.styles['Heading 1'].font.size = Pt(12)
            document.styles['Heading 2'].font.name = u'宋体'
            document.styles['Heading 2']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')
            document.styles['Heading 2'].font.size = Pt(10.5)

我想知道如何分别修改中文和英文字体? 谢谢!

1 个答案:

答案 0 :(得分:0)

我使用了一个简单的解决方案,我创建了一个新的样式

            style_T1 = report.styles.add_style('T1', WD_STYLE_TYPE.PARAGRAPH)
            style_T1.paragraph_format.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER

有效!所以我创建了几个样式,并替换了标题1'标题2' ...