python笔记——提取多个ppt中的文字

本文介绍了如何使用Python的win32库从多个PPT文件中提取文本,包括安装pypiwin32、代码实现、处理带密码的PPT以及在Linux环境下遇到的问题和解决方法,如行尾字符转换、安装Python2的win32模块及其替代方案。
摘要由CSDN通过智能技术生成

方法:利用win32来实现,
步骤:
1.安装win32:在cmd中使用python -m pip install pypiwin32进行安装
2.复制粘贴代码,并修改文件路径,运行
3.可以在这个.py文件的文件夹里找到temp.txt,得到转换结果
代码如下:

#coding:utf-8
import win32com
import win32con
import win32gui
import codecs
from win32com.client import Dispatch
import pythoncom

class MSOffice2txt():
    def __init__(self, fileType=['doc','ppt']):
        self.docCom = None
        self.pptCom = None
        pythoncom.CoInitialize()
        if type(fileType) is not list:
            return 'Error, please check the fileType, it must be list[]'
        for ft in fileType:
            if ft == 'doc':
                self.docCom = self.docApplicationOpen()
            elif ft == 'ppt':
                self.pptCom = self.pptApplicationOpen()

    def close(self):
        self.docApplicationClose(self.docCom)
        self.pptApplicationClose(self.pptCom)

    def docApplicationOpen(self):
        docCom = win32com.client.Dispatch('Word.Application')
        docCom.Visible = 1
        docCom.DisplayAlerts = 0
        docHwnd = win32gui.FindWindow(None, 'Microsoft Word')
        win32gui.ShowWindow(docHwnd, win32con.SW_HIDE)
        return docCom

    def docApplicationClose(self,docCom):
        if docCom is not None:
            docCom.Quit()

    def doc2Txt(self, docCom, docFile, txtFile):
        doc = docCom.Documents.Open(FileName=docFile,ReadOnly=1)
        doc.SaveAs(txtFile, 2)
        doc.Close()

    

    def pptApplicationOpen(self):
        pptCom = win32com.client.Dispatch('PowerPoint.Application')
        pptCom.Visible = 1
        pptCom.DisplayAlerts = 0
        pptHwnd = win32gui.FindWindow(None, 'Microsoft PowerPoint')
        win32gui.ShowWindow(pptHwnd, win32con.SW_HIDE)
        return pptCom

    def pptApplicationClose(self, pptCom):
        if pptCom is not None:
            pptCom.Quit()

    def ppt2txt(self, pptCom, pptFile, txtFile):
        ppt = pptCom.Presentations.Open(pptFile,ReadOnly=1, Untitled=0, WithWindow=0)
        f = codecs.open
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值