当前位置:   article > 正文

python_for_pptx_python ui pptx

python ui pptx

前言

ppt是日常办公常用的文档之一,我们有时候有很多无用的劳动力都浪费在重复的工作里面。有没有办法用python帮忙呢?

安装pptx模块

pip install python-pptx

相关文档
链接: ppttx文档.

快速开始

其中slides是页面

from pptx import Presentation

prs = Presentation()
title_slide_layout = prs.slide_layouts[0]
slide = prs.slides.add_slide(title_slide_layout)
title = slide.shapes.title
subtitle = slide.placeholders[1]

title.text = "Hello, World!"
subtitle.text = "python-pptx was here!"

prs.save('test.pptx')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

不用pptx模块也可导出ppt的目录

import win32com
from win32com.client import Dispatch, constants
ppt = win32com.client.Dispatch('PowerPoint.Application')

ppt.Visible = 1
pptSel = ppt.Presentations.Open("E:\\python\\scripts\\pptx\\21.pptx")
win32com.client.gencache.EnsureDispatch('PowerPoint.Application')
f = open("E:\\python\\scripts\\pptx\\2.txt","w",encoding ='utf-8')
slide_count = pptSel.Slides.Count
for i in range(1,slide_count + 1):
  shape_count = pptSel.Slides(i).Shapes.Count
  print("第"+str(i)+"页的元素个数"+str(shape_count))
  #for j in range(1,shape_count + 1):
  j =1
  if pptSel.Slides(i).Shapes(j).HasTextFrame:
      s = pptSel.Slides(i).Shapes(j).TextFrame.TextRange.Text
      if s=="":
          s = pptSel.Slides(i).Shapes(2).TextFrame.TextRange.Text
      f.write(s + " | 第" +str(i)+"页\n")
      #fileObject.write(string).encode('utf-8')
f.close()
ppt.Quit()

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

== 注意这个导出的方法要求每个页面中,标题的元素位置排序是最后一个 ==
格式,选择窗格,右边就是排序

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/1001738
推荐阅读
相关标签
  

闽ICP备14008679号