• python-docx 是一个用于处理 .docx 文件的 Python 库。它允许你创建、修改和操作 Word 文档。python-docx 支持添加文本、样式设置、图片插入等多种功能,并且可以用来读取现有文档的内容。
    官方文档 https://python-docx.readthedocs.io/en/latest/

https://blog.csdn.net/hwwaizs/article/details/121186150

  • Spire.Doc
    更多功能的组件
    Spire.Doc for Python 是一款专业的 Python Word 开发组件,开发人员可以使用它轻松将 Word 文档的创建、读取、编辑和转换等功能集成到自己的 Python 应用程序中。作为一款完全独立的组件,Spire.Doc for Python 的运行环境无需安装 Microsoft Word。同时兼容大部分国产操作系统,能够在中标麒麟和中科方德等国产操作系统中正常运行。

https://www.e-iceblue.cn/Introduce/Spire-Doc-Python.html
https://www.e-iceblue.cn/doc_python_textbox/python-add-or-remove-textboxes-in-a-word-document.html

安装

pip install python-docx

demo

from docx import Document

doc = Document()  # 创建一个新的文档对象
doc.add_paragraph('Hello, world!')  # 添加一个段落
doc.save('hello_world.docx')  # 保存文档

打开现有文档并添加内容

doc = Document('existing_doc.docx')  # 打开一个现有文档
doc.add_paragraph('This is a new paragraph.')  # 在文档末尾添加一个新段落
doc.save('existing_doc.docx')  # 保存文档

读取文档内容

doc = Document('example.docx')
for para in doc.paragraphs:
    print(para.text)

中文字体设置无效问题的解决方案

#全局
doc = docx.Document()
doc.styles['Normal'].font.name = '宋体'
doc.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), '宋体') 

# 段落设置
p1 = doc.add_paragraph()
run = p1.add_run('这里是测试文字')
run.font.name = '黑体'  
run.element.rPr.rFonts.set(qn('w:eastAsia'), '黑体')