python——ppt文件转成pdf文件

一、ppt文件转成pdf文件

需要的库pypiwin32
安装命令: pip install pypiwin32

代码为:

python 复制代码
import os
import glob
from win32com.client import gencache
def GetFilePath():
    #obtain the path of all ppt/pptx files in this directory
    # filePath=os.path.split(os.path.abspath(__file__))[0] #这里是获取当前文件路径下的所有ppt文件
    filePath='D:\\11' # 需要把PPT文件放到D盘的11文件夹里
    pptFiles=glob.glob(os.path.join(filePath,"*.ppt*"))
    #print(pptFiles)
    return filePath,pptFiles 

def pptToPDF(filename,new_directory):
    #Example Initialize a PowerPoint application instance
    pdfName=os.path.basename(filename).split('.ppt')[0]+'.pdf'
    savePathFile=os.path.join(new_directory,pdfName)
    if os.path.isfile(savePathFile): #judge if the str savePathFile is a file existed
        print(pdfName,"converted already")
        return
    p=gencache.EnsureDispatch("PowerPoint.Application")# guessing that has some connections with open the PowerPoint Application
    try:
        ppt=p.Presentations.Open(filename,False,False,False)#open the PowerPoint file 
    except Exception as e:
        print(os.path.split(filename)[1],"File format conversion failed,because %s" %e)  #throw 
    ppt.ExportAsFixedFormat(savePathFile,2,PrintRange=None)
    print("converted && saved :", savePathFile)
    p.Quit     #close the PowerPoint file       

def main():
    filePath,pptFlies=GetFilePath();#PPT文件所在目录和所有ppt文件目录的列表
    NewDirectory=os.path.join(filePath,"converted_directory")
    #生成PDF文件的存储路径
    if not os.path.exists(NewDirectory):
        os.mkdir(os.path.join(NewDirectory))#crate the directory if it not exits
    for each in pptFlies:
        pptToPDF(each,NewDirectory)

if __name__ =="__main__":
    main()  
    print("程序已经执行完成!")
    inp = input("请按回车键退出程序。")

把ppt文件放到D盘的11文件夹里,然后运行程序即可

打包好的exe文件可以到这里下载:https://download.csdn.net/download/wy313622821/89602307

二、pdf文件转成ppt文件

python 复制代码
# 需要导入的库:pip install pdf2pptx     pip install PyPDF2
import pdf2pptx
import PyPDF2

# 获取pdf文档有多少页
def get_pdf_page_count(pdf_path):
    with open(pdf_path, 'rb') as file:
        reader = PyPDF2.PdfReader(file)
        return len(reader.pages)

def convert_pdf_to_pptx(pdf_file_path, pptx_file_path):
    page_count = get_pdf_page_count(pdf_file_path)
    pdf2pptx.convert_pdf2pptx(pdf_file_path,pptx_file_path,300,0,page_count)

if __name__ =="__main__":
    # 指定输入的PDF文件路径和输出的PPT文件路径
    pdf_file = "D:\\11\\22.pdf"
    pptx_file = "D:\\11\\22.pptx"

    # 调用函数,传入PDF文件路径和PPT文件路径
    convert_pdf_to_pptx(pdf_file, pptx_file)  

    
    print("程序已经执行完成!")
    inp = input("请按回车键退出程序。")

打包好的exe文件可以到这里下载:

相关推荐
汤米粥3 分钟前
小皮PHP连接数据库提示could not find driver
开发语言·php
冰淇淋烤布蕾6 分钟前
EasyExcel使用
java·开发语言·excel
拾荒的小海螺13 分钟前
JAVA:探索 EasyExcel 的技术指南
java·开发语言
秀儿还能再秀27 分钟前
机器学习——简单线性回归、逻辑回归
笔记·python·学习·机器学习
马剑威(威哥爱编程)37 分钟前
哇喔!20种单例模式的实现与变异总结
java·开发语言·单例模式
白-胖-子1 小时前
【蓝桥等考C++真题】蓝桥杯等级考试C++组第13级L13真题原题(含答案)-统计数字
开发语言·c++·算法·蓝桥杯·等考·13级
好睡凯1 小时前
c++写一个死锁并且自己解锁
开发语言·c++·算法
网络安全指导员1 小时前
恶意PDF文档分析记录
网络·安全·web安全·pdf
java—大象1 小时前
基于java+springboot+layui的流浪动物交流信息平台设计实现
java·开发语言·spring boot·layui·课程设计
yyqzjw1 小时前
【qt】控件篇(Enable|geometry)
开发语言·qt