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\\")