Python中的单词自动化

MS Word 文件广泛用于创建各种类型的文档,例如发票、报告、技术文章等。文档自动化有助于用户从其 Web 或桌面门户中动态生成 Word 文档。因此,在本文中,我们将介绍如何在没有 MS Office 的情况下在 Python 中生成 Word 文档。此外,您将学习如何使用 Python 创建 DOCXDOC 文件并动态添加文本或其他元素。

用于创建 Word 文档的 Python API

为了动态创建 Word 文档,我们将使用 Aspose.Words for Python。它是一个强大的 Python 库,可让您无缝地创建和操作 MS Word 文档。您可以使用以下 pip 命令从 PyPI 将库安装到您的 Python 应用程序中。

pip install aspose-words

在 Python 中创建 Word DOCX 或 DOC 文件

以下是在 Python 中从头开始创建 Word 文档的步骤。

  • 创建 Document 类的对象。
  • 创建 DocumentBuilder 类的对象。
  • 使用 DocumentBuilder.write() 方法将文本插入文档。
  • 使用 Document.save() 方法保存 Word 文档。

以下代码示例展示了如何创建 Word DOCX 文档。

import aspose.words as aw

# 创建文档对象
doc = aw.Document()

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

# 在文档中添加文本
builder.write("Hello world!")

# 保存文件
doc.save("out.docx")

输出

创建word文档python

在 Python 中加载现有的 Word 文档

您还可以通过向 Document 构造函数提供其路径来加载现有 Word 文档。下面的代码示例演示如何加载 Word 文档。

import aspose.words as aw

# 创建文档对象
doc = aw.Document("document.docx")

# 操纵文件

# 保存文件
doc.save("out.docx")

使用 Python 在 Word 文档中插入段落

Word 文档包含段落形式的文本。因此,在本节中,我们将演示如何使用 Python 在 Word 文档中插入段落。

  • 创建 Document 类的对象。
  • 创建 DocumentBuilder 类的对象。
  • 从 Documentbuilder 对象获取字体引用并设置字体。
  • 从 Documentbuilder 对象中获取段落 fromat 的引用并设置缩进、对齐等。
  • 使用 DocumentBuilder.write() 方法将文本插入段落。
  • 使用 Document.save() 方法保存 Word 文档。

以下代码示例演示如何使用 Python 在 Word 文档中插入段落。

import aspose.words as aw

# 创建文档对象
doc = aw.Document()

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

# 创建字体
font = builder.font
font.size = 16
font.bold = True
font.name = "Arial"
font.underline = aw.Underline.DASH

# 设置段落格式
paragraphFormat = builder.paragraph_format
paragraphFormat.first_line_indent = 8
paragraphFormat.alignment = aw.ParagraphAlignment.JUSTIFY
paragraphFormat.keep_together = True

# 添加文字
builder.writeln("A whole paragraph.")

# 保存文件
doc.save("out.docx")

输出

在word文档python中创建段落

了解有关使用 Python 在 Word 文档中处理段落 的更多信息。

使用 Python 在 Word 文档中添加表格

表格是文档的组成部分,以行和列的形式显示信息。 Aspose.Words for Python 让处理表格变得非常容易。以下是使用 Python 在 Word 文档中添加表格的步骤。

  • 创建 Document 类的对象。
  • 创建 DocumentBuilder 类的对象。
  • 使用 DocumentBuilder.starttable() 方法启动表并获取对象中表的引用。
  • 使用 DocumentBuilder.insertcell() 方法插入一个单元格。
  • 使用 autofit(aw.tables.AutoFitBehavior.FIXEDCOLUMNWIDTHS) 方法设置自动拟合。
  • 设置单元格的对齐方式。
  • 使用 DocumentBuilder.write() 方法将文本插入单元格。
  • 根据需要重复将单元格和文本插入单元格。
  • 完成插入单元格时结束一行。
  • 插入所有行后的结束表。
  • 使用 Document.save() 方法保存 Word 文档。

以下代码示例展示了如何使用 Python 在 Word 文档中插入表格。

import aspose.words as aw

# 创建文档对象
doc = aw.Document()

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

# 起始表
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("This is row 1 cell 1")

# 插入单元格
builder.insert_cell()
builder.write("This is row 1 cell 2")

# 结束行
builder.end_row()

# 在下一行插入另一个单元格
builder.insert_cell()

# 如果需要,格式化行
builder.row_format.height = 100
builder.row_format.height_rule = aw.HeightRule.EXACTLY

# 格式化单元格并添加文本
builder.cell_format.orientation = aw.TextOrientation.UPWARD
builder.writeln("This is row 2 cell 1")

# insert another cell, 设置格式并添加文本
builder.insert_cell()
builder.cell_format.orientation = aw.TextOrientation.DOWNWARD
builder.writeln("This is row 2 cell 2")

# 结束行
builder.end_row()

# 茶几
builder.end_table()

# 保存文件
doc.save("out.docx")

输出

在word文档python中创建表

详细了解如何使用 Python 在 Word 文档中处理表格

使用 Python 在 Word 文档中创建列表

以下是使用 Python 在 Word 文档中创建列表的步骤。

  • 创建 Document 类的对象。
  • 创建 DocumentBuilder 类的对象。
  • 使用 DocumentBuilder.listformat.applynumberdefault() 方法设置格式。
  • 使用 DocumentBuilder.writeln(“Item 1”) 方法插入项目。
  • 使用 DocumentBuilder.writeln(“Item 2”) 方法插入第二个项目。
  • 要将项目插入到列表的下一级,请调用 DocumentBuilder.listformat.listindent() 方法并插入项目。
  • 使用 DocumentBuilder.listformat.removenumbers() 方法从列表中删除数字。
  • 使用 Document.save() 方法保存 Word 文档。

以下代码示例展示了如何使用 Python 在 Word 文档中创建列表。

import aspose.words as aw

# 创建文档对象
doc = aw.Document()

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

# 设置列表格式
builder.list_format.apply_number_default()

# 插入项目
builder.writeln("Item 1")
builder.writeln("Item 2")

# 为下一级列表设置缩进
builder.list_format.list_indent()
builder.writeln("Item 2.1")
builder.writeln("Item 2.2")

# 再次缩进到下一级
builder.list_format.list_indent()
builder.writeln("Item 2.2.1")
builder.writeln("Item 2.2.2")

# outdent 回到以前的水平
builder.list_format.list_outdent()
builder.writeln("Item 2.3")

# 再次突出以回到第一级
builder.list_format.list_outdent()
builder.writeln("Item 3")

# 删除号码
builder.list_format.remove_numbers()

# 保存文件
doc.save("out.docx")

输出

在word文档python中创建列表

阅读更多关于 使用列表 在 Word 文档中使用 Python 的信息。

使用 Python 在 Word 文档中插入图像

在处理 Word 文档时,您不能忽略图像等图形对象。那么让我们来看看如何使用 Python 在 Word 文档中动态插入图像。

  • 创建 Document 类的对象。
  • 创建 DocumentBuilder 类的对象。
  • 使用 DocumentBuilder.insertimage() 方法插入图像并将图像文件的路径作为参数传递。
  • 使用 Document.save() 方法保存 Word 文档。

以下代码示例展示了如何使用 Python 在 Word 文档中插入图像。

import aspose.words as aw

# 创建文档对象
doc = aw.Document()

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

# 添加图片
builder.insert_image("Logo.jpg")

# 保存文件
doc.save("out.docx")

输出

在word文档python中创建图像

使用 Python 在 Word 文档中创建目录

在各种情况下,Word 文档都包含目录 (TOC)。 TOC 为您提供 Word 文档内容的概览。以下步骤演示了如何使用 Python 在 Word 文档中添加目录。

  • 创建 Document 类的对象。
  • 创建 DocumentBuilder 类的对象。
  • 使用 DocumentBuilder.inserttableofcontents() 方法插入目录。
  • 使用 DocumentBuilder.insertbreak(aw.BreakType.PAGEBREAK) 方法在 TOC 之后插入分页符。
  • 添加/更新文档内容后,使用 Document.updatefields() 方法更新 TOC。
  • 使用 Document.save() 方法保存 Word 文档。

以下代码示例展示了如何使用 Python 在 Word 文档中插入目录。

import aspose.words as aw

# 创建文档对象
doc = aw.Document()

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

# 插入目录
builder.insert_table_of_contents("\\o \"1-3\" \\h \\z \\u")

# 在第二页开始实际的文档内容
builder.insert_break(aw.BreakType.PAGE_BREAK)

# 添加内容
builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING1
builder.writeln("Heading 1")

builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING2
builder.writeln("Heading 1.1")
builder.writeln("Heading 1.2")

builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING1
builder.writeln("Heading 2")
builder.writeln("Heading 3")

builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING2
builder.writeln("Heading 3.1")

builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING3
builder.writeln("Heading 3.1.1")
builder.writeln("Heading 3.1.2")
builder.writeln("Heading 3.1.3")

builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING2
builder.writeln("Heading 3.2")
builder.writeln("Heading 3.3")

# 新插入的目录最初将为空
# 它需要通过更新文档中的字段来填充
doc.update_fields()

# 保存文件
doc.save("out.docx")

输出

在word文档python中创建toc

阅读更多关于使用 Python 使用目录 的信息。

阅读更多

本文介绍了创建 Word 文档和插入不同元素的一些基本操作。 Aspose.Words for Python 还提供了许多其他功能,您可以使用 文档 进行探索。

获取免费 API 许可证

您可以获得临时许可证 以便在没有评估限制的情况下使用 Aspose.Words for Python。

结论

在本文中,您学习了如何在 Python 中创建 Word DOCX 或 DOC 文件。此外,您还了解了如何在 Word 文档中动态插入文本、图像、表格、列表和目录。您可以通过我们的 论坛 试用 API 并分享您的反馈或疑问。

也可以看看

使用 Python 将 Word 文件转换为 PDF在 Python 中自动合并 MS Word 邮件在 Python 中合并 Word 文档
比较 Python 中的 Word 文档使用 Python 在 Word 文档中处理 VBA 宏在 C# 中将 Word 文档的内容复制到另一个文档
在 Java 中将 Word 文档的内容复制到另一个文档在 Python 中将 Word 文档的内容复制到另一个文档用 Python 创建 MS PowerPoint 演示文稿
使用 Python 在 Word 文档中创建表格用C#从Word文档中提取文本用Python从Word文档中提取文本
在 Python 中查找和替换 Word 文档中的文本在 Python 中保护 Word 文档在 Python 中取消保护 Word 文档
Python中将一个Word文档拆分为多个文件

提示:Aspose 提供免费的在线 PowerPoint 到 Word 转换器,可让您快速从演示文稿创建 Word 文档。