Windows环境使用Python脚本转换Office文件格式

代码小抄

# encoding:utf-8
import comtypes.client
import os
import argparse


def init_powerpoint():
    powerpoint = comtypes.client.CreateObject("Powerpoint.Application")
    powerpoint.Visible = 1
    return powerpoint


def ppt_to_pdf(powerpoint, inputFileName, outputFileName, formatType=32):
    if outputFileName[-3:] != 'pdf':
        outputFileName = outputFileName + ".pdf"
    deck = powerpoint.Presentations.Open(inputFileName)
    deck.SaveAs(outputFileName, formatType)  # formatType = 32 for ppt to pdf
    deck.Close()


def convert_file(powerpoint, input_file, output_folder):
    if not os.path.exists(output_folder):
        os.makedirs(output_folder)
    output_file = os.path.join(output_folder, os.path.splitext(os.path.basename(input_file))[0] + ".pdf")
    ppt_to_pdf(powerpoint, input_file, output_file)


if __name__ == "__main__":
    # 设置命令行参数
    # parser = argparse.ArgumentParser(description='Convert PowerPoint files to PDF.')
    # parser.add_argument('input_file', help='The PowerPoint file to convert.')
    # parser.add_argument('output_folder', help='The folder to save the PDF file.')
    # args = parser.parse_args()

    powerpoint = init_powerpoint()
    # convert_file(powerpoint, args.input_file, args.output_folder)
    convert_file(powerpoint, input_file,  output_folder)
    powerpoint.Quit()

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值