python-docx对替换后的文字设置英文字体、中文字体、字号大小、对齐方式

发布时间 2023-04-27 11:17:16作者: 捷后愚生

python-docx对替换后的文字设置英文字体、中文字体、字号大小、对齐方式

# 导入 Document 类,用于读取和修改 docx 文件
from docx import Document
# 导入 WD_PARAGRAPH_ALIGNMENT 枚举类,用于设置段落对齐方式
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
# 导入各种共享对象
from docx.shared import Pt, Cm, RGBColor
 # 使用 Document 类读取 example.docx 文件
doc = Document('example.docx')
 # 遍历文档中的每个段落
for para in doc.paragraphs:
    # 如果段落中包含字符串 "替换前"
    if '替换前' in para.text:
        # 将字符串 "替换前" 替换为 "替换后"
        para.text = para.text.replace('替换前', '替换后')
        # 遍历每个匹配到的字符串,使用 run 类对其进行特殊操作
        for run in para.runs:
            # 设置英文字体
            run.font.name = 'Calibri'
            # 设置中文字体
            run.element.rPr.rFonts.set(qn('w:eastAsia'), '宋体')
            # 设置字号大小
            run.font.size = Pt(14)
            # 设置水平居中对齐
            para.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER
 # 将修改后的文档保存为 example.docx
doc.save('example.docx')