概述
合并 Word 文档是在许多应用程序中常见的需求,无论是为了合并报告、整合信息还是简化文档管理。在本文中,我们将探讨如何使用 Python 通过 GroupDocs.Merger 库合并 DOCX 文件。这个强大的库允许开发人员轻松地以编程方式操作 Word 文档,同时确保高性能和准确性。
本指南将涵盖:
如何合并多个 DOCX 文件
使用 GroupDocs.Merger 库合并多个 DOCX 文件非常简单。以下是该过程中的关键步骤:
- 导入 GroupDocs.Merger 包:首先导入所需的库。
- 创建 Merger 实例:使用第一个 DOCX 文件路径实例化 Merger 类。
- 加入其他文档:使用
join
方法添加您想要合并的其他 DOCX 文件。 - 保存合并文档:最后,调用
save
方法将合并后的文档写入指定的输出路径。
以下是演示这些步骤的 Python 代码片段:
import groupdocs.merger as gm
import constants
def run():
print(f"----------------------------------------------------------------------------")
print(f"[示例基本用法] # 多文档操作 # 合并 : Docx")
# 第一步:使用第一个文档创建 Merger 对象
with gm.Merger(constants.sample_docx) as merger:
print(f"文档信息成功获取")
# 第二步:加入另一个要合并的 DOCX 文件
merger.join(constants.sample_docx)
# 第三步:保存合并文档
merger.save(constants.output_docx)
print(f"合并到: {constants.output_docx}")
print(f"----------------------------------------------------------------------------")
在没有分节符的情况下合并 DOCX 文档
有时,合并文档需要将内容连接而不插入分节符。这有助于在合并的文档之间保持信息的流动。
- 创建 Merger 实例:与之前一样,初始化 Merger 类。
- 设置合并选项:定义
WordJoinOptions
并将mode
设置为DISABLE_SECTION_BREAKS
。 - 合并文档:添加额外的文档以进行合并。
- 保存结果:将最终输出写入新的 DOCX 文件。
以下是您可以这样做的示例:
import groupdocs.merger as gm
import constants
def run():
print(f"----------------------------------------------------------------------------")
print(f"[示例基本用法] # 多文档操作 # 合并 # Word : 在没有分节符的情况下合并 Word 文档")
# 第一步:使用源文档创建 Merger 对象
with gm.Merger(constants.sample_doc) as merger:
print(f"文档信息成功获取")
# 第二步:定义 Word 合并选项以禁用分节符
word_join_options = gm.domain.options.WordJoinOptions()
word_join_options.mode = gm.domain.options.WordJoinMode.DISABLE_SECTION_BREAKS
# 第三步:合并文档而不插入分节符
merger.join(constants.sample_doc, word_join_options)
# 第四步:保存合并文档
merger.save(constants.output_doc_without_section_breaks)
print(f"合并到: {constants.output_doc_without_section_breaks}")
print(f"----------------------------------------------------------------------------")
使用预定义合规模式合并 DOCX 文档
在特定用例中,文档可能需要符合某些标准。GroupDocs.Merger 允许您使用预定义的合规模式合并文档,以确保输出符合 ISO 标准等要求。
- 创建 Merger 实例:使用您的基本文档初始化 Merger 类。
- 设置合规模式:创建
WordJoinOptions
对象并设置compliance
属性。 - 合并文档:使用加入方法添加额外文档。
- 保存最终文档:将其保存到您想要的输出位置。
以下是此操作的代码:
import groupdocs.merger as gm
import constants
def run():
print(f"----------------------------------------------------------------------------")
print(f"[示例基本用法] # 多文档操作 # 合并 # Word : 使用预定义合规模式合并 Word 文档")
# 第一步:使用文档创建 Merger 对象
with gm.Merger(constants.sample_docx) as merger:
print(f"文档信息成功获取")
# 第二步:定义带有预定义合规模式的 Word 合并选项
word_join_options = gm.domain.options.WordJoinOptions()
word_join_options.compliance = gm.domain.options.WordJoinCompliance.ISO_29500_2008_STRICT
# 第三步:使用合规模式加入另一个文档
merger.join(constants.sample_docx, word_join_options)
# 第四步:保存合并文档
merger.save(constants.output_docx_with_predefined_compliance_mode)
print(f"合并到: {constants.output_docx_with_predefined_compliance_mode}")
print(f"----------------------------------------------------------------------------")
如何从流中合并 DOCX
您还可以从内存中的流中合并 DOCX 文件,这在处理动态生成的文档时非常有用。
- 获取文件流:以二进制模式打开文档以获取流。
- 创建 Merger 实例:使用流实例化
Merger
类。 - 执行合并操作:根据需要合并并保存输出。
以下是您可以实现的示例:
from turtle import update
import groupdocs.merger as gm
import constants
def run():
print(f"----------------------------------------------------------------------------")
print(f"[示例高级用法] # 加载 # 从流中加载文档")
# 第一步:获取文档流
stream = get_file_stream()
# 第二步:使用流创建 Merger 实例
with gm.Merger(stream) as merger:
print(f"文档成功从流中加载")
print(f"----------------------------------------------------------------------------")
def get_file_stream():
file_path = constants.sample_docx
return open(file_path, "rb")
另见
有关更多详细信息,您可以查看以下资源:
您还可以从 releases.groupdocs.com 下载免费试用版,并在 购买临时许可证 中获取临时许可证,以无限制地尝试该库。
代码示例
以下是一些附加示例,帮助您理解如何使用 GroupDocs.Merger 库在 Python 中进行合并:
合并 Word 文档而不从新页面开始
此示例演示如何合并文档,以使第一文档的最后一页直接跟随下一文档的第一页,而不会在两者之间插入任何新页面。
import groupdocs.merger as gm
import constants
def run():
print(f"----------------------------------------------------------------------------")
print(f"[示例基本用法] # 多文档操作 # 合并 # Word : 合并文档而不从新页面开始")
# 第一步:使用文档创建 Merger 对象
with gm.Merger(constants.sample_doc) as merger:
print(f"文档信息成功获取")
# 第二步:定义 Word 合并选项以进行连续模式
word_join_options = gm.domain.options.WordJoinOptions()
word_join_options.mode = gm.domain.options.WordJoinMode.CONTINUOUS
# 第三步:合并文档而不插入新页面
merger.join(constants.sample_doc, word_join_options)
# 第四步:保存合并文档
merger.save(constants.output_doc_without_starting_from_new_page)
print(f"合并到: {constants.output_doc_without_starting_from_new_page}")
print(f"----------------------------------------------------------------------------")
使用自定义合并选项合并多个文档
以下示例演示如何在设置特定合并选项的情况下合并 DOCX 文档,例如符合特定 ISO 标准的合规性。
import groupdocs.merger as gm
import constants
def run():
print(f"----------------------------------------------------------------------------")
print(f"[示例高级用法] # 使用自定义合并选项")
# 第一步:使用基本文档创建 Merger 对象
with gm.Merger(constants.sample_docx) as merger:
print(f"文档信息成功获取")
# 第二步:设置带有预定义合规模式的自定义合并选项
word_join_options = gm.domain.options.WordJoinOptions()
word_join_options.compliance = gm.domain.options.WordJoinCompliance.ISO_29500_2008_STRICT
# 第三步:使用合规设置合并另一个文档
merger.join(constants.sample_docx, word_join_options)
# 第四步:保存合并文档
merger.save(constants.output_docx_with_predefined_compliance_mode)
print(f"合并到: {constants.output_docx_with_predefined_compliance_mode}")
print(f"----------------------------------------------------------------------------")
另见
要进一步了解 GroupDocs.Merger 及其功能,您可以查看以下资源:
- GroupDocs.Merger for Python 文档
- GroupDocs.Merger 的 API 参考
- GroupDocs.Merger 的 GitHub 代码示例
- GroupDocs.Merger 的版本页面
免费试用和临时许可证
您可以从我们的 版本页面 下载 GroupDocs.Merger 的免费试用版。此外,您可以在 购买临时许可证 中获取用于评估的临时许可证。此临时许可证允许您在没有任何限制的情况下尝试该库,并全面评估其能力。