java实现在线预览功能 swftools+flexPaper
2014-01-28 10:31
806 查看
ava实现在线预览功能 swftools+flexPaper
最近做项目用户有个需求,要求在线预览上传的pdf文件。遂上网寻找解决路线,一阵狂搜,得到答案swftools+flexPaper.swftools:用来将pdf文件转换成swf文件http://www.swftools.org/download.html
flexPaper:用来在线预览swf文件http://flexpaper.devaldi.com/download/ 下载Download Web Server Package版本。
写了一个工具类用来调用本地应用
第一个问题,在转换大的pdf文件时,运行很慢不能成功转换。上网查了一下原因,有的说是Process类里面I/O流产生阻塞,导致线程不能继续执行,遂查看api
By default, the created subprocess does not have its own terminal or console. All its standard I/O (i.e. stdin, stdout, stderr) operations will be redirected to the parent process, where they can be accessed via the streams obtained using the methods , , and .
The parent process uses these streams to feed input to and get output from the subprocess. Because some native platforms only provide limited buffer size for standard input and output streams, failure to promptly write the input stream or read the output stream
of the subprocess may cause the subprocess to block, or even deadlock.
大致意思,默认情况下被创建的子进程没有终端或控制台。所有的标准I/O流都被重定向到了父线程,可以通过 , 和.方法获得这些流。父进程通过这些流与子进程交互。有一些宿主平台只提供了大小有限制的缓存,来缓存这些输入输出流。当缓冲区填满了,就不能及时写入输入流或读出子进程的输出流,这可能导致子进程阻塞,甚至死锁。
原因找到了,就是因为程序在被调用执行时,产生了大量的输出流,而笔者又没有及时读取子进程的输出,所以导致子进程被阻塞了。(以上工具类已经读取了子进程的输出流)
这里要解释一下和.的区别
以下属于errorStream
一下属于inputStream
这下读者该能够区分什么时候调用哪个方法了吧。
第二个问题:
用flexPaper查看被转换的swf文件时,右上角总是有个小圆圈再转,并且显示已经100%了,但就是打不开。问题是flash版本问题在调用pdf2swf.exe时加上版本信息就好了
以下是显示页面主要代码
相关文章推荐
- Java+FlexPaper+swfTools仿百度文库文档在线预览系统设计与实现
- Java+FlexPaper+swfTools仿百度文库文档在线预览系统设计与实现
- 浅谈 Java+FlexPaper+swfTools仿百度文库文档在线预览系统设计与实现
- Java语言下,openoffcie+swfTools+flexPaper在线预览功能,包含linux服务器部署
- Java实现文档在线预览(openoffice+swfTools+FlexPaper)
- Java+FlexPaper+swfTools仿百度文库文档在线预览系统设计与实现
- 文档在线预览:Java+FlexPaper+swfTools仿百度文库的设计与实现
- Java实现文档在线预览(openoffice+swfTools+FlexPaper)
- java SpringMvc 实现文件在线预览(openoffice+swftools+flexpaper)
- Java+FlexPaper+swfTools仿百度文库文档在线预览系统设计与实现
- JAVA Web项目中用OpenOffice+Swftools+Flexpaper实现在线预览,txt文件出现乱码!
- java实现文件预览(openoffice+swftools+flexpaper)
- Java--office(word......)在线预览(openoffice+swfTools+FlexPaper)
- java实现附件预览(openoffice+swfTools+FlexPaper)
- java实现附件预览(openoffice+swftools+flexpaper)
- [Asp.net]使用flexpaper+swftools大文件分页转换实现在线预览
- FlexPaper+SWFTools ,java实现在线文档浏览
- FlexPaper+SWFTools ,java实现在线文档浏览
- java实现附件预览(openoffice+swftools+flexpaper)
- Openoffice+swfTools+flexPaper实现在线预览