Java Spire.Presentation 之PPT文本图片内容提取
目录结构
- 前言
- 文档准备
- 引入Maven依赖
- 代码块
- 提取结果验证
- ppt_demo.ppt 提取结果
- pptx_demo.pptx 提取结果
前言
应公司需求,需实现以下功能
- PPT文本内容的替换;
- PPT文本内容的提取;
- 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文本图片内容提取相关推荐
- Spire.Presentation(pptx/ppt) for Java 7.12.0
Spire.Presentation(pptx/ppt) for Java是一个专业的 PowerPoint API,使开发人员能够在 Java 应用程序中创建.读取.编写.转换和保存 PowerPo ...
- java 读取ppt_Java 读取PPT文本和图片
本篇文章将介绍通过Java程序来读取PPT幻灯片中的文本及图片的方法.读取图片时,可读取文档中的所有图片,也可以读取指定幻灯片当中的图片. 工具:Free Spire.Presentation for ...
- java图片去掉文字_关于java:Java-添加删除PPT文本和图片水印
在前文中,我介绍过如何给PDF文档增加文本和图片水印.本文将具体解说如何增加.删除PPT文本和图片水印. 此次代码示例所用到的工具是Free Spire.Presentation for Java.F ...
- Java poi之word文本图片内容提取
目录结构 前言 文档准备 引入Maven依赖 代码块 提取结果验证 孤勇者提取结果 青鸟提取结果对比 前言 应公司需求,需实现以下功能 word文本内容的替换: word文本内容的提取: word文档 ...
- python提取ppt文本_提取PPT中的文字(包括图片中的文字)
python是一门很强大的语言,因为有着丰富的第三方库,所以可以说Python是无所不能的. 很多人都知道,Python可以操作Excel,PDF·还有PPT,这篇文章就围绕Python提取PPT中的 ...
- java ppt控件_Java版PPT操作控件Spire.Presentation v3.3.5新版来袭!支持转换GroupShape到图片...
Spire.Presentation for Java是专业的 PowerPoint API,它允许开发人员在 Java 应用程序中创建.读取.写入.转换和保存 PowerPoint 文档.作为一款独 ...
- java ppt控件_Java版PPT操作控件Spire.Presentation v2.12.2新版来袭!支持获取具有超链接的目标幻灯片...
Spire.Presentation for Java是专业的 PowerPoint API,它允许开发人员在 Java 应用程序中创建.读取.写入.转换和保存 PowerPoint 文档.作为一款独 ...
- java读取ppt内容_Java 读取/获取PPT文本
import com.spire.presentation.*; import java.io.FileWriter; public class ExtractText { public static ...
- java 打开ppt_如何使用Java读取PPT文本和图片
前言 本篇文章将介绍通过Java程序来读取PPT幻灯片中的文本及图片的方法.读取图片时,可读取文档中的所有图片,也可以读取指定幻灯片当中的图片. 工具: Free Spire.Presentation ...
最新文章
- CrowdHuman 测试
- git reset revert 回退回滚取消提交返回上一版本
- 跨域问题的前后端解决方案
- Apache FileUpload介绍
- struts2的文件上传机制
- Android对应用程序签名
- [ActionScript 3.0] NetConnection建立客户端与服务器的双向连接
- 如何在EXCEL中添加下拉框
- Acwing1086. 恨7不成妻(未解决)
- C++继承和组合——带你读懂接口和mixin,实现多功能自由组合
- 一个简洁实用的后台管理系统AWESOME
- 实现Serclet(1)
- JSP 标准标签库(JSTL)(菜鸟教程)
- 博信医药系统连接不到服务器,博信医药管理系统
- 大学生计算机考试PPT制作,计算机等级考试制作PPT表格
- win10电脑插入U盘不显示U盘盘符怎么办?
- global value supply chain白皮书
- 什么是邮箱域名,企业邮箱域名有什么好处?
- tiktok英国小店注册流程介绍
- mac book pro 安装网络准入后经常死机
热门文章
- MIPI DSI转LVDS的桥接芯片,其应用图如下: ICN6202
- android 新闻应用、Xposed模块、酷炫的加载动画、下载模块、九宫格控件等源码
- 1.《小狗钱钱》读书笔记
- 错觉图片生成实验 - 平行线(黑林错觉)
- 基于视频流传输 — 在线教育白板技术
- Android OpenGL 摄像头,使用OpenGLES 在 android 上显示摄像头滤镜效果
- 【Python】爬虫(Xpath):批量爬取彼岸图网4K图(非真正4K)
- excel 转csv 导入数据库乱码解决
- VP-Expert的下载安装以及如何运行
- GameFramework:打包资源,打随app发布包,打包生成文件夹说明,上传资源至服务器,下载资源,GameFreamworkList.dat 与GameFrameworkVersion.dat