创建Word文档时一直报错
from docx import Document
from docx.oxml.ns import qn
from docx.shared import Pt, RGBColor
from docx.shared import Inches
from docx.enum.text import WD_ALIGN_PARAGRAPH
doc = Document()
model = doc.add_paragraph('妥善保管')
model.runs[0].font.size = Pt(16)
model.alignment = WD_ALIGN_PARAGRAPH.RIGHT
model.runs[0].font.color.rgb = RGBColor(255,0,0)
doc.paragraphs[0].runs[0]._element.rPr.rFonts.set(qn('w:eastAsia'),'方正黑体_GBK')
报错:
doc.paragraphs[0].runs[0]._element.rPr.rFonts.set(qn('w:eastAsia'),'方正黑体_GBK')
AttributeError: 'NoneType' object has no attribute 'set'
思路:
在网上找了好多都是这个代码但是还是运行报错
你可以尝试在创建段落时使用add_run方法来添加文本,而不是直接使用段落文本,然后再对这个run对象进行设置。修改后的代码如下:
from docx import Document
from docx.oxml.ns import qn
from docx.shared import Pt, RGBColor
from docx.shared import Inches
from docx.enum.text import WD_ALIGN_PARAGRAPH
doc = Document()
paragraph = doc.add_paragraph()
run = paragraph.add_run('妥善保管')
run.font.size = Pt(16)
paragraph.alignment = WD_ALIGN_PARAGRAPH.RIGHT
run.font.color.rgb = RGBColor(255, 0, 0)
paragraph.runs[0]._element.rPr.rFonts.set(qn('w:eastAsia'), '方正黑体_GBK')
doc.save('example.docx')
以下答案引用自GPT-3大模型,请合理使用:
示例
解决方案:
可以直接使用以下方法改变字体样式:
from docx import Document
from docx.shared import Pt
doc = Document()
para = doc.add_paragraph('妥善保管')
para.runs[0].font.name = '方正黑体_GBK'
para.runs[0].font.size = Pt(16)
para.alignment = WD_ALIGN_PARAGRAPH.RIGHT
para.runs[0].font.color.rgb = RGBColor(255,0,0)
如果我的回答解决了您的问题,请采纳我的回答