Python 如何合并多个Word文档

发布时间:2024年01月19日

合并Word文档可以将相关的内容集中在一起,以便更好地组织和整理信息。以下将介绍如何使用Python通过编程合并Word文档,实现批量处理文档和自动化效果。

合并Word文档的Python库

在Python中合并多个Word文档需要用到Spire.Doc for Python库,可以通过以下pip命令来安装:

pip install Spire.Doc

两种合并方法简介

Spire.Doc for Python提供以下两种合并Word文档的方法

1. 通过插入文件来合并Word文档:

先加载一个Word文档,然后使用Document.insertTextFromFile(filename, fileFormat)?方法将其他 Word 文档直接插入到当前文档中。使用该方法合并Word文档时,插入的文档默认从新的一页开始显示。

2. 通过复制内容合并 Word 文档:

加载一个Word文档并获取其最后一节(section),然后遍历其余文档各节中的所有子对象,并将它们复制添加当前文档末尾。使用该方法合并Word文档时,各文档将紧接上一个文档的末尾。

代码示例1:从新一页开始合并Word文档

from spire.doc import *
from spire.doc.common import *

# 创建Document对象
doc = Document()

#加载一个 Word 文档
doc.LoadFromFile("合并1.docx")

# 将需合并的Word文档的内容插入到当前文档中
doc.InsertTextFromFile("合并2.docx", FileFormat.Auto)
doc.InsertTextFromFile("合并3.docx", FileFormat.Auto)

# 保存生成文档
doc.SaveToFile("合并Word文档.docx")
doc.Close()

?合并后的Word文档:

?

代码示例2:紧接第1个文档末尾开始合并Word文档

from spire.doc import *
from spire.doc.common import *

# 加载第一个Word文档
doc1 = Document()
doc1.LoadFromFile("合并1.docx")

# 将其余要合并的Word文档添加到列表中
files = []
files.append("合并2.docx")
files.append("合并3.docx")

# 获取第一个文档的最后一个节
lastSection = doc1.Sections.get_Item(doc1.Sections.Count - 1)

# 遍历列表中的文档
for file in files:
    doc = Document()
    doc.LoadFromFile(file)

    # 遍历每个文档中的各个节
    for i in range(doc.Sections.Count):
        section = doc.Sections.get_Item(i)

        # 遍历各个节中的子对象
        for j in range(section.Body.ChildObjects.Count):
            obj = section.Body.ChildObjects.get_Item(j)
            
            # 将每个文档中的子对象添加到第一个文档的最后一个节中
            lastSection.Body.ChildObjects.Add(obj.Clone())

# 保存合并后的文档
doc1.SaveToFile("合并Word文档2.docx")
doc1.Close()
doc.Close()

合并效果:


以上示例代码介绍了两种使用Python合并Word文档的方法,适用于不同的需求场景。如果还想在Python中实现生成、编辑、转换Word文档等操作,可点击查看:

Spire.Doc for Python库的功能示例icon-default.png?t=N7T8https://www.e-iceblue.cn/docforpython/spire-doc-for-python-program-guide-content.html

文章来源:https://blog.csdn.net/Eiceblue/article/details/135696306
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。