Android 开发笔记(一百四十一)读取PPT 和 PDF 文件读取 ppt 文件读取纯文本HSLFSlideShow 类就是 poi 中专门用于解析幻灯片的工具类,每幻灯片又分别由单独的HSLFSlide 类处理,幻灯片中的具体图文容则由 HSLFTextParagraph 和 HSLFTextRun 进行分辨。下面是使用 poi 解析 ppt 文件(2024 格式)的效果图:不同版本的 poi 库在解析 ppt 的代码略有区别,下面是使用 poi15 读取 ppt 的代码:[java] view plain copypublic static ArrayList readPPT(String path) { ArrayList contentArray = new ArrayList(); try { FileInputStream fis = new FileInputStream(new File(path)); HSLFSlideShow hslf = new HSLFSlideShow(fis); List slides = hslf.getSlides(); for (int i = 0; i < slides.size(); i++) { String content = ""; HSLFSlide item = slides.get(i); // 读取一幻灯片的容(包括标题) List> tps = item.getTextParagraphs(); for (int j = 0; j < tps.size(); j++) { List tps_row = tps.get(j); for (int k = 0; k < tps_row.size(); k++) { HSLFTextParagraph tps_item = tps_row.get(k); List trs = tps_item.getTextRuns(); for (int l = 0; l < trs.size(); l++) { HSLFTextRun trs_item = trs.get(l); content = String.format("%s%s\n", content, trs_item.getRawText()); } } } contentArray.add(content); } } catch (Exception e) { e.printStackTrace(); } return contentArray; } 读取图文样式poi 方式只能有效读取 ppt 部的文字信息,对于 ppt 带的图片以与文字样式,便力有不逮了。在博文《Android 开发笔记(一百四十)Word 文件的读取与显示》中,提到可以解析 docx部的 document.xml 文件,从 xml 标记中猎取图片信息与样式信息,然后把图文格式构造成html 文件,最后由 WebView 网页视图加载显示 html。对于 pptx 文件,也可以解析 pptx 部的 slide*.xml 幻灯片文件,采纳跟解析 docx 类似的做法,把解析得到的图片与样式数据写入到 html 文件,从而曲线实现了 pptx 文件的读取功能。下面是以 HTML 格式显示 pptx 文件的效...