在 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()

    # 为新文档创建 Document 类的实例
    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 还提供了许多令人兴奋的功能,您可以使用 文档 探索这些功能。此外,您可以将您的问题发布到我们的 论坛

也可以看看