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 文檔的步驟。

  • 創建文檔類的對象。
  • 創建 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")

輸出

python創建word文檔

在 Python 中加載現有的 Word 文檔

您還可以通過向 Document 構造函數提供其路徑來加載現有的 Word 文檔。以下代碼示例顯示瞭如何加載 Word 文檔。

import aspose.words as aw

# 創建文檔對象
doc = aw.Document("document.docx")

# 操縱文件

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

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

Word 文檔包含段落形式的文本。因此,在本節中,我們將演示如何使用 Python 將段落插入到 Word 文檔中。

  • 創建文檔類的對象。
  • 創建 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 文檔中添加表格的步驟。

  • 創建文檔類的對象。
  • 創建 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 文檔中創建列表的步驟。

  • 創建文檔類的對象。
  • 創建 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中創建列表

閱讀有關使用 Python 在 Word 文檔中使用列表 的更多信息。

使用 Python 在 Word 文檔中插入圖像

在處理 Word 文檔時,您不能忽略圖像等圖形對象。因此,讓我們看一下如何使用 Python 在 Word 文檔中動態插入圖像。

  • 創建文檔類的對象。
  • 創建 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 文檔中添加目錄。

  • 創建文檔類的對象。
  • 創建 DocumentBuilder 類的對象。
  • 使用 DocumentBuilder.inserttableofcontents() 方法插入目錄。
  • 使用 DocumentBuilder.insertbreak(aw.BreakType.PAGEBREAK) 方法在 TOC 之後插入分頁符。
  • 添加/更新文檔內容後,使用 Document.updatefields() 方法更新目錄。
  • 使用 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 to Word 轉換器,可讓您快速從演示文稿創建 Word 文檔。