对于许多使用 Python 编程语言的开发人员来说,创建、读取和编辑 Word 文档是一个常见需求。无论是生成报告、操作现有文档还是自动化文档创建,通过程序来处理 Word 文档可以极大地提高工作效率。本文将介绍如何使用 Spire.Doc for Python 在 Python 程序中创建、读取或编辑 Word 文档。
安装 Spire.Doc for Python
本教程需要用到 Spire.Doc for Python 和 plum-dispatch v1.7.4。可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.Doc
如果您不确定如何安装,请参考此教程:如何在 Windows 中安装 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 天的临时许可证。