`
阅读更多

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

 

工具:

  • Free Spire.Presentation for Java(免费版)
  • IntelliJ IDEA

Jar文件获取及导入:

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

方法2通过maven仓库导入到maven项目。

 

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

    }
}

 

 图片读取结果:


 

(本文完)

 

  • 大小: 246.1 KB
  • 大小: 56.9 KB
  • 大小: 112.9 KB
0
0
分享到:
评论

相关推荐

    如何使用Java读取PPT文本和图片

    主要介绍了如何使用Java读取PPT文本和图片,本篇文章将介绍通过Java程序来读取PPT幻灯片中的文本及图片的方法。读取图片时,可读取文档中的所有图片,也可以读取指定幻灯片当中的图片,需要的朋友可以参考下

    使用poi操作PPT

    本资源《初始版本》是精简版,《PPT模板生成PPT》是实际项目中的例子,具体就是使用poi去操作PPT,替换PPT中特定的文本,用${key}这种标识在PPT中存放,java代码使用value去替换PPT中的${key},从而生成新的PPT供大家...

    java实现poi模板生成PPT文件代码

    java实现poi模板生成PPT文件代码:两个迭代版本。java实现poi模板生成PPT文件代码:两个迭代版本。

    POI操作PPT文档(导入,导出,读取,添加,拼接,替换文本,页面排序)

    POI操作PPT文档(导入,导出,读取,添加,拼接,替换文本,页面排序)

    免费版 JAVA PPT控件 -Free Spire.Presentation for Java_2.0.0

    它支持功能十分丰富,如添加/编辑/删除幻灯片,创建图表、表格,添加项目符号,加密和解密PPT,添加水印,插入超链接、音频和视频,段落设置,文档属性设置,插入/提取图片,提取文本,设置动画,添加页眉页脚,添加...

    Java 免费PPT控件_Spire.Presentation-FE_2.6.1.zip

    Free Spire.Presentation for Java支持功能十分丰富,如添加/编辑/删除幻灯片,创建图表、表格,添加项目符号,加密和解密PPT,添加水印,插入超链接、音频和视频,段落设置,文档属性设置,插入/提取图片,提取文本...

    java IO流总结.md

    对于非文本文件(.jpg,.mp3,.mp4,.avi,.doc,.ppt,...),使用字节流处理 2.数据的流向:输入流、输出流 3.流的角色:节点流、处理流 节点流:直接从数据源或目的地读写数据 处理流:不直接连接到数据源或...

    免费版 JAVA PPT控件 -Free Spire.Presentation_2.6.0.zip

    它支持功能十分丰富,如添加/编辑/删除幻灯片,创建图表、表格,添加项目符号,加密和解密PPT,添加水印,插入超链接、音频和视频,段落设置,文档属性设置,插入/提取图片,提取文本,设置动画,添加页眉页脚,添加...

    JAVA 流 的ppt课件

    关于流的PPT课件理解流的概念及分类 掌握常用流的体系结构 运用字节流读写文本文件 运用字符流读写文本文件 使用文件类操作文件及目录

    Java Web应用开发:Servlet和JSP技术进阶.ppt

    隐藏表单技术 隐藏表单技术 HTML表单允许把一些字段信息隐藏起来,而在浏览器上不被显示出来,但是当表单提交时,这种隐藏表单元素的信息可以被作为参数提交。... Cookie可以随着请求和响应在浏览器和

    Spire.Presentation_3.7.4.zip

    Spire.Presentation for Java 支持功能十分丰富,如添加/编辑/删除幻灯片,创建图表、表格,添加项目符号,加密和解密 PPT,添加水印,插入超链接、音频和视频,段落设置,文档属性设置,插入/提取图片,提取文本,...

    基于Java和Python的爬虫项目实战源码.zip

    基于Java和Python的爬虫项目实战源码.zip 自己动手写网络爬虫》,并基于Python3和Java实现 为什么采用宽度优先搜索策略? 深度优先遍历可能会在深度上过“深”而陷入“黑洞”; 重要的网页往往距离种子网页比较近,...

    基于apache.poi实现批量修改PPT文件源码

    相关文章:https://arthas777.blog.csdn.net/article/details/133929501 源代码包括: 依赖导入 读取目标文件夹内所有PPT文件得到文件名列表 循环文件列表 加载一个PPT文件 删除某一页 替换文本 重新生成PPT文件

    使用Java实现一个基于内存的英文全文检索搜索引擎【100012394】

    读取文本文件的内容; 将内容切分成一个个的单词; 过滤掉其中一些不需要的单词,例如数字、停用词(the, is and 这样的单词)、过短或过长的单词(例如长度小于 3 或长度大于 20 的单词); 利用 Java 的集合类在...

    大工软院大二姜国海小学期-第二次作业要求.zip

    2. 给定文本文件,文件名称为a.txt,文件内容为一个8行8列的字符矩阵,内容为1和0字符, 请编程计算出该矩阵中水平方向或者垂直方向或者斜线方向连续1最多的个数。 例如: 11001101 10110101 01010101 ...

    npoi:在ASP.NET Core 2.0 Razor页面中导入和导出Excel

    POI是一个开源项目,可以帮助您读取/写入XLS,DOC,PPT文件。 它涵盖了Excel的大多数功能,例如样式,格式,数据公式,提取图像等。好处是,它不需要在服务器上安装Microsoft Office。 例如,您可以使用它来在...

    网管教程 从入门到精通软件篇.txt

    JAR:Java档案文件(一种用于applet和相关文件的压缩文件) JAVA:Java源文件 JFF,JFIF,JIF:JPEG文件 JPE,JPEG,JPG:JPEG图形文件 JS:javascript源文件 JSP:HTML网页,其中包含有对一个Java servlet...

Global site tag (gtag.js) - Google Analytics