1.单个文件转化
网址:https://github.com/Ryuodan/PPTtoPDF-Converter
支持python3,给出代码:
import win32com.client
import os
in_file=input("Enter the path of the file")
out_file=os.path.splitext(in_file)[0] # desktop\file.pptx
powerpoint=win32com.client.Dispatch("Powerpoint.Application")
pdf=powerpoint.Presentations.Open(in_file,WithWindow=False)
pdf.SaveAs(out_file,32)
pdf.Close()
powerpoint.Quit()
运行:
D:\test>python PPTtoPDF.py
Enter the path of the fileD:\test\pic.pptx
过程中会显示:
完成后:
2.批量文件转化
源码网址:https://github.com/jackbrookes/batch-ppt-to-pdf/blob/master/batch_ppt_to_pdf.py
文章网址:http://mp.weixin.qq.com/s/lPL_HaL3acflmp-Yz6OSIQ
依赖的库:comtypes,windows下的安装:
D:\test>python -m pip install moviepy
源代码:
import comtypes.client
import os
def init_powerpoint():
powerpoint = comtypes.client.CreateObject("Powerpoint.Application")
powerpoint.Visible = 1
return powerpoint
def ppt_to_pdf(powerpoint, inputFileName, outputFileName, formatType = 32):
if outputFileName[-3:] != 'pdf':
outputFileName = outputFileName + ".pdf"
deck = powerpoint.Presentations.Open(inputFileName)
deck.SaveAs(outputFileName, formatType) # formatType = 32 for ppt to pdf
deck.Close()
def convert_files_in_folder(powerpoint, folder):
files = os.listdir(folder)
pptfiles = [f for f in files if f.endswith((".pptx", ".pptx"))]
for pptfile in pptfiles:
fullpath = os.path.join(cwd, pptfile)
ppt_to_pdf(powerpoint, fullpath, fullpath)
if __name__ == "__main__":
powerpoint = init_powerpoint()
cwd = os.getcwd()
convert_files_in_folder(powerpoint, cwd)
powerpoint.Quit()
运行:
D:\test>python main.py
运行结束后,会将D:\test文件夹里以pptx为结尾的ppt全部转化为pdf格式。
运行前:
运行后:
3.其他的转化
office to pdf:https://github.com/mlkyo/office2pdf
ppt to pdf or picture:https://github.com/vijayanandrp/PDF-to-PPT
ppt to pdf:https://github.com/GijsTimmers/ppt2pdf
ppt or pdf to HTML or json:https://github.com/lucaslukero/PDF-PPT-ODP-to-HTML-JSON-for-Tidys
pdf to ppt:https://github.com/uesseu/pdf2pptx