Here you'll find two scripts: one to convert a PPT file to a PDF (one slide per page), and another to take the first page of that PDF and generate a JPG thumbnail from it. Each file depends certain folders existing, and will process all relevant files within those folders.
Folders: ppt, pdf
import sys import os import glob import win32com.client def pdfThumbnail(directory, targetdirectory, filename): newname = os.path.splitext(filename)[0] + ".jpg" print(directory+filename) print(targetdirectory+newname) if os.path.exists(directory+filename): osCommand = 'magick convert -thumbnail 160x120 "'+directory+filename+'"[0] "'+targetdirectory+newname+'"' print(osCommand) os.system(osCommand) else: print("nope") def convertPPT2PDF(directory, targetdirectory, filename, formatType = 32): powerpoint = win32com.client.Dispatch("Powerpoint.Application") powerpoint.Visible = True newname = os.path.splitext(filename)[0] + ".pdf" print(directory+filename) print(targetdirectory+newname) deck = powerpoint.Presentations.Open(directory+filename) deck.SaveAs(targetdirectory+newname, formatType) deck.Close() powerpoint.Quit() return newname def convertDirectoryPPTtoPDF(pptDirectory,pdfDirectory): for file in os.listdir(pptDirectory): pdfFile = convertPPT2PDF(pptDirectory, pdfDirectory, file) convertDirectoryPPTtoPDF("C:\\Users\\jetweedy\\Desktop\\CHIP\\ppt2pdf2jpg\\ppt\\", "C:\\Users\\jetweedy\\Desktop\\CHIP\\ppt2pdf2jpg\\pdf\\") def convertDirectoryPDFtoJPG(pdfDirectory,jpgDirectory): for file in os.listdir(pdfDirectory): print(file); pdfThumbnail(pdfDirectory, jpgDirectory, file) #convertDirectoryPDFtoJPG("C:\\Users\\jetweedy\\Desktop\\CHIP\\ppt2pdf2jpg\\pdf\\","C:\\Users\\jetweedy\\Desktop\\CHIP\\ppt2pdf2jpg\\jpg\\")
Folders: pdf, jpg
import sys import os import glob import win32com.client def pdfThumbnail(directory, targetdirectory, filename): newname = os.path.splitext(filename)[0] + ".jpg" print(directory+filename) print(targetdirectory+newname) if os.path.exists(directory+filename): osCommand = 'magick convert -thumbnail 160x120 "'+directory+filename+'"[0] "'+targetdirectory+newname+'"' print(osCommand) os.system(osCommand) else: print("nope") def convertPPT2PDF(directory, targetdirectory, filename, formatType = 32): powerpoint = win32com.client.Dispatch("Powerpoint.Application") powerpoint.Visible = True newname = os.path.splitext(filename)[0] + ".pdf" print(directory+filename) print(targetdirectory+newname) deck = powerpoint.Presentations.Open(directory+filename) deck.SaveAs(targetdirectory+newname, formatType) deck.Close() powerpoint.Quit() return newname def convertDirectoryPPTtoPDF(pptDirectory,pdfDirectory): for file in os.listdir(pptDirectory): pdfFile = convertPPT2PDF(pptDirectory, pdfDirectory, file) #convertDirectoryPPTtoPDF("C:\\Users\\jetweedy\\Desktop\\CHIP\\ppt2pdf2jpg\\ppt\\", "C:\\Users\\jetweedy\\Desktop\\CHIP\\ppt2pdf2jpg\\pdf\\") def convertDirectoryPDFtoJPG(pdfDirectory,jpgDirectory): for file in os.listdir(pdfDirectory): print(file); pdfThumbnail(pdfDirectory, jpgDirectory, file) ### Can't seem to get this to work convertDirectoryPDFtoJPG("C:\\Users\\jetweedy\\Desktop\\CHIP\\ppt2pdf2jpg\\pdf\\","C:\\Users\\jetweedy\\Desktop\\CHIP\\ppt2pdf2jpg\\jpg\\")