Python办公神器:教你批量提取PPT中的文字

Python办公神器:教你批量提取PPT中的文字

介绍

  • 本文将介绍如何使用pptxdocx库来将PPT中的文字提取到Word中。
  • 本文假设你已经安装了python和这两个库。
  • 本文的场景是:你需要将一个PPT文件中的所有文字内容提取出来,并按照原来的格式和顺序写入到一个Word文档中。

准备工作

  • 首先,我们需要导入pptxdocx库,以及其他一些辅助库,如下:
python 复制代码
import pptx
from docx import Document
from docx.shared import Pt
import os
  • 这些库的作用是:

    • pptx库可以让我们读取和修改PPT文件的内容和格式。
    • docx库可以让我们创建和编辑Word文档的内容和格式。
    • Pt是一个辅助函数,可以将字号转换为磅(point)单位,方便我们设置字体大小。
    • os库可以让我们操作文件系统,例如创建目录,保存文件等。
  • 然后,我们需要定义一些常量,如文件名,字体,颜色等,如下:

python 复制代码
# 文件名
PPT_FILE = 'source.pptx'
WORD_FILE = 'output.docx'

# 字体
FONT_NAME = '宋体'
FONT_SIZE = 12
  • 这些常量的作用是:

    • PPT_FILE是我们要提取文字的PPT文件的名称,你可以根据你自己的文件名进行修改。
    • WORD_FILE是我们要写入文字的Word文档的名称,你可以根据你自己的喜好进行修改。
    • FONT_NAME是我们要使用的字体的名称,你可以根据你自己的喜好进行修改。
    • FONT_SIZE是我们要使用的字体的大小,你可以根据你自己的喜好进行修改。
  • 接下来,我们需要加载PPT文件和创建Word文档对象,如下:

python 复制代码
# 加载PPT文件
prs = pptx.Presentation(PPT_FILE)

# 创建Word文档对象
doc = Document()
  • 这些代码的作用是:
    • prs = pptx.Presentation(PPT_FILE)是用pptx库的Presentation类来创建一个PPT文件的对象,我们可以通过这个对象来访问和修改PPT文件的内容和格式。
    • doc = Document()是用docx库的Document类来创建一个空白的Word文档的对象,我们可以通过这个对象来添加和编辑Word文档的内容和格式。

提取PPT文字

  • 首先,我们需要遍历PPT文件中的每一个幻灯片,如下:
python 复制代码
# 遍历PPT文件中的每一个幻灯片
for slide in prs.slides:
    # 在此处添加代码
  • 这段代码的作用是:

    • for slide in prs.slides:是用一个for循环来遍历PPT文件对象prs中的每一个幻灯片对象slide,我们可以通过这个对象来访问和修改幻灯片的内容和格式。
  • 然后,我们需要遍历每一个幻灯片中的每一个形状,判断是否是包含文本的形状,如果是,就获取其内部的文本框对象,如下:

python 复制代码
# 遍历每一个幻灯片中的每一个形状
for shape in slide.shapes:
    # 判断是否是包含文本的形状
    if shape.has_text_frame:
        # 获取其内部的文本框对象
        text_frame = shape.text_frame
        # 在此处添加代码
  • 最后,我们需要遍历每一个文本框中的每一个段落,获取其文本内容和格式,然后将其写入到Word文档中,如下:
python 复制代码
# 遍历每一个文本框中的每一个段落
for paragraph in text_frame.paragraphs:
    # 获取其文本内容和格式
    text = paragraph.text
    font = paragraph.font
    # 将其写入到Word文档中
    doc.add_paragraph(text, style=font)

保存Word文档

  • 最后,我们需要保存生成的Word文档,如下:
python 复制代码
# 保存生成的Word文档
doc.save(WORD_FILE)
  • 这段代码的作用是:
    • doc.save(WORD_FILE)是用Word文档对象docsave方法来保存生成的Word文档,参数WORD_FILE是我们定义的Word文档的名称,你可以在你的电脑上找到这个文件。

总结

  • 本文介绍了如何使用python-pptxpython-docx库来将PPT中的文字提取到Word中。
  • 本文通过一个实际的场景,演示了如何遍历PPT文件中的每一个幻灯片,每一个形状,每一个文本框,每一个段落,获取其文本内容和格式,然后将其写入到Word文档中。
相关推荐
陈随易5 小时前
在 VSCode 里,把项目一键部署到服务器
前端·后端·程序员
鱼樱前端5 小时前
我用 Claude Code 后,编码效率翻 3 倍。但更值钱的是别的。
前端·后端·ai编程
犀利豆6 小时前
Claude code tools 研究系列-开篇(AskUserQuestion)
后端
颜酱9 小时前
06 | 把 meta_config 同步进 MySQL(生成阶段)
前端·人工智能·后端
IT_陈寒10 小时前
SpringBoot自动配置坑了我一周,原来问题这么蠢!
前端·人工智能·后端
iOS开发上架哦10 小时前
Android代码混淆与iOS加固技术详解
后端·ios
Alan_69111 小时前
商品详情优化三板斧-拆分-多级缓存-GC调参
后端·缓存
Conan在掘金11 小时前
ArkTS 进阶之道(3):为哈禁解构声明?类型一眼可见 vs 推断链断裂
后端
晚安code11 小时前
干掉成山的 if-else:工厂造、策略选,一文讲透两个模式的配合
后端·设计模式
feng尘11 小时前
深度解析布隆过滤器(Bloom Filter):原理、优缺点与 1000 万黑名单实战
后端·面试