目录结构

  • 前言
  • 文档准备
  • 引入Maven依赖
  • 代码块
  • 提取结果验证
    • ppt_demo.ppt 提取结果
    • pptx_demo.pptx 提取结果

前言

应公司需求,需实现以下功能

  1. PPT文本内容的替换;
  2. PPT文本内容的提取;
  3. PPT中图片的提取存放;

此文章将使用Spire.Presentation实现对PPT文件中文本内容及图片的提取;

Spire.Presentation for Java是一个专业的 PowerPoint API,180846090使开发人员能够在 Java 应用程序中创建、读取、编写、转换和保存 PowerPoint 文档。作为一个独立的Java 库,Spire.Presentation 不需要在系统上安装Microsoft PowerPoint。

文档准备

小编准备了以下两个文件:《ppt_demo.ppt》《pptx_demo.pptx》,分别代表不同版本的PPT,以便提取测试,如下图

引入Maven依赖

<repositories><repository><id>com.e-iceblue</id><name>e-iceblue</name><url>http://repo.e-iceblue.com/nexus/content/groups/public/</url></repository>
</repositories><dependencies><dependency><groupId>e-iceblue</groupId><artifactId>spire.presentation</artifactId><version>4.9.2</version></dependency>
</dependencies>

代码块

package com.bjzaxk.utils;import com.spire.presentation.IAutoShape;
import com.spire.presentation.ISlide;
import com.spire.presentation.ParagraphEx;
import com.spire.presentation.Presentation;import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileWriter;public class Demo {public static void main(String[] args) {//        String filePath = "C:\\Users\\Administrator\\Desktop\\java_poi\\demo_file\\ppt_demo.ppt";String filePath = "C:\\Users\\Administrator\\Desktop\\java_poi\\demo_file\\pptx_demo.pptx";// 文本提取后存放路径及文件名
//        String extractFilePath = "C:\\Users\\Administrator\\Desktop\\java_poi\\demo_file\\ppt_demo.txt";String extractFilePath = "C:\\Users\\Administrator\\Desktop\\java_poi\\demo_file\\pptx_demo.txt";// 图片提取后存放路径String imageFilePath = "C:\\Users\\Administrator\\Desktop\\java_poi\\demo_file\\";pptTextExtract(filePath, extractFilePath);pptImageExtract(filePath, imageFilePath);}/*** @description: 提取PPT中的文本信息* @author: Mr.Jkx* @time: 2023/2/2 14:53*/public static void pptTextExtract(String filePath, String extractFilePath) {try {//加载文档Presentation ppt = new Presentation();ppt.loadFromFile(filePath);StringBuilder buffer = new StringBuilder();//遍历文档中的幻灯片,提取文本for (Object slide : ppt.getSlides()) {for (Object shape : ((ISlide) slide).getShapes()) {if (shape instanceof IAutoShape) {for (Object tp : ((IAutoShape) shape).getTextFrame().getParagraphs()) {buffer.append(((ParagraphEx) tp).getText()).append("\r\n");}}}}if (buffer.length() > 0) {//保存到文本文件FileWriter writer = new FileWriter(extractFilePath);writer.write(buffer.toString());writer.flush();writer.close();}} catch (Exception e) {e.printStackTrace();}}/*** @description: 提取PPT中的图片* @author: Mr.Jkx* @time: 2023/1/10 14:26*/public static void pptImageExtract(String filePath, String imageFilePath) {try {//加载文档Presentation ppt = new Presentation();ppt.loadFromFile(filePath);//提取文档中的所有图片for (int i = 0; i < ppt.getImages().getCount(); i++) {BufferedImage image = ppt.getImages().get(i).getImage();ImageIO.write(image, "PNG", new File(imageFilePath + "pptImage_" + System.currentTimeMillis() + ".png"));}} catch (Exception e) {e.printStackTrace();}}
}

提取结果验证

  • 提取文本会存放于一个txt文件中(小编工作需求,其他类型文件未尝试!);
  • 提取的图片会存放于“imageFilePath ”路径中;
  • 提取过程中不会改变原本PPT内容;

ppt_demo.ppt 提取结果

pptx_demo.pptx 提取结果

Java Spire.Presentation 之PPT文本图片内容提取相关推荐

  1. Spire.Presentation(pptx/ppt) for Java 7.12.0

    Spire.Presentation(pptx/ppt) for Java是一个专业的 PowerPoint API,使开发人员能够在 Java 应用程序中创建.读取.编写.转换和保存 PowerPo ...

  2. java 读取ppt_Java 读取PPT文本和图片

    本篇文章将介绍通过Java程序来读取PPT幻灯片中的文本及图片的方法.读取图片时,可读取文档中的所有图片,也可以读取指定幻灯片当中的图片. 工具:Free Spire.Presentation for ...

  3. java图片去掉文字_关于java:Java-添加删除PPT文本和图片水印

    在前文中,我介绍过如何给PDF文档增加文本和图片水印.本文将具体解说如何增加.删除PPT文本和图片水印. 此次代码示例所用到的工具是Free Spire.Presentation for Java.F ...

  4. Java poi之word文本图片内容提取

    目录结构 前言 文档准备 引入Maven依赖 代码块 提取结果验证 孤勇者提取结果 青鸟提取结果对比 前言 应公司需求,需实现以下功能 word文本内容的替换: word文本内容的提取: word文档 ...

  5. python提取ppt文本_提取PPT中的文字(包括图片中的文字)

    python是一门很强大的语言,因为有着丰富的第三方库,所以可以说Python是无所不能的. 很多人都知道,Python可以操作Excel,PDF·还有PPT,这篇文章就围绕Python提取PPT中的 ...

  6. java ppt控件_Java版PPT操作控件Spire.Presentation v3.3.5新版来袭!支持转换GroupShape到图片...

    Spire.Presentation for Java是专业的 PowerPoint API,它允许开发人员在 Java 应用程序中创建.读取.写入.转换和保存 PowerPoint 文档.作为一款独 ...

  7. java ppt控件_Java版PPT操作控件Spire.Presentation v2.12.2新版来袭!支持获取具有超链接的目标幻灯片...

    Spire.Presentation for Java是专业的 PowerPoint API,它允许开发人员在 Java 应用程序中创建.读取.写入.转换和保存 PowerPoint 文档.作为一款独 ...

  8. java读取ppt内容_Java 读取/获取PPT文本

    import com.spire.presentation.*; import java.io.FileWriter; public class ExtractText { public static ...

  9. java 打开ppt_如何使用Java读取PPT文本和图片

    前言 本篇文章将介绍通过Java程序来读取PPT幻灯片中的文本及图片的方法.读取图片时,可读取文档中的所有图片,也可以读取指定幻灯片当中的图片. 工具: Free Spire.Presentation ...

最新文章

  1. CrowdHuman 测试
  2. git reset revert 回退回滚取消提交返回上一版本
  3. 跨域问题的前后端解决方案
  4. Apache FileUpload介绍
  5. struts2的文件上传机制
  6. Android对应用程序签名
  7. [ActionScript 3.0] NetConnection建立客户端与服务器的双向连接
  8. 如何在EXCEL中添加下拉框
  9. Acwing1086. 恨7不成妻(未解决)
  10. C++继承和组合——带你读懂接口和mixin,实现多功能自由组合
  11. 一个简洁实用的后台管理系统AWESOME
  12. 实现Serclet(1)
  13. JSP 标准标签库(JSTL)(菜鸟教程)
  14. 博信医药系统连接不到服务器,博信医药管理系统
  15. 大学生计算机考试PPT制作,计算机等级考试制作PPT表格
  16. win10电脑插入U盘不显示U盘盘符怎么办?
  17. global value supply chain白皮书
  18. 什么是邮箱域名,企业邮箱域名有什么好处?
  19. tiktok英国小店注册流程介绍
  20. mac book pro 安装网络准入后经常死机

热门文章

  1. MIPI DSI转LVDS的桥接芯片,其应用图如下: ICN6202
  2. android 新闻应用、Xposed模块、酷炫的加载动画、下载模块、九宫格控件等源码
  3. 1.《小狗钱钱》读书笔记
  4. 错觉图片生成实验 - 平行线(黑林错觉)
  5. 基于视频流传输 — 在线教育白板技术
  6. Android OpenGL 摄像头,使用OpenGLES 在 android 上显示摄像头滤镜效果
  7. 【Python】爬虫(Xpath):批量爬取彼岸图网4K图(非真正4K)
  8. excel 转csv 导入数据库乱码解决
  9. VP-Expert的下载安装以及如何运行
  10. GameFramework:打包资源,打随app发布包,打包生成文件夹说明,上传资源至服务器,下载资源,GameFreamworkList.dat 与GameFrameworkVersion.dat