python按页码和页码范围拆分word并生成pdf

该代码段使用Python的win32com.client库来操作Word文档,根据指定的页码范围提取页面,创建新文档,然后将选定页合并成一个新的Word文档,最后将这个Word文档保存为PDF。如果页码超出范围,程序会抛出错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python按页码范围拆分word并生成pdf

先对页码进行提取,再对需要的页数进行抽取并合成一个word,再将word保存成pdf

from win32com.client import Dispatch, DispatchEx

def copy_doc(doc, pdf_path,start_page=1,end_page=0):
 # 打开文件,获得word的页数
    word = Dispatch("Word.Application")
    word.Visible = 0
    word.DisplayAlerts = 0
    doc_ = word.Documents.Open(doc)
    pages = doc_.ActiveWindow.Panes(1).Pages.Count
    
   # 新建word,设置保存路径
    doc_add = word.Documents.Add()
    newFile = f'test_new{start_page}-{end_page}.docx'
    doc_add.SaveAs(os.path.abspath(newFile))
    doc_new = word.Documents.Open(os.path.abspath(newFile))
    # 页码判断
    if start_page == 1 and end_page == 0:
        end_page = pages
    elif start_page <1 or end_page>pages or start_page > end_page:
        raise "请检查页码"
    # 进行写入新的word中
    for i in range(start_page, end_page+1):
        objRectangles = doc_.ActiveWindow.Panes(1).Pages(i).Rectangles
        for a in range(objRectangles.Count):
        
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值