Python读取Word/PPT文件文本内容和图片内容

简介: 读取某个指定路径下的Word/PPT文件,并将其中所有的文本内容生成一个TXT文件,将所有的图片内容保存在一个文件夹里

读取Word文件:

读取某个指定路径下的Word文件,并将其中所有的文本内容生成一个TXT文件,将所有的图片内容保存在一个文件夹里

程序实现:

为了实现这个功能,你可以使用Python的docx库来读取Word文档的文本内容和图片,然后使用os库来进行文件和文件夹的操作。确保在运行程序之前安装好docx库,你可以使用以下命令安装它:

pip install python-docx

以下是一个实现你要求的Python程序:

import os
import docx
from docx.shared import Inches
def extract_text_from_docx(docx_path):
    doc = docx.Document(docx_path)
    text = []
    for paragraph in doc.paragraphs:
        text.append(paragraph.text)
    return '\n'.join(text)
def extract_images_from_docx(docx_path, output_folder):
    doc = docx.Document(docx_path)
    for rel in doc.part.rels:
        if "image" in doc.part.rels[rel].target_ref:
            image_part = doc.part.related_parts[doc.part.rels[rel].target_ref]
            image_data = image_part.blob
            image_name = os.path.basename(image_part.target_ref)
            image_path = os.path.join(output_folder, image_name)
            with open(image_path, 'wb') as f:
                f.write(image_data)
def main():
    docx_path = 'path_to_your_input_docx_file.docx'  # 替换为你的Word文档路径
    output_text_file = 'output_text.txt'
    output_image_folder = 'output_images'
    # 创建保存图片的文件夹
    os.makedirs(output_image_folder, exist_ok=True)
    # 提取文本内容并保存为TXT文件
    text_content = extract_text_from_docx(docx_path)
    with open(output_text_file, 'w', encoding='utf-8') as txt_file:
        txt_file.write(text_content)
    # 提取图片并保存到指定文件夹
    extract_images_from_docx(docx_path, output_image_folder)
if __name__ == '__main__':
    main()

在这个示例中,你需要将path_to_your_input_docx_file.docx替换为你实际的Word文档路径。程序会读取指定的Word文档,将文本内容保存为一个TXT文件,同时将所有的图片保存在一个文件夹中。记得事先在相应的路径下创建好输出文件夹。

读取PPT文件:

读取某个指定路径下的PPT文件,并将其中所有的文本内容生成一个TXT文件,将所有的图片内容保存在一个文件夹里

程序实现:

要实现读取指定路径下的PPT文件,并将文本内容保存为TXT文件,同时将图片保存在一个文件夹中,你可以使用Python的python-pptx库来处理PPT文件中的文本和图片。确保在运行程序之前安装好python-pptx库,你可以使用以下命令安装它:

pip install python-pptx

以下是一个实现你要求的Python程序:

import os
from pptx import Presentation
from pptx.util import Inches
def extract_text_from_ppt(ppt_path):
    prs = Presentation(ppt_path)
    text = []
    for slide in prs.slides:
        for shape in slide.shapes:
            if hasattr(shape, 'text'):
                text.append(shape.text)
    return '\n'.join(text)
def extract_images_from_ppt(ppt_path, output_folder):
    prs = Presentation(ppt_path)
    image_count = 0
    for slide in prs.slides:
        for shape in slide.shapes:
            if shape.shape_type == 13:  # 判断是否为图片
                image = shape.image
                image_bytes = image.blob
                image_extension = image.ext
                image_name = f"image_{image_count}{image_extension}"
                image_path = os.path.join(output_folder, image_name)
                with open(image_path, 'wb') as f:
                    f.write(image_bytes)
                image_count += 1
def main():
    ppt_path = 'path_to_your_input_ppt_file.pptx'  # 替换为你的PPT文件路径
    output_text_file = 'output_text.txt'
    output_image_folder = 'output_images'
    # 创建保存图片的文件夹
    os.makedirs(output_image_folder, exist_ok=True)
    # 提取文本内容并保存为TXT文件
    text_content = extract_text_from_ppt(ppt_path)
    with open(output_text_file, 'w', encoding='utf-8') as txt_file:
        txt_file.write(text_content)
    # 提取图片并保存到指定文件夹
    extract_images_from_ppt(ppt_path, output_image_folder)
if __name__ == '__main__':
    main()

在这个示例中,你需要将path_to_your_input_ppt_file.pptx替换为你实际的PPT文件路径。程序会读取指定的PPT文件,将文本内容保存为一个TXT文件,同时将所有的图片保存在一个文件夹中。记得事先在相应的路径下创建好输出文件夹。

目录
相关文章
|
29天前
|
安全 Linux 数据安全/隐私保护
python知识点100篇系列(15)-加密python源代码为pyd文件
【10月更文挑战第5天】为了保护Python源码不被查看,可将其编译成二进制文件(Windows下为.pyd,Linux下为.so)。以Python3.8为例,通过Cython工具,先写好Python代码并加入`# cython: language_level=3`指令,安装easycython库后,使用`easycython *.py`命令编译源文件,最终生成.pyd文件供直接导入使用。
python知识点100篇系列(15)-加密python源代码为pyd文件
|
10天前
|
机器学习/深度学习 自然语言处理 API
如何使用阿里云的语音合成服务(TTS)将文本转换为语音?本文详细介绍了从注册账号、获取密钥到编写Python代码调用TTS服务的全过程
如何使用阿里云的语音合成服务(TTS)将文本转换为语音?本文详细介绍了从注册账号、获取密钥到编写Python代码调用TTS服务的全过程。通过简单的代码示例,展示如何将文本转换为自然流畅的语音,适用于有声阅读、智能客服等场景。
50 3
|
11天前
|
开发者 Python
Python中__init__.py文件的作用
`__init__.py`文件在Python包管理中扮演着重要角色,通过标识目录为包、初始化包、控制导入行为、支持递归包结构以及定义包的命名空间,`__init__.py`文件为组织和管理Python代码提供了强大支持。理解并正确使用 `__init__.py`文件,可以帮助开发者更好地组织代码,提高代码的可维护性和可读性。
15 2
|
27天前
|
Java Python
> python知识点100篇系列(19)-使用python下载文件的几种方式
【10月更文挑战第7天】本文介绍了使用Python下载文件的五种方法,包括使用requests、wget、线程池、urllib3和asyncio模块。每种方法适用于不同的场景,如单文件下载、多文件并发下载等,提供了丰富的选择。
|
28天前
|
数据安全/隐私保护 流计算 开发者
python知识点100篇系列(18)-解析m3u8文件的下载视频
【10月更文挑战第6天】m3u8是苹果公司推出的一种视频播放标准,采用UTF-8编码,主要用于记录视频的网络地址。HLS(Http Live Streaming)是苹果公司提出的一种基于HTTP的流媒体传输协议,通过m3u8索引文件按序访问ts文件,实现音视频播放。本文介绍了如何通过浏览器找到m3u8文件,解析m3u8文件获取ts文件地址,下载ts文件并解密(如有必要),最后使用ffmpeg合并ts文件为mp4文件。
|
1月前
|
自然语言处理 算法 数据挖掘
探讨如何利用Python中的NLP工具,从被动收集到主动分析文本数据的过程
【10月更文挑战第11天】本文介绍了自然语言处理(NLP)在文本分析中的应用,从被动收集到主动分析的过程。通过Python代码示例,详细展示了文本预处理、特征提取、情感分析和主题建模等关键技术,帮助读者理解如何有效利用NLP工具进行文本数据分析。
46 2
|
1月前
|
JSON 数据格式 Python
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
这篇文章介绍了一个Python脚本,用于统计TXT或JSON文件中特定单词的出现次数。它包含两个函数,分别处理文本和JSON文件,并通过命令行参数接收文件路径、目标单词和文件格式。文章还提供了代码逻辑的解释和示例用法。
41 0
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
python自动化办公之python操作PPT(四)
python自动化办公之python操作PPT(四)
python自动化办公之python操作PPT(四)
python自动化办公之python操作PPT(三)
python自动化办公之python操作PPT(三)
python自动化办公之python操作PPT(三)
python自动化办公之python操作PPT(二)
python自动化办公之python操作PPT(二)
python自动化办公之python操作PPT(二)