Python 中的單詞自動化

MS Word 文件被廣泛用於創建各種類型的文檔,例如發票、報告、技術文章等。文檔自動化有助於用戶從其 Web 或桌面門戶動態生成 Word 文檔。因此,在本文中,我們將介紹如何在沒有 MS Office 的情況下使用 Python 生成 Word 文檔。此外,您將學習如何使用 Python 創建 DOCX 或 DOC 文件並向其中動態添加文本或其他元素。

用於創建 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 文檔。