我以前也操纵过Word,但没有设置成想要的格式,而且总是过了一段时间就忘了怎么操作了。这次写个帖子记录一下。

正文设置成我最习惯的格式了,但对标题、表格、图片都没有设置,真要搞的话,还不如打开Word来的方便吧。

from docx import Document
from docx.oxml.ns import  qn
from docx.shared import  Pt

def save_docx(text, filepath):
    # 新建文档
    document = Document()
    # 设置字体大小为小四
    document.styles['Normal'].font.size = Pt(12)
    # 设置英文字体为Times New Roman
    document.styles['Normal'].font.name = u'Times New Roman'
    # 设置中文字体为宋体
    document.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体') 
    # 设置首行缩进2字符,-2则表示悬挂缩进
    document.styles['Normal'].paragraph_format.first_line_indent = 2*document.styles['Normal'].font.size
    # 设置段落两端对齐
    document.styles['Normal'].paragraph_format.alignment = 3
    # 设置行间距为1.5倍行距
    document.styles['Normal'].paragraph_format.line_spacing = 1.5
    # 设置段后间距为0
    document.styles['Normal'].paragraph_format.space_after = 0
    
    # 划分段落
    paragraph_list = text.split('\n')
    # 插入段落
    for paragraph in paragraph_list:
        document.add_paragraph(paragraph)
    # 保存文档
    document.save(filepath)
    
    
text = '''我以前也操纵过Word,但每次都是过一会就忘了,而且也没有设置成想要的样子。这次写个帖子记录一下。

正文设置成我最习惯的格式了,但对标题、表格、图片都没有设置,真要搞的话,还不如打开Word来的方便吧。'''

filepath = r"C:\Users\a111\Desktop\a111.docx"

save_docx(text, filepath)

效果: