批量合并word(分页)

上一篇我介绍了如何批量将word文档合并成一个word的方法,但合并后你会发现每篇文章都是前后挨着的,如果你想要每个文档的文章另起一页,又要怎么实现呢?

安排!直接上代码,亲测有效,有问题你找我。

import os
import win32com.client as win32

# 启动 Word 应用
word = win32.gencache.EnsureDispatch('Word.Application')
word.Visible = False

# 获取文件夹中的所有 doc/docx 文件的文件名
path = r'F:\BaiduSyncdisk\python\test\合并word\待合并'
files = []
for filename in os.listdir(path):
    if filename.endswith('.doc') or filename.endswith('.docx'):  # 只处理 Word 文件
        filename = os.path.join(path, filename)
        files.append(filename)

# 新建合并后的文档
output = word.Documents.Add()

# 定义一个插入分页符的函数
def insert_page_break():
    output.Application.Selection.InsertBreak(Type=7)  # wdPageBreak = 7

# 拼接文档,每个文档后插入分页符
for file in files:
    output.Application.Selection.InsertFile(file)
    insert_page_break()  # 在每个文件内容后插入分页符

# 移除最后一个多余的分页符(如果有的话)
if output.Paragraphs.Count > 1:
    last_para = output.Paragraphs.Last
    if last_para.Range.Text.strip() == '' and last_para.Range.Information(11) == True:  # wdWithInTable = 11, 检查是否在表格内
        last_para.Range.Delete()

# 保存 docx 文档
output.SaveAs(r'F:\BaiduSyncdisk\python\test\合并word\合并后(分页).docx')
output.Close()

# 退出 Word 应用
word.Quit()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值