Chinaunix首页 | 论坛 | 博客
  • 博客访问: 44797
  • 博文数量: 42
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 265
  • 用 户 组: 普通用户
  • 注册时间: 2014-11-11 10:39
文章分类
文章存档

2015年(12)

2014年(30)

我的朋友

分类: Web开发

2014-12-15 15:39:47

  2003和2007PPT解析
   演示:


StringBuilder sb = new StringBuilder();
  if (StringUtils.equalsIgnoreCase(".pptx", ext)) {// 2007 2010
    XMLSlideShow xmlslideshow = new XMLSlideShow(new FileInputStream(file));
    // 根据xml格式的文件得到一个
    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();
阅读(666) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~