使用python 将多个docx文件合并为一个word

先安装python环境

接着安装依赖 ,采用docxcompose 依赖包 进行合并word,执行如下命令进行安装

python 复制代码
pip install docxcompose
python 复制代码
from docxcompose.composer import Composer
from docx import Document
import os

def merge_with_docxcompose(doc_list, output_path):
    master = Document(doc_list[0])
    composer = Composer(master)
    
    for doc_path in doc_list[1:]:
        doc = Document(doc_path)
        composer.append(doc)
    
    composer.save(output_path)
	
	
# 定义包含所有需要合并的Word文档路径的列表
documents_to_merge = []
document_dir = './file3'
# 检查目录是否存在
if not os.path.exists(document_dir):
    raise FileNotFoundError(f"目录 {document_dir} 不存在")

# 获取所有.docx文件
for file in sorted(os.listdir(document_dir)):

    if file.endswith('.docx'):
        full_path = os.path.join(document_dir, file)
        documents_to_merge.append(full_path)

if not documents_to_merge:
    raise ValueError("没有找到任何.docx文件进行合并")

output_file = 'merged_document5.docx'
# merge_documents(documents_to_merge, output_file)
merge_with_docxcompose(documents_to_merge, output_file)
print(f"文档已成功合并到 {output_file}")

代码说明: document_dir 是 要合并的文件目录 ;output_file 是合成后的文件 。

依赖包对比: 使用 python-docx 进行合并时, 图片无法合并到新文档中, 使用docxcompose 图片可合并到新文档中。

如果还无法解决实际需求 可考虑

  1. 先将每个文档转为 PDF(使用 python-docx2pdf

  2. 合并 PDF(使用 PyPDF2

  3. 再将合并后的 PDF 转回 Word(如果需要)

相关推荐
潇洒畅想几秒前
1.1 从∑到∫:用循环理解求和与累积
java·数据结构·python·算法
爱学习的小囧2 分钟前
VCF 9 实验室网络部署全攻略:从硬件连接到配置实操
开发语言·网络·php
有一个好名字2 分钟前
Claude Code 50+命令全解析
python
liliangcsdn13 分钟前
LLM如何与mcp server交互示例
linux·开发语言·python
Lupino14 分钟前
拯救迷失的荧光溶解氧传感器:从“三无”到“复活”的全记录
python
军军君0119 分钟前
Three.js基础功能学习十五:智能黑板实现实例二
开发语言·前端·javascript·vue.js·3d·threejs·三维
维齐洛波奇特利(male)22 分钟前
@Pointcut(“execution(* com.hdzx..*(..))“)切入点与aop 导致无限循环
java·开发语言
xcjbqd029 分钟前
SQL中视图能否嵌套存储过程_实现复杂自动化报表逻辑
jvm·数据库·python
ZC跨境爬虫30 分钟前
海南大学交友平台开发实战day7(实现核心匹配算法+解决JSON请求报错问题)
前端·python·算法·html·json
来日可期131432 分钟前
C/C++ 反常识记录(1)—— 那些容易踩坑的语法细节
c语言·开发语言·c++