PPT轉換PDF後轉成圖片

一、客戶要求將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 

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