前言

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

工具:

Free Spire.Presentation for Java(免费版)

IntelliJ IDEA

Jar文件获取及导入:

方法1:官网下载jar文件包。下载后,解压文件,并在java程序中导入lib文件夹下的Spire.Presentation.jar文件。

Java代码示例

测试文档:

【示例1】读取PPT中的文本

import com.spire.presentation.IAutoShape;

import com.spire.presentation.ISlide;

import com.spire.presentation.ParagraphEx;

import com.spire.presentation.Presentation;

import java.io.FileWriter;

public class ExtractText {

public static void main(String[]args) throws Exception{

//加载测试文档

Presentation ppt = new Presentation();

ppt.loadFromFile("test.pptx");

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());

}

}

}

}

//保存到文本文件

FileWriter writer = new FileWriter("ExtractText.txt");

writer.write(buffer.toString());

writer.flush();

writer.close();

}

}

文本读取结果:

【示例2】读取PPT中的所有图片

import com.spire.presentation.Presentation;

import javax.imageio.ImageIO;

import java.awt.image.BufferedImage;

import java.io.File;

public class ExtractAllImgs {

public static void main(String[] args) throws Exception {

//加载文档

Presentation ppt = new Presentation();

ppt.loadFromFile("test.pptx");

//提取文档中的所有图片

for (int i = 0; i < ppt.getImages().getCount(); i++) {

BufferedImage image = ppt.getImages().get(i).getImage();

ImageIO.write(image, "PNG", new File(String.format("AllImage-%1$s.png", i)));

}

}

}

【示例3】读取指定幻灯片中的图片

import com.spire.presentation.*;

import javax.imageio.ImageIO;

import java.awt.image.BufferedImage;

import java.io.File;

public class ExtractImgsInSpecifiedSlide {

public static void main(String[]args) throws Exception{

//加载文档

Presentation ppt = new Presentation();

ppt.loadFromFile("test.pptx");

//获取第2张幻灯片

ISlide slide = ppt.getSlides().get(1);

//提取图片

for(int i = 0; i< slide.getShapes().getCount(); i++)

{

IShape shape = slide.getShapes().get(i);

if(shape instanceof SlidePicture)

{

SlidePicture pic = (SlidePicture) shape;

BufferedImage image = pic.getPictureFill().getPicture().getEmbedImage().getImage();

ImageIO.write(image, "PNG", new File(String.format("extractImageinslide-%1$s.png", i)));

}

if(shape instanceof PictureShape)

{

PictureShape ps = (PictureShape) shape;

BufferedImage image = ps.getEmbedImage().getImage();

ImageIO.write(image, "PNG", new File(String.format("extractImageinslide-%1$s.png", i)));

}

}

}

}

图片读取结果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

java 打开ppt_如何使用Java读取PPT文本和图片相关推荐

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

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

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

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

  3. java写到txt乱码_java读取txt文本发生乱码的解决方法

    java读取txt文本发生乱码的解决方法 发布时间:2020-06-25 17:35:58 来源:亿速云 阅读:90 作者:Leah 本篇文章为大家展示了java读取txt文本发生乱码的解决方法,代码 ...

  4. C# 读取PDF文本和图片

    转自:https://zhuanlan.zhihu.com/p/137197267 本文介绍如何通过C#程序来读取PDF文档中的文本好图片. 所需工具:Free Spire.PDF for .NET ...

  5. java多态ppt_轻松学Java之继承与多态PPT课件.pptx

    轻松学Java之继承与多态PPT课件.pptx 第8章 继承与多态,在前面我们已经了解了类的基本使用方法.对于面向对象的程序而言,它的精华在于类的继承可以以既有的类为基础,进而派生出新的类.通过这种方 ...

  6. java打开密码pdf,在Java中使用密码解密PDF文档

    在Java中使用密码解密PDF文档 文档加密是确保企业与其外部客户之间安全地传递信息的最常用方法之一.所有PDF文件都提供了加密功能,可确保任何试图拦截信息的人都可以在没有密码的情况下打开它,密码应在 ...

  7. java word 批注_Java 添加Word批注(文本、图片)

    import com.spire.doc.*; import com.spire.doc.documents.Paragraph; import com.spire.doc.fields.Commen ...

  8. java 创建ppt文件怎么打开文件,JAVA读取PPT文件

    JAVA读取PPT文件 import java.io.InputStream; import org.apache.lucene.document.Document; import org.apach ...

  9. java 课件ppt_《java语言入门》PPT课件.ppt

    <java语言入门>PPT课件.ppt Java 语言入门,第一章,目标,了解Java开发环境 JDK 掌握Java程序开发过程 能默写两个版本的"Hello World&quo ...

最新文章

  1. python setup.py install 安装的包 卸载方法
  2. 面试题-两个数值交换
  3. ConcurrentModificationException 问题
  4. 多方计算时,每次结果都存在着巨大隐患,如何解决
  5. 从 BM 到 RBM
  6. django 获取环境变量_django 环境变量配置过程详解
  7. python列表操作详解_Python --列表(List)详解
  8. linux界面电池信息,Linux下查看电池损耗等信息
  9. discuz mysql语句_discuz 数据库插入
  10. Windows系统重装教程完整版(系统备份、系统还原与重装)
  11. matlab求条件概率密度_你真的会用程序求多重积分吗?
  12. OCT-视网膜分层处理
  13. 试比较瀑布模型、快速原型模型、增量模型和螺旋模型的优缺点,说明每种模型的适用范围。
  14. applet java_Java—Applet
  15. Android Sunflower 带您玩转 Jetpack
  16. Linux嵌入式开发 -- imx6ull 主频配置
  17. 华为云服务-应用部署2-创建环境到创建应用
  18. 【Flutter】Flutter 页面跳转 ( 路由 Route | 导航器 Navigator | 页面关闭 )
  19. 微信小程序实现雪花飘落的效果
  20. C++小课堂:STL中的栈容器(stack)

热门文章

  1. D2D资源分配的方式
  2. 动态规划 堆沙子问题
  3. 不要逼我……我想做乖孩子
  4. 将Vmware虚拟机磁盘映射到本地实现文件传输
  5. iOS开发:简单的Toast提示框实现
  6. 不管是大神还是新手,墙裂推荐7个实用C4D插件,成为C4D高效玩家
  7. Zoundry Raven网易博客设置
  8. CloneCD和IsoBuster配合使用以提取VCD中的文件
  9. 浙江省宁波温州台州绍兴卫星地图1省4市合一大高清图(2021年)
  10. Tiled Map Editor(瓦片地图编辑器)的Java和QT版本区别