HSLFSlide item = slides.get(i);
// 读取一幻灯片的容(包括标题)
List<List<HSLFTextParagraph>> tps = item.getTextParagraphs();
for (int j = 0; j < tps.size(); j++) {
List<HSLFTextParagraph> tps_row = tps.get(j);
for (int k = 0; k < tps_row.size(); k++) {
HSLFTextParagraph tps_item = tps_row.get(k);
List<HSLFTextRun> 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 文件的效果图:
评论0
最新资源