Python3.6安装win32扩展并且实现对PPT文件进行截图操作的方法

有时候我们需要把PPT的内容做成图片进行预览,这时候就要把PPT转成图片,文件少的时候可以手工完成,另存为图片就完成了。

但是如果这是一个长期工作就要靠脚本实现,省去大部分人工操作,这里就使用python的win32扩展进行实现。

首先安装win32扩展,我使用的python版本是3.6 的,安装win32扩展和老版本不一样,如果是旧版本直接pip install就可以安装了;下面我也介绍下python3.6安装win32的操作。

首先进入网站https://www.lfd.uci.edu/~gohlke/pythonlibs/#pywin32,进入网站之后搜索PyWin32关键词就可以找到下面的文字:


pywin32-221-cp36-cp36m-win_amd64.whl

介绍下cp27代表的意思是 python2.7版本 , cp36代表的意思是python3.6

后面的win32代码系统是32位的,win_amd64代码64位系统,注意别下错了。

下载完毕之后把pywin32-221-cp36-cp36m-win_amd64.whl放在python的安装目录的Scripts目录下面:


安装wheel:

pip install wheel

然后pip install pywin32-221-cp36-cp36m-win_amd64.whl


接下来执行:

python pywin32_postinstall.py -install 就安装完毕了


win32的扩展已经安装成功了,接下来写生成ppt图片的代码:

import os
import win32com
from win32com.client import Dispatch, constants
def ppt2png(filename,dst_filename):
    ppt = win32com.client.Dispatch('PowerPoint.Application')
    #是否展示打开的文件
    #ppt.Visible = True
    #屏蔽错误弹框提示
    ppt.DisplayAlerts = False
    #打开ppt
    pptSel = ppt.Presentations.Open(filename)
    #把ppt另存为图片
    pptSel.SaveAs(dst_filename,17);
    ppt.Quit()
#找到ppt的存放路径就好了
ppt_dir = "D:\\ppt";
for fn in (fns for fns in os.listdir(ppt_dir) if fns.endswith(('.ppt','.pptx'))):
  try:

    file_name = os.path.splitext(fn)[0]
    ppt2png(ppt_dir+"\\"+fn,ppt_dir+"\\"+file_name+".jpg")

  except:
    continue

结果如下:



已经成功的生成ppt的预览图片了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章