Android项目记录点滴

服务器端:(根据Apache POI库函数其中SlideShow表示PPT文档,Slide表示某一张幻灯片

1.先把电脑中的PPT文件读入到一个字节数组中。(输入流-->字节数组-->输出流-->字节数组)

    FileInputStream inputStream = new FileInputStream(Path);

    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
    byte[] byffer = new byte[1024];
    int length = -1;
    while ((length = is.read(byffer)) != -1) {
    byteArrayOutputStream.write(byffer, 0, length);

    }
    byteArrayOutputStream.close();
    byte[]  fileBuffer = byteArrayOutputStream.toByteArray();


2.创建SlideShow(把PPT输入流转为SlideShow)

(Apache POI库函数SlideShow(java.io.InputStream inputStream)Constructs a Powerpoint document from an input stream.

  FileInputStream inputStream = new FileInputStream(Path);

   SlideShow ppt = new SlideShow(is);

  如果是pptx格式的PPT,则,XMLSlideShow pptx = new XMLSlideShow(is);


3.获取幻灯片数组

    Slide slide = ppt.getSlides();

    如果是pptx格式的PPT,则,XSLFSlide slidePPTx = pptx.getSlides();


4.使用batik操作SVG图片(生成DOM树)

DOMImplementation domImpl = SVGDOMImplementation.getDOMImplementation();
Document doc = domImpl.createDocument("http://www.w3.org/2000/svg", "svg", null);

5.渲染doc (Document 为存放PPT或pptx的XML数据结构)

SVGGraphics2D graphics = new SVGGraphics2D(doc);
graphics.setSVGCanvasSize( pgsize);
graphics.setPaint(Color.white);

slide[currentPage - 1].draw(graphics);
Element svgRoot = doc.getDocumentElement();
graphics.getRoot(svgRoot);


6.在画布中展示PPT转化为的SVG图片

JSVGCanvas _svgCanvas = new JSVGCanvas();

_svgCanvas.setDocument(doc);

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值