Python 文字自动化

我们可以自动化 MS Word 来创建新的 Word 文档(DOCDOCX),编辑或修改现有文档,或将它们转换为其他格式,而无需使用 Microsoft Office。 Python MS Word 自动化允许以编程方式执行我们可以通过 MS Word 的用户界面执行的所有操作。在本文中,我们将学习如何使用 Python 自动化 MS Word 以创建、编辑或转换 Word 文档。

本文涵盖了使用 Python 以编程方式生成和操作 Word 文档所需的所有基本功能。本文包括以下主题:

用于创建、编辑或转换 Word 文档的 Python MS Word 自动化 API

为了自动化 Word,我们将使用 Aspose.Words for Python API。它是一个完整且功能丰富的 Word 自动化解决方案,用于以编程方式创建、编辑或分析 Word 文档。 API 的 Document 类表示一个 Word 文档。 API 提供了 DocumentBuilder 类,该类提供了在文档中插入文本、图像和其他内容的各种方法。此类还允许指定字体、段落和部分格式。 API 的 Run 类表示一系列具有相同字体格式的字符。请使用以下 pip 命令从 PyPI 将库安装到您的 Python 应用程序中。

pip install aspose-words

使用 Python 创建 Word 文档

我们可以按照以下步骤以编程方式创建 Word 文档:

  • 首先,创建 Document 类的实例。
  • 接下来,使用 Document 对象作为参数创建 DocumentBuilder 类的实例。
  • 之后,使用 DocumentBuilder 对象插入/写入元素以添加一些文本、段落、表格或图像。
  • 最后,使用输出文件路径作为参数调用 save() 方法来保存创建的文件。

以下代码示例展示了如何使用 Python 创建 Word 文档 (DOCX)。

import aspose.words as aw

# 此代码示例演示如何使用 Python 创建新的 Word 文档。
# 创建文档对象
doc = aw.Document()

# 创建文档构建器对象
builder = aw.DocumentBuilder(doc)

# 指定字体格式
font = builder.font
font.size = 32
font.bold = True
font.name = "Arial"
font.underline = aw.Underline.SINGLE

# 插入文本
builder.writeln("Welcome")
builder.writeln()

# 设置段落格式
font.size = 14
font.bold = False
font.name = "Arial"
font.underline = aw.Underline.NONE

paragraphFormat = builder.paragraph_format
paragraphFormat.first_line_indent = 8
paragraphFormat.alignment = aw.ParagraphAlignment.JUSTIFY
paragraphFormat.keep_together = True

# 插入段落
builder.writeln('''Aspose.Words for Python is a class library that enables your applications to perform a great range of document processing tasks. 
    It supports most of the popular document formats such as DOC, DOCX, RTF, HTML, Markdown, PDF, XPS, EPUB, and others. 
    With the API, you can generate, modify, convert, render, and print documents without third-party applications or Office Automation.
''')
builder.writeln()

# 插入表格
font.bold = True
builder.writeln("This is a sample table")
font.bold = False

# 起始表
table = builder.start_table()

# 插入单元格
builder.insert_cell()
table.auto_fit(aw.tables.AutoFitBehavior.AUTO_FIT_TO_CONTENTS)

# 设置格式并添加文本
builder.cell_format.vertical_alignment = aw.tables.CellVerticalAlignment.CENTER

builder.write("Row 1 cell 1")
builder.insert_cell()
builder.write("Row 1 cell 2")
builder.end_row()

builder.insert_cell()
builder.write("Row 2 cell 1")
builder.insert_cell()
builder.write("Row 2 cell 2")
builder.end_row()

# 茶几
builder.end_table()
builder.writeln()

# 插入图片
builder.insert_image("C:\\Files\\aspose-icon.png")

# 保存文档
doc.save("C:\\Files\\sample_output.docx")
创建 Word 文档

使用 Python 创建 Word 文档。

使用 Python 编辑或修改 Word 文档

在上一节中,我们创建了一个 Word 文档。现在,让我们编辑它并更改文档的内容。我们可以按照以下步骤编辑Word文档:

  • 首先,使用 Document 类加载现有的 Word 文档。
  • 接下来,通过索引访问特定部分。
  • 然后,将第一段内容作为 Run 类的对象访问。
  • 之后,为访问的段落设置要更新的文本。
  • 最后,使用输出文件路径调用 save() 方法来保存更新的文件。

以下代码示例展示了如何使用 Python 编辑 Word 文档 (DOCX)。

import aspose.words as aw

# 此代码示例演示如何编辑现有 Word 文档。
# 加载文档
doc = aw.Document("C:\\Files\\sample_output.docx")

# 初始化文档构建器
builder = aw.DocumentBuilder(doc)

# 访问段落
paragraph = doc.sections[0].body.paragraphs[0].runs[0]
paragraph.text = "This is an updated text!"

# 保存文档
doc.save("C:\\Files\\sample_updated.docx")
编辑或修改 Word 文档

使用 Python 编辑或修改 Word 文档。

使用 Python 查找和替换 Word 文档中的文本

我们还可以按照以下步骤查找任何文本并将其替换为新文本:

  • 首先,使用 Document 类加载一个 Word 文档。
  • 接下来,创建 FindReplaceOptions 类的实例。
  • 之后,调用 replace() 方法。它将搜索字符串、替换字符串和 FindReplaceOptions 对象作为参数。
  • 最后,使用输出文件路径调用 save() 方法来保存更新的文件。

以下代码示例展示了如何使用 Python 在 Word 文档 (DOCX) 中查找和替换特定文本。

import aspose.words as aw

# 此代码示例演示如何在 Word 文档中查找和替换文本。
# 加载文档
doc = aw.Document("C:\\Files\\sample_output.docx")

# 使用查找和替换进行更新
# 使用 Replace 方法指定搜索字符串和替换字符串。
doc.range.replace("Aspose.Words", "Hello", 
    aw.replacing.FindReplaceOptions(aw.replacing.FindReplaceDirection.FORWARD))

# 保存文档
doc.save("C:\\Files\\find_and_replace.docx")
在 Word 文档中查找和替换文本

在 Word 文档中查找和替换文本。

使用 Python 转换 Word 文档

我们可以将 Word 文档转换为其他格式,例如 PDF、XPS、EPUB、HTML、JPG、PNG 等。请按照以下步骤将 Word 文档转换为 HTML 网页:

  • 首先,使用 Document 类加载一个 Word 文档。
  • 接下来,使用 Document 对象作为参数创建 HtmlSaveOptions 类的实例。
  • 之后,指定 cssstylesheettype、exportfontresources、resourcefolder 和 alias 属性。
  • 最后,使用输出文件路径和 HtmlSaveOptions 对象作为参数调用 save() 方法来保存转换后的 HTML 文件。

以下代码示例展示了如何使用 Python 将 Word 文档 (DOCX) 转换为 HTML。

import aspose.words as aw

# 此代码示例演示如何将 Word 文档转换为 PDF。
# 加载现有的 Word 文档
doc = aw.Document("C:\\Files\\sample_output.docx")

# 指定保存选项
saveOptions = aw.saving.HtmlSaveOptions()
saveOptions.css_style_sheet_type = aw.saving.CssStyleSheetType.EXTERNAL
saveOptions.export_font_resources = True
saveOptions.resource_folder = "C:\\Files\\Resources"
saveOptions.resource_folder_alias = "C:/Files/resources"

# 保存转换后的文档
doc.save("C:\\Files\\Converted.html", saveOptions)
Convert Word Documents using Python.

同样,我们也可以将 Word 文档转换为其他支持的格式。请在文档中阅读更多关于如何将 Word 转 EPUBWord 转 PDFWord 文档转 MarkdownWord 转 JPG 或 PNG 图像 的信息.

使用 Python 解析 Word 文档

我们可以按照以下步骤解析 Word 文档并将内容提取为纯文本:

  • 首先,使用 Document 类加载一个 Word 文档。
  • 接下来,提取并打印文本。
  • 最后,调用 save() 方法将 Word 文档保存为文本文件。此方法将输出文件的路径作为参数。

以下代码示例展示了如何使用 Python 解析 Word 文档 (DOCX)。

import aspose.words as aw

# 此代码示例演示如何分析 Word 文档。
# 加载文档
doc = aw.Document("C:\\Files\\Sample.docx")

# 提取文本
print(doc.range.text)

# 另存为纯文本
doc.save("C:\\Files\\output.txt")

获得免费许可证

您可以获得免费的临时许可证 试用该库而不受评估限制。

结论

在本文中,我们学习了如何:

  • 使用 Python 自动化 MS Word;
  • 以编程方式创建和编辑 Word 文档;
  • 解析或转换 DOCX 文件;
  • 使用 Python 查找和替换 Word 文档中的文本。

此外,您可以使用 documentation 了解有关 Aspose.Words for Python API 的更多信息。如有任何歧义,请随时在 论坛 上与我们联系。

也可以看看