文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python如何批量将PPT导出成图片集

2023-06-07 22:59

关注

本篇内容主要讲解“python如何批量将PPT导出成图片集”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python如何批量将PPT导出成图片集”吧!

导读

需要使用python做一个将很多个不规则PPT导出成用文件夹归纳好的图片集,所以就需要使用comtypes调用本机电脑上的ppt软件,批量打开另存为多张图片

采坑

公司电脑使用comtypes完美导出图片,系统win10

回家后使用自己的电脑就报错,系统也是win10,最后没办法放弃comtypes采用win32com,最终成功

源代码

"""该工具函数的功能:批量将PPT导出成图片"""import comtypes.clientimport osimport win32comimport win32com.client# base pathBASH_PATH = 'C:\\web\\python\\tool\\formatPPTtaobao\\ppts\\'# render jpgRENDER_BASE_PATH = 'C:\\web\\python\\tool\\formatPPTtaobao\\render\\'# 初始化PPTdef init_powerpoint():  powerpoint = win32com.client.Dispatch('PowerPoint.Application') #comtypes.client.CreateObject("Powerpoint.Application")  powerpoint.Visible = 1  return powerpoint# PPT TO PDF def ppt_to_pdf_or_jpg(powerpoint, inputFileName, outputFileName, formatType = 32):  if outputFileName[-3:] != 'pdf':    outputFileName = outputFileName[0:-4] + ".pdf"  deck = powerpoint.Presentations.Open(inputFileName)  #deck.SaveAs(outputFileName, formatType) # formatType = 32 for ppt to pdf  deck.SaveAs(inputFileName.rsplit('.')[0] + '.jpg', 17)  deck.Close()# save file as a folderdef convert_files_in_folder(powerpoint, folder):  files = os.listdir(folder)  pptfiles = [f for f in files if f.endswith((".ppt", ".pptx"))]  print(pptfiles)  for pptfile in pptfiles:    fullpath = os.path.join(cwd, pptfile)    ppt_to_pdf_or_jpg(powerpoint, fullpath, fullpath)# delete more ppt and select 20 def delete_more_ppt(folder):files = os.listdir(folder)allNum = len(files)endPoint = 0if(allNum <= 20):returnelse:endPoint = allNum - 20for f in files[0:endPoint]:if(os.path.isfile(folder+f)):os.unlink(folder+f)# exec picture compositedef execPictureComposite():os.system('python componsite_jpg_taobao.py')pass# delete render jpgsdef deleteRenderJpg():  jpgs = os.listdir(RENDER_BASE_PATH)  for jpg in jpgs:    os.unlink(RENDER_BASE_PATH+jpg)if __name__ == "__main__":  cwd = BASH_PATH  delete_more_ppt(cwd)  deleteRenderJpg()  powerpoint = init_powerpoint()  convert_files_in_folder(powerpoint, cwd)  powerpoint.Quit()  execPictureComposite()

补充:用python处理ppt中的文字

我就废话不多说了,大家还是直接看代码吧~

from pptx import Presentationfrom pptx.util import Inches,Ptppt=Presentation()#在ppt中加入一个幻灯片slide=ppt.slides.add_slide(ppt.slide_layouts[1])#第一种body_shape=slide.shapes.placeholdersbody_shape[0].text='这是占位符[0]'body_shape[1].text='这是占位符[1]'#第二种title_shape=slide.shapes.titletitle_shape.text='这里是标题'#取出本页第二个文本框subtitle=slide.shapes.placeholders[1]#在第二个文本框里写入汉字subtitle.text='这里是文本框'#在文本框里添加一个段落new_paragraph=body_shape[1].text_frame.add_paragraph()new_paragraph.text='新段落'new_paragraph.font.bold=Truenew_paragraph.font.italic=Truenew_paragraph.font.size=Pt(15)new_paragraph.font.underline=True#添加文本框left=Inches(2)top=Inches(2)width=Inches(3)height=Inches(3)textbox=slide.shapes.add_textbox(left,top,width.height)textbox.text="这是新文本框"#在文本框里添加新段落new_par=textbox.text_frame.add_paragraph()new_par.text='这是文本框里的第二段'ppt.save('test.pptx');

到此,相信大家对“python如何批量将PPT导出成图片集”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯