有时,我们需要将一个PPT文件中的所有文字批量导出,以便查看,或者复制什么的。一页一页PPT去复制粘贴,会很不方便。如果能一键将PPT中的文字导出,存为文本文件或者word文件,将极大提升效率。下面我们就来试试用Python搞定这个吧。

#提取所有文本字符
from pptx import Presentation
data = []
prs = Presentation('data\制造业必修课.pptx')
for slide in prs.slides: #遍历每页PPT
    for shape in slide.shapes: #遍历PPT中的每个形状
        if shape.has_t
        for paragraph in shape.text_frame.paragraphs: 
            data.append(paragraph.text)
data[:5]

[‘生产制造业必学的12门课程’,
‘第一课 生产问题的分析和解决方法’,
‘第二课 改善生产管理的利器5S与TPM教程’,
‘第三课 6S管理实战方法’,
‘第四课 全面质量管理TQM教程’]

#写入文本文件
TxtFile = open('data\制造业必修课.txt', 'w',encoding='utf-8')
for i in data:
    TxtFile.write(i+'\n')
TxtFile.close()
#写入word文件
import docx
doc=docx.Document()#创建一个Document对象
for i in data:
    doc.add_paragraph(i) #增加一个段落,并写入内容
doc.save('data\制造业必修课.docx')#保存文档

代码

#提取所有文本字符
from pptx import Presentation
data = []
prs = Presentation('data\制造业必修课.pptx')
for slide in prs.slides: #遍历每页PPT
    for shape in slide.shapes: #遍历PPT中的每个形状
        if shape.has_text_frame: #判断该是否包含文本,保证有文本才提取
            for paragraph in shape.text_frame.paragraphs: #按文本框中的段落提取
                data.append(paragraph.text) #提取一个段落的文本,就存到列表data中


#写入文本文件
TxtFile = open('data\制造业必修课.txt', 'w',encoding='utf-8')
for i in data:
    TxtFile.write(i+'\n') #写入并换行,以保证正确分段
TxtFile.close() #保存


#写入word文件
import docx
doc=docx.Document()#创建一个word文件对象
for i in data:
    doc.add_paragraph(i) #增加一个段落,并将列表中的一个字符串写入word文件
doc.save('data\制造业必修课.docx')#保存

效果

运行前:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

运行后:

在这里插入图片描述

在这里插入图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐