
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 文檔的步驟。
- 創建文檔類的對象。
- 創建 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 文檔
您還可以通過向 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")
輸出

詳細了解如何使用 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")
輸出

詳細了解如何使用 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")
輸出

閱讀有關使用 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")
輸出

使用 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")
輸出

閱讀有關使用 Python 處理目錄 的更多信息。
閱讀更多
本文介紹了創建Word文檔和插入不同元素的一些基本操作。 Aspose.Words for Python 還提供了一系列其他功能,您可以使用 文檔 進行探索。
獲取免費的 API 許可證
您可以獲得臨時許可,以便在沒有評估限制的情況下使用 Aspose.Words for Python。
結論
在本文中,您學習瞭如何在 Python 中創建 Word DOCX 或 DOC 文件。此外,您還了解瞭如何在 Word 文檔中動態插入文本、圖像、表格、列表和目錄。您可以試用 API 並通過我們的 論壇 分享您的反饋或疑問。
也可以看看
提示:Aspose 提供免費的在線 PowerPoint to Word 轉換器,可讓您快速從演示文稿創建 Word 文檔。