PPT转换PDF后转成图片

2 篇文章 0 订阅
1 篇文章 0 订阅

一、客户要求将PPT的前3张转成图片,这里是先转成PDF 再将前3页转成图片 (windows可用)

  环境:python2.7,pywin32==224,pyMuPDF1.16.2

import os
from win32com import client
import pythoncom   
def FilePreview(file_link,file_name): 
    path = os.getcwd()
    pythoncom.CoInitialize() #没这个的话会报错
    p = client.Dispatch(u"PowerPoint.Application")
    ppt = p.Presentations.Open(file_link, False, False, False)
    filepath = os.path.join('/static/myfile/', file_name+'.pdf')
    ppt_link=path+filepath
    ppt.ExportAsFixedFormat(ppt_link, 2, PrintRange=None)
    p.Quit()
    img_list=PDFSwitchImg(ppt_link)
    ppt.Close()  #关闭ppt
    os.remove(ppt_link) #将生成的PDF删除
    return img_list


"""需要安装 
   pip install fitz    

   pip install pyMuPDF
"""
import fitz
import glob
import time
def PDFSwitchImg(filename):
  """PDF转图片"""""
  pdffile = glob.glob(filename)[0]
  doc = fitz.open(pdffile)
  new_time= int(round(time.time() * 1000))
  img_list=[]
  for pg in range(0, 3):
    page = doc[pg]
    zoom = int(1000)
    rotate = int(0)
    trans = fitz.Matrix(zoom / 100.0, zoom / 100.0).preRotate(rotate)
    pm = page.getPixmap(matrix=trans, alpha=0) # alpha = 0
    img_link='/static/upload/fileimg/%s_%s.png'% (new_time,pg+1)
    pm.writePNG('.'+img_link)
    img_list.append(img_link)
  return img_list

img_list=FilePreview(E:/xxxx/xxx.ppt,xxx)

PDF转图片可以看这个 https://blog.csdn.net/QQ1752506968/article/details/101015294 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值