乐于分享
好东西不私藏

多个Word文档合并成一个,自动分页,字体不乱,一键搞定

多个Word文档合并成一个,自动分页,字体不乱,一键搞定

写论文时每个章节一个文档,最后要合并。或者每周周报要汇总成月报。

手动打开、复制、粘贴、再打开下一个……重复N遍。

我让AI写了40行代码,一键合并,自动分页,字体不乱。

效果预览

处理前
处理后
文档1.docx
合并结果.docx
文档2.docx
第1页:文档1的内容
文档3.docx
第2页:文档2的内容
第3页:文档3的内容

每个文档自动从新的一页开始。

一键复制的提示词

text

写Python脚本:按文件名排序合并文件夹里所有Word文档,每个文档结束后添加分页符。用python-docx库。

核心代码

import osfrom docx import Documentfrom docx.oxml.ns import qndef merge_word_documents(folder_path):    files = [f for f in os.listdir(folder_path) if f.endswith('.docx')]    files.sort()    merged = Document()    for i, f in enumerate(files):        doc = Document(os.path.join(folder_path, f))        for para in doc.paragraphs:            new_para = merged.add_paragraph()            for run in para.runs:                new_run = new_para.add_run(run.text)                new_run.bold = run.bold                if run.font.name:                    new_run.font.name = run.font.name                    r = new_run._element                    rPr = r.get_or_add_rPr()                    rFonts = rPr.get_or_add_rFonts()                    rFonts.set(qn('w:eastAsia'), run.font.name)        if i < len(files) - 1:            merged.add_page_break()    merged.save(os.path.join(folder_path, "合并结果.docx"))    print("完成")path = input("请输入文件夹路径: ")merge_word_documents(path)

怎么用

  1. 终端运行 pip install python-docx

  2. 复制代码到文件,保存为 .py

  3. 运行,输入文件夹路径

  4. 打开同目录下的 合并结果.docx