对于许多使用 python 编程语言的开发人员来说,创建、读取和编辑 word 文档是一个常见需求。无论是生成报告、操作现有文档还是自动化文档创建,通过程序来处理 word 文档可以极大地提高工作效率。本文将介绍如何使用 spire.doc for python 在 python 程序中创建、读取或编辑 word 文档。
安装 spire.doc for python
本教程需要用到 spire.doc for python 和 plum-dispatch v1.7.4。可以通过以下 pip 命令将它们轻松安装到 vs code 中。
pip install spire.doc
如果您不确定如何安装,请参考本教程:如何在 vs code 中安装 spire.doc for python
用 python 新建 word 文档
spire.doc for python 提供了 document 类用于表示 word 文档模型。文档必须至少包含一个节(由 section 类表示),每个节都是各种元素(如段落、表格、图表和图像)的容器。此示例将展示如何使用 spire.doc for python 创建一个包含多个段落的简单 word 文档。
- 创建 document 类的对象。
- 使用 document.addsection() 方法添加一个节。
- 通过 section.pagesetup.margins 属性设置页边距。
- 使用 section.addparagraph() 方法在节种添加几个段落。
- 使用 paragraph.appendtext() 方法在段落种添加文本。
- 创建一个 paragraphstyle 类的对象,并使用 paragraph.applystyle() 方法将其应用到特定段落。
- 使用 document.savetofile() 方法将文档保存为 word 文件。
- python
from spire.doc import *
from spire.doc.common import *
# 创建一个 document 类的对象
doc = document()
# 添加一个节
section = doc.addsection()
# 设置页面边距
section.pagesetup.margins.all = 40
# 添加一个标题
titleparagraph = section.addparagraph()
titleparagraph.appendtext("spire.doc for python 简介")
# 添加两个段落
bodyparagraph_1 = section.addparagraph()
bodyparagraph_1.appendtext("spire.doc for python 是专为开发人员设计的专业 python 库,可在任何 python 应用程序中创建、读取、写入、转换、比较和打印 word 文档,处理速度快且质量高。")
bodyparagraph_2 = section.addparagraph()
bodyparagraph_2.appendtext("作为独立的 word python api,spire.doc for python 不需要在开发系统或目标系统上安装 microsoft word,而可以将 microsoft word 文档创建能力整合到任何 python 应用程序中。")
# 应用标题1样式到标题段落
titleparagraph.applystyle(builtinstyle.heading1)
# 创建样式用于段落
style2 = paragraphstyle(doc)
style2.name = "parastyle"
style2.characterformat.fontname = "harmonyos sans sc"
style2.characterformat.fontsize = 13
doc.styles.add(style2)
bodyparagraph_1.applystyle("parastyle")
bodyparagraph_2.applystyle("parastyle")
# 设置段落的水平对齐方式
titleparagraph.format.horizontalalignment = horizontalalignment.center
bodyparagraph_1.format.horizontalalignment = horizontalalignment.left
bodyparagraph_2.format.horizontalalignment = horizontalalignment.left
# 设置段落之间的间距
titleparagraph.format.afterspacing = 10
bodyparagraph_1.format.afterspacing = 10
# 保存到文件
doc.savetofile("output/word文档.docx", fileformat.docx2019)
用 python 读取 word 文档
使用 document.gettext() 方法即可直接提取出 word 文档中的所有文本内容。以下是详细操作步骤。
- 创建一个 document 类的对象。
- 使用 document.loadfromfile() 方法加载 word 文档。
- 使用 document.gettext() 方法从整个文档中获取文本。
- python
from spire.doc import *
from spire.doc.common import *
# 创建一个 document 类的对象
doc = document()
# 加载一个 word 文件
doc.loadfromfile("output/word文档.docx")
# 从整个文档中获取文本
text = doc.gettext()
# 打印文本
print(text)
用 python 编辑 word 文档
spire.doc for python 提供的 section.paragraphs[index] 属性可以获取 word 文档中的指定段落。如果要修改段落的文本,则可以通过 paragraph.text 属性为段落重新分配文本。以下是详细操作步骤。
- 创建 document 类的对象。
- 使用 document.loadfromfile() 方法加载 word 文档。
- 通过 document.sections[index] 属性获取指定节。
- 通过 section.paragraphs[index] 属性获取指定段落。
- 通过 paragraph.text 属性更改段落文本。
- 使用 document.savetofile() 方法将文档保存到另一个 word 文件。
- python
from spire.doc import *
from spire.doc.common import *
# 创建一个 document 对象
doc = document()
# 加载一个 word 文件
doc.loadfromfile("output/word文档.docx")
# 获取特定的章节
section = doc.sections[0]
# 获取特定的段落
paragraph = section.paragraphs[1]
# 更改段落的文本
paragraph.text = "标题已更改"
# 保存到文件
doc.savetofile("output/编辑word文档.docx", fileformat.docx2019)
申请临时 license
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用javascript。获取有效期 30 天的临时许可证。