在 Python 中將 Word 文檔拆分為多個文件

在某些情況下,您需要通過將大型 Word 文檔分解為較小的文檔來拆分它們。您可以按頁、節或列拆分 Word 文檔。在本文中,您將學習如何使用 Python 將一個 Word 文檔拆分為多個文件。分步指南和代碼示例將演示如何以編程方式按部分、頁面或頁面範圍拆分 Word 文檔。

用於拆分 MS Word 文檔的 Python 庫

要將 DOCX 或 DOC 文檔拆分為多個文件,我們將使用 Aspose.Words for Python。它是一個用於創建和操作 Word 文檔的文字處理庫。您可以使用以下 pip 命令從 PyPI 將其安裝到您的 Python 應用程序中。

pip install aspose-words 

在 Python 中按部分拆分 Word 文檔

在大多數情況下,Word 文檔使用分節符分為多個部分。要將每個部分保存到單獨的文件中,您可以按部分拆分文檔。以下步驟演示瞭如何在 Python 中按部分拆分 Word 文檔。

  • 使用 Document 類加載 Word 文檔。
  • 遍歷 Document.sections 集合中的每個部分。
  • 對於集合中的每個部分,執行以下步驟:
    • 創建 Document 類的新對象。
    • 使用 Document.sections.clear() 方法清除默認部分。
    • 使用 Document.importnode(Section, True).assection() 方法將節導入新文檔,並在對像中獲取返回的節。
    • 將返回的部分添加到新文檔的部分集合中。
    • 使用 Document.save(string) 方法將新文檔保存為 DOCX 文件。

以下代碼示例顯示瞭如何在 Python 中按部分拆分 Word 文檔。

import aspose.words as aw

# 加載Word文檔
doc = aw.Document("document.docx")

for i in range(0, doc.sections.count) :
            
    # 克隆要拆分的部分
    section = doc.sections[i].clone()

    # 為新文檔創建文檔類的實例
    newDoc = aw.Document()
    
    # 清除默認部分
    newDoc.sections.clear()

    # 將部分插入到新文檔中
    newSection = newDoc.import_node(section, True).as_section()
    newDoc.sections.add(newSection)

    # 將部分另存為單獨的文檔
    newDoc.save(f"split_by_sections_{i}.docx")

在 Python 中按頁拆分 Word 文檔

現在,讓我們看看如何拆分文檔的每一頁並將其另存為單獨的 DOCX 文件。以下是按頁拆分 Word 文檔的步驟。

  • 使用 Document 類加載 Word 文檔。

  • 使用 Document.pagecount 屬性獲取文檔中的頁數。

  • 遍歷頁數並在每次迭代中執行以下步驟:

    • 使用 Document.extractpages(pageIndex, 1) 方法將頁面提取到對像中。

    • 使用 Document.save(string) 方法將提取的頁面保存為 DOCX 文件。

以下代碼示例顯示瞭如何按頁拆分 Word 文檔。

import aspose.words as aw

# 加載Word文檔
doc = aw.Document("document.docx")

# 獲取頁數
pageCount = doc.page_count

# 循環瀏覽頁面
for page in range(0, pageCount):
  
    # 將每一頁保存為單獨的文檔
    extractedPage = doc.extract_pages(page, 1)
    extractedPage.save(f"split_by_page_{page + 1}.docx")

在 Python 中按頁面範圍拆分 Word 文檔

您還可以拆分 Word 文檔中的一系列頁面並將其另存為單獨的文件。以下是在 Python 中實現此目的的步驟。

  • 使用 Document 類加載 Word 文檔。
  • 使用 Document.extractpages(int, int) 方法提取頁面,其中第一個參數是起始頁面的索引,第二個參數是頁數。
  • 使用 Document.save(string) 方法將提取的頁面範圍保存為 DOCX 文件。

以下代碼示例顯示如何從 Word 文檔中提取一系列頁面並將其另存為 DOCX 文件。

import aspose.words as aw

# 加載Word文檔
doc = aw.Document("document.docx")

# 提取頁面範圍
extractedPages = doc.extract_pages(3, 6)

# 將頁面保存為單獨的文檔
extractedPages.save("split_by_page_range.docx")

獲取免費的 API 許可證

您有興趣免費試用 Aspose.Words for Python 嗎? 獲取臨時許可證 以避免評估限制。

結論

在本文中,您學習瞭如何在 Python 中將一個 Word 文檔拆分為多個文檔。代碼示例演示瞭如何按部分、頁面或頁面範圍拆分 Word 文檔。 Aspose.Words for Python 還提供了許多令人興奮的功能,您可以使用 文檔 探索這些功能。此外,您可以將您的問題發佈到我們的論壇

也可以看看