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文件可以到这里下载:

相关推荐
shangjian0071 小时前
Python基础-闭包和装饰器
开发语言·python
三维空间1 小时前
如何在Python多进程中避免死锁问题?
python
冤大头编程之路1 小时前
Python并发编程实操教程:多线程/多进程/异步全解析
python
dhdjjsjs1 小时前
Day30 Python Study
开发语言·前端·python
十五年专注C++开发1 小时前
async_simple:一个轻量级C++异步协程框架
开发语言·网络·c++·boost·asio
Eric.Lee20211 小时前
mujoco构建无物理约束的几何体运动
python·物理引擎·mujoco·物理模型仿真
难以触及的高度2 小时前
Java for循环完全指南:从基础到高性能实践
java·开发语言
wadesir2 小时前
用Python实现ggplot2风格绘图(零基础入门Seaborn与Matplotlib美化技巧)
开发语言·python·matplotlib
油炸自行车2 小时前
【Qt】Qt Creator Debug模式提示“缺少 Windows CDB 调试器配套的扩展组件“”
开发语言·windows·qt
budingxiaomoli2 小时前
多线程(三)
java·开发语言