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);
Android项目记录点滴的更多相关文章
- Android项目记录点滴2
1.把本机地址广播出去private void sendIP() { try { DatagramSocket dgSocket = new DatagramSocket(8989); byte[] ...
- Android项目的目录结构 初学者记录
Android项目的目录结构 Activity:应用被打开时显示的界面 src:项目代码 R.java:项目中所有资源文件的资源id Android.jar:Android的jar包,导入此包方可使用 ...
- eclipse — 导入android项目后识别成java项目的问题及解决
最近在eclipse导入android项目的时候遇到了奇葩问题,再此记录 遇到的问题就是:将完好的android项目导入到eclipse的时候,原本这是一个很容易的事情,但是导入成功后发现,,,靠ec ...
- Android项目实战(二十五):Android studio 混淆+打包+验证是否成功
前言: 单挑Android项目,最近即时通讯用到环信,集成sdk的时候 官方有一句 在 ProGuard 文件中加入以下 keep. -keep class com.hyphenate.** {*;} ...
- Android项目开发实战-2048游戏
<2048>是一款比较流行的数字游戏,最早于2014年3月20日发行.原版2048首先在GitHub上发布,原作者是Gabriele Cirulli,后被移植到各个平台.这款游戏是基于&l ...
- 在Windows上将ReactNative集成到现有的Android项目
React Natvie的官方文档的 Integrating with Existing Apps 已经很详细地教我们如何将React Natvie集成到现在的Android项目.我根据官方文档的步骤 ...
- Android项目结构 以及体系结构
学习Android平台的人一般对Android的平台的应该有点认识 其它的就不多讲了 Android项目一般由以下几个部分构成 以上是一个简单的Android项目结构目录图 1. src 主要是 源 ...
- Android项目目录结构分析
Android项目目录结构分析 1.HelloWorld项目的目录结构1.1.src文件夹1.2.gen文件夹1.3.Android 2.1文件夹1.4.assets 1.5.res文件夹1.6.An ...
- 第03讲- 第一个Android项目
第03讲第一个Android项目 Android项目目录结构: 重要文件: src res AndroidManifest.xml 包含内容: MainActivity.java (程序主视图) 存放 ...
随机推荐
- QTestLib Tutorial
本学习指南介绍了如何使用QTestLib框架的一些特性,分为4章: 编写一个单元测试程序 数据驱动测试 模拟GUI事件 重复GUI事件 第一章 编写一个单元测试程序 文件列表: qtestlib/tu ...
- php-fpm日志告警"seem busy"
php-fpm日志中出现"WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.m ...
- strace排除Linux服务器故障
strace是一个有用的小工具 – 大多数Linux系统默认已经安装 – 可以通过跟踪系统调用来让你知道一个程序在后台所做的事情.Strace是一个基础的调试工具;但是即便你不是在跟踪一个问题的时候它 ...
- Doubles water!!!!!!只会水题怎么破
Doubles Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Sub ...
- 文艺编程 Literate Programming
(译注:这篇文章是 Donald Knuth 一篇1983年的论文:Literate Programming 的介绍部分.有人翻译为“字面编程”,是极其错误的说法,literate 根本就没有“字面” ...
- openssl 加密
OpenSSL是一个强大的安全套接字层密码库,Apache使用它加密HTTPS,OpenSSH使用它加密SSH, 但是,你不应该只将其作为一个库来使用,它还是一个多用途的.跨平台的密码工具.
- jQuery改造插件,添加回调函数
<script language="javascript" type="text/javascript"> function doSomething ...
- hdu1079 Calendar Game
Calendar Game Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total ...
- android 拍照 onCreate() 调用两次的问题
拍照的代码网上都有就不写了!自己找下就ok了! 1 旋转屏幕导致问题! 这种情况很好解决:在androidManifest.xml 中设置activity 添加属性 android:configC ...
- 告示:CSDN博客通道支持Windows Live Writer写blog离线好友
尊敬的各位CSDN用户: 您好! 为了更好的服务客户.CSDN已经支持Windows Live Writer离线写博客啦.Windows Live Writer于2014年5月29日正式上线啦!欢迎大 ...