2003和2007PPT解析
演示:http://www.huiyi8.com/ppt/
StringBuilder sb =
new
StringBuilder();
if
(StringUtils.equalsIgnoreCase(
".pptx"
, ext)) {
// 2007 2010
XMLSlideShow xmlslideshow =
new
XMLSlideShow(
new
FileInputStream(file));
// 根据xml格式的文件得到一个ppt素材
XSLFPowerPointExtractor ppt =
new
XSLFPowerPointExtractor(xmlslideshow);
sb.append(ppt.getText());
//TODO2
// XMLSlideShow ppt = new XMLSlideShow( new FileInputStream(file) );
//
// for( XSLFSlide slide : ppt.getSlides() ){
// for( XSLFShape shape : slide.getShapes() ){
// if ( shape instanceof XSLFTextShape ){
// XSLFTextShape txtshape = (XSLFTextShape)shape ;
// System.out.println(txtshape.getText());
// } else if(shape instanceof XSLFAutoShape){
// XSLFAutoShape autoShape = (XSLFAutoShape)shape;
// System.out.println(autoShape.getText());
// } else if(shape instanceof XSLFFreeformShape){
// XSLFFreeformShape shape2 = (XSLFFreeformShape)shape;
// System.out.println(shape2.getText());
// }else if ( shape instanceof XSLFConnectorShape ) {
// XSLFConnectorShape shape2 = (XSLFConnectorShape)shape ;
// System.out.println(shape2.getShapeName()) ;
// } else if ( shape instanceof XSLFPictureShape ){
// XSLFPictureShape shape2 = (XSLFPictureShape)shape ;
// System.out.println(shape2.getShapeName()) ;
// } else if ( shape instanceof XSLFGroupShape ){
// XSLFGroupShape shape2 = (XSLFGroupShape)shape ;
// System.out.println(shape2.getShapeName()) ;
// } else if ( shape instanceof XSLFSimpleShape ){
// XSLFSimpleShape shape2 = (XSLFSimpleShape)shape ;
// System.out.println(shape2.getShapeName()) ;
// }
// }
// }
}
else
{
// 2003 HSSFWorkbook
SlideShow ss =
new
SlideShow(
new
HSLFSlideShow(
new
FileInputStream(file)));
// PowerPointExtractor ppt = new PowerPointExtractor(new FileInputStream(file));
// sb.append(ppt.getText());
try
{
Slide[] slides = ss.getSlides();
// 获得每一张幻灯片
for
(
int
i =
0
; i < slides.length; i++) {
TextRun[] t = slides[i].getTextRuns();
// 为了取得幻灯片的文字内容,建立TextRun
for
(
int
j =
0
; j < t.length; j++) {
sb.append(t[j].getText());
// 这里会将文字内容加到content中去
}
sb.append(slides[i].getTitle());
}
}
catch
(Exception ex) {
System.err.println(ex.toString());
}
}
return
sb.toString();