这几天看了一下在线浏览的实现,在网上看了些资料后发现实现的方法都大致相同,一般有一下几个步骤:
1. 将各类文件转换到pdf,这里需要用到的工具是OpenOffice。
利用OpenOffice将.doc,.xls,.ppt,.txt等文件转换成pdf需要以下几个步骤:
1) 安装OpenOffice 3:下载路径:http://zh.openoffice.org/index_gb.html
2) 用以下命令启动OpenOffice服务
cd C:/Program Files/OpenOffice.org 3/program
soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard
3)用第三方包: JODConverter v2.2.1实现转换 附demo:http://download.csdn.net/source/2821904
- public void doc2pdf() throws ConnectException{
- File input = new File("C://2swf//test.ppt");
- File output = new File("C://2swf//testppt2pdf.pdf");
- //DocumentFormat stw = new DocumentFormat("OpenOffice.org 1.0 Template", DocumentFamily.PRESENTATION, "application/vnd.sun.xml.writer", "stw");
- DefaultDocumentFormatRegistry formatReg = new DefaultDocumentFormatRegistry();
- DocumentFormat pdf = formatReg.getFormatByFileExtension("pdf");
- DocumentFormat ppt = formatReg.getFormatByFileExtension("ppt");
- OpenOfficeConnection ooc = new SocketOpenOfficeConnection(8100);
- try{
- ooc.connect();
- DocumentConverter convert = new OpenOfficeDocumentConverter(ooc);
- convert.convert(input, ppt, output, pdf);
- }catch (Exception e) {
- e.printStackTrace();
- }finally{
- try{
- if(ooc != null){
- ooc.disconnect();
- ooc = null;
- }
- }catch (Exception e) {
- e.printStackTrace();
- }
- }
2. 将pdf转换成swf文件,需要用到swftools.
可以在网上下载到的~~~
在后台只需要一句代码就可以实现转换:
Process pro = Runtime.getRuntime().exec("C://Program Files//SWFTools//pdf2swf.exe C:/test.pdf C:/test.swf");//起一个线程调用pdf2swf.exe进行转换。
3. 把swf文件在浏览器上显示出来,需要用到FlexPaper_1.4.0_swc。附:http://download.csdn.net/source/2817848
要将已经转换好的swf文件显示出来,只需要将下载的FlexPaper.swc添加到flex工程中即可,在flex页面上的代码如下:
- <flexpaper:FlexPaperViewer width="800" height="500" Scale="1" SwfFile="../upload/test.swf" id="fp_viewSwf">
- </flexpaper:FlexPaperViewer>
附上效果图:
这就是这几天的一些总结了,希望对各位有所帮助,水平有限,忘各位大虾不吝赐教~~~
本文转自:http://blog.csdn.net/qing_feixiang/archive/2010/11/10/6001549.aspx