python-docx字体无法修改,请问如何解决?

python-docx字体无法修改,请问如何解决?

from docx import Document

from docx.shared import Pt

document = Document()

first_paragraph = document.add_paragraph()

first_style = first_paragraph.add_run('我是中国人') #新增首行样式并添加文字

first_style.font.size = Pt(20) # 设置字号样式

first_style.font.name = '黑体' # 设置字体样式

document.save('我是中国人.docx')

结果'黑体'样式没能显示出来,只有默认的什么'MS Mincho',请问这是什么原因呢?


回答:

测试了一下,你的代码仅能对英文字符生效

first_style.font.size = Pt(20) # 设置字号样式

first_style.font.name = '黑体' # 设置字体样式

可行的方式是修改样式,通过不同的样式控制中文字体

document = Document()

document.styles['Normal'].font.name = u'黑体'

document.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'黑体')

参考网站
https://cloud.tencent.com/dev...


回答:

python">from docx import Document

from docx.shared import Pt

from docx.oxml.ns import qn

first_style = first_paragraph.add_run('我是中国人') # 新增首行样式并添加文字

first_style.font.size = Pt(20) # 设置字号样式

first_style.font.name = '黑体' # 设置字体样式

first_style.element.rPr.rFonts.set(qn('w:eastAsia'), '黑体')

document.save('我是中国人.docx')

除了楼上提供的方法外,这个方法也可以。而且貌似不用在其具体设置值之前添加'u'也行?

以上是 python-docx字体无法修改,请问如何解决? 的全部内容, 来源链接: utcz.com/p/938578.html

回到顶部