当前位置:   article > 正文

python多层遍历批量转换PPT为PDF_命令行 遍历所有ppt文件

命令行 遍历所有ppt文件

1. 需求分析

因为Mac制作的PPT在一些Windows电脑打开时,如果Windows电脑缺相应字体,会出现PPT字体看起来很奇怪的现象。
为了解决这个问题,需要将类似如下目录树中第三层的ppt文件批量转换为PDF然后保存在该文件夹。
转换前目录树如下图,实际文件夹中有32节课的文件夹,待转换的PPT文件位于同级文件夹的下一级文件夹内
转换前目录树如上图,实际文件夹中有32节课的文件夹

2. 环境配置

这个任务的核心有两个,一个是处理PPT,一个是遍历找到层层文件夹中的PPT文件。
在网上找了些资料,最终找到下面的PPT转PDF的类。这里的PPT处理需要使用comtypes库,所以在命令行中使用如下命令,以国内源安装该库。

pip install comtypes -i https://pypi.tuna.tsinghua.edu.cn/simple
  • 1

安装好了后,在最上层目录里新建一个.py文件,存储脚本程序,我的脚步程序名称为ppt2pdf_V1.1.py,你要记住自己脚步程序的名称,在后面第5个环节会用到。

3. PPT转为PDF

下面是找到了一个PPT转PDF的类[1],这个类一方面是实例化ppt对象,另一方面写了一个PPT转PDF的方法,只有传入文件夹路径,就可以查看该文件夹中是否有ppt、pptx文件。如果有的话,就将其转换为PDF文件。
需要注意的是,原来的类,转换后是在文件名后加.pdf的尾缀,导致出现导出的PDF尾缀全部是.pptx.pdf,看起来有点怪,所以这里进行了简单的处理,将导出文件路径哪里进行了修改,使用[:-4]将源文件的后缀.pptx去掉了。

from comtypes.client import CreateObject
import os

#类pdfConverter引用自https://blog.csdn.net/sinat_37967865/article/details/80044297 
class pdfConverter:
    def __init__(self):
        #ppt文档转化为pdf文档时使用的格式为32
        self.pptFormatPDF = 32
        self.pptToPDF = CreateObject("Powerpoint.Application")
        self.pptToPDF.Visible = 1
 
    def ppt_to_pdf(self, folder):
        files = os.listdir(folder)
        pptfiles = [f for f in files if f
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号