Python_将当前目录下Word和PPT转为PDF(V0.2)

上篇:用python将ppt转为pdfpython

后续优化:Python_创建exe文件,将所在目录的word和ppt转pdf(V0.3)


对于此前  用python将ppt转为pdf  尝试的补充与功能扩展:

 配置好环境后,双击运行,将当前目录下Word和PPT转为PDF

此前代码中的路径符问题:单个的 '\'  识别为转义字符,故使用 '\\' 

print('hello\nGeorgeHua')       #转义字符,换行

print('hello\\nGeorgeHua')      #增加“\” 取消单个转义

print(r'hello\nGeorge\nHua')   #取消转义   字符串前面: r

代码 

# 作用:遍历当前目录,将word和PPT转为同名pdf文件
import win32com.client
import os

def ppt2pdf(filename, output_filename):
    """
    路径+名称
    """
    #打开PPT程序
    ppt_app = win32com.client.Dispatch('PowerPoint.Application')
    # ppt_app.Visible = True  # 程序操作应用程序的过程是否可视化
    #通过PPT的应用程序打开指定的PPT文件
    ppt = ppt_app.Presentations.Open(filename)
    #另存为:参数:17是ppt转图片,32是ppt转pdf。
    ppt.SaveAs(output_filename, 32)
    print(output_filename+"导出成pdf成功!!!")
    # 退出PPT程序
    ppt_app.Quit()

def doc2pdf(doc_filename, pdf_filename):
    """
    参数为路径+名称
    """
    #打开word程序
    word_app = win32com.client.Dispatch('Word.Application')
    #通过Word应用程序打开指定的.docx文件
    doc_open = word_app.Documents.Open(doc_filename)#,ReadOnly = 1
    #另存为参数说明:4:txt;10:html;docx:16;pdf:17   ?
    doc_open.SaveAs(pdf_filename, 17)
    #doc_open.Close()   #关闭打开的文件
    print(pdf_filename+"导出成pdf成功!!!")
    # 退出程序
    word_app.Quit()

dirname = os.getcwd()   #获取当前目录
# 列出指定目录的内容
filenames = os.listdir(dirname)
# for循环依次访问指定目录的所有文件名
for filename in filenames:
    if filename.endswith('ppt') or filename.endswith('pptx'):
        # 将filename以.进行分割,返回2个信息,文件的名称和文件的后缀名
        base, ext = filename.split('.')  # 名称后缀分割
        new_name = base + '.pdf'         # 生成文件(名.pdf)
        #原文件 路径+名称
        filename = dirname + '\\' + filename
        #生成文件 路径+名称
        output_filename = dirname + '\\' + new_name
        #调用转换函数
        ppt2pdf(filename, output_filename)
    #word转pdf
    if filename.endswith('doc') or filename.endswith('docx'):
        # 将filename以.进行分割,返回2个信息,文件的名称和文件的后缀名
        base, ext = filename.split('.')  # 名称后缀分割
        new_name = base + '.pdf'       
        doc_filename = dirname + '\\' + filename      #带有位置的完整名称
        pdf_filename = dirname + '\\' + new_name      #输出路径及名称
            #此处双斜杠,转义字符相关知识
        # 调用转换函数
        doc2pdf(doc_filename, pdf_filename)
var=input('') #直接双击运行,保留生成目录窗口

SaveAs的其他参数没试过

目前已知:word转pdf、PPT转pdf

doc_open.SaveAs(pdf_filename, 17)

ppt.SaveAs(output_filename, 32)


  • 实际操作问题记录

 #doc_open.Close()   #关闭打开的文件   连续处理多个文件,此句删掉

  word_app.Quit()   #必须退出程序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值