在 Python 中合并多个 Word 文档(.docx)可以使用 python-docx 库。这个库允许你读取、修改和创建 Word 文档。
首先,确保你已经安装了 python-docx 库。如果没有安装,可以使用以下命令安装:
python
pip install python-docx
然后,你可以使用以下代码来合并多个 Word 文档:
python
from docx import Document
from docx.shared import Pt
def combine_docs(doc_list, output_path):
# 创建一个新的文档对象
combined_doc = Document()
# 遍历文档列表
for doc_path in doc_list:
# 打开现有的文档
doc = Document(doc_path)
# 将每个文档的所有元素(段落、表格、图片等)添加到新的文档中
for element in doc.element.body:
combined_doc.element.body.append(element)
# 可选:调整段落格式,例如设置段间距
for paragraph in combined_doc.paragraphs:
# 设置段前和段后间距(可选)
p = paragraph._element
p.pr.spacingBefore = Pt(12) # 段前间距
p.pr.spacingAfter = Pt(12) # 段后间距
# 保存合并后的文档
combined_doc.save(output_path)
if __name__ == "__main__":
# 文档列表,包含需要合并的文档路径
doc_files = ['doc1.docx', 'doc2.docx', 'doc3.docx']
# 输出文件路径
output_file = 'combined.docx'
# 合并文档
combine_docs(doc_files, output_file)
print(f"Documents combined successfully and saved as {output_file}")
注意事项
文档格式:上述代码假设所有输入的 Word 文档格式一致(例如,没有复杂的嵌套结构或特定样式)。如果文档包含复杂的格式或样式,合并后可能需要手动调整。
段落间距:示例代码中调整了段落间距,你可以根据需要调整或删除这些设置。
图片和表格:python-docx 处理图片和表格时可能会遇到一些限制。如果文档中包含这些元素,合并后可能需要进一步检查和调整。
错误处理:示例代码没有包含错误处理逻辑。在实际应用中,建议添加适当的错误处理代码,以处理文件不存在、读取错误等情况。