![Python中的单词自动化](images/C-Word-Automation.png#center)
MS Word 文件广泛用于创建各种类型的文档,例如发票、报告、技术文章等。文档自动化有助于用户从其 Web 或桌面门户中动态生成 Word 文档。因此,在本文中,我们将介绍如何在没有 MS Office 的情况下在 Python 中生成 Word 文档。此外,您将学习如何使用 Python 创建 DOCX 或 DOC 文件并动态添加文本或其他元素。
- 用于创建 Word 文档的 Python API
- 在 Python 中创建 Word DOCX/DOC 文件
- 加载现有的 Word 文档
- 在 Word 文档中插入段落
- 在 Word 文档中添加表格
- 在 Word DOCX/DOC 文件中添加列表
- 在 Word 文档中插入图像
- 在 Word 文件中添加目录
用于创建 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](images/create-word-document.jpg#center)
在 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中创建段落](images/add-paragraph.jpg#center)
了解有关使用 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中创建表](images/add-table.jpg#center)
详细了解如何使用 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中创建列表](images/add-list.jpg#center)
阅读更多关于 使用列表 在 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中创建图像](images/add-image.jpg#center)
使用 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](images/add-toc.jpg#center)
阅读更多关于使用 Python 使用目录 的信息。
阅读更多
本文介绍了创建 Word 文档和插入不同元素的一些基本操作。 Aspose.Words for Python 还提供了许多其他功能,您可以使用 文档 进行探索。
获取免费 API 许可证
您可以获得临时许可证 以便在没有评估限制的情况下使用 Aspose.Words for Python。
结论
在本文中,您学习了如何在 Python 中创建 Word DOCX 或 DOC 文件。此外,您还了解了如何在 Word 文档中动态插入文本、图像、表格、列表和目录。您可以通过我们的 论坛 试用 API 并分享您的反馈或疑问。
也可以看看
提示:Aspose 提供免费的在线 PowerPoint 到 Word 转换器,可让您快速从演示文稿创建 Word 文档。