一、需求背景
最近工作中,需要将多份PPT文档中的文本内容全部提取出来。为了在Java程序中快速完成这个操作,提高工作效率,在网上搜索测试了一些方法,发现Free Spire.Presentation for Java的操作比较简单。
二、环境配置(2种方法导入Jar包)
1. 下载Free Spire.Presentation for Java包并解压缩,然后将lib文件夹下的jar包作为依赖项直接导入到Java应用程序中。
2. 通过Maven仓库安装jar包,配置pom.xml文件的代码如下:
com.e-iceblue
http://repo.e-iceblue.cn/repository/maven-public/
e-iceblue
spire.presentation.free
2.6.1
源文档如下:
三、Java代码
import com.spire.presentation.*;
import java.io.FileWriter;
public class ExtractText {
public static void main(String[] args) throws Exception {
//创建Presentation实例
Presentation ppt = new Presentation();
//加载PowerPoint文档
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();
}
}
输出结果: