首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

利用OpenOffice跟FlexPaper创建类百度文库的预览

2012-11-07 
利用OpenOffice和FlexPaper创建类百度文库的预览思路:1.利用OpenOffice将文档型文件(doc,docx,xls,xlsx)转

利用OpenOffice和FlexPaper创建类百度文库的预览
思路:
1.利用OpenOffice将文档型文件(doc,docx,xls,xlsx)转为化pdf文件;
2.利用SWFTools将pdf文件转为swf;
3.利用FlexPaper播放swf.

一、利用OpenOffice将文档型文件(doc,docx,xls,xlsx)转为化pdf文件
    安装OpenOffice,并启动服务

soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" –nofirststartwizard

执行telnet 127.0.0.1 8100,如果出现乱码则表示启动成功.
PS:当启动OpenOffice后,无法监听到8100端口时,请将-accpet里的参数host改为0.0.0.0尝试.
    转化代码:
OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100);try {connection.connect();} catch(Exception e) {e.printStackTrace();request.setAttribute("errorMsg", "没有安装OpenOffice,不能预览!");return;}DocumentConverter converter = new OpenOfficeDocumentConverter(connection);converter.convert(tempFile, outputFile);connection.disconnect();

注意:tempFile是以doc,docx,xls或xlsx为文件后缀名的文件,outputFile为以pdf后缀的文件.
    现在,就把pdf文件准备好了。
二、利用SWFTools将pdf文件转为swf
   
public static int convertPDF2SWF(String pdfName, String swfName) throws IOException {//创建swf文件File dest = new File(swfName);//if (!dest.exists()) dest.mkdirs();//源文件不存在则返回File source = new File(pdfName);if(!source.exists())return 0;//调用pdf2swf命令进行转换//String command = "pdf2swf.exe" + " -o "" + destPath + "\" + fileName + ""  <span style="color: rgb(255, 0, 0);">-s languagedir=D:\\xpdf\\xpdf-chinese-simplified</span> -s flashversion=9 "" + sourcePath + """;Map<String, String> envMap = System.getenv();Object home = envMap.get("PDF2SWF_HOME");String path = null;if(home != null) {path = home.toString();}String command = path + File.separator + "pdf2swf.exe " + pdfName + " -o " + swfName + " " + "-T 9 -f";Process pro = Runtime.getRuntime().exec(command);BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(pro.getInputStream()));while(bufferedReader.readLine() != null);try {pro.waitFor();} catch(InterruptedException e) {e.printStackTrace();}return pro.exitValue();}    

注意,这儿使用了一个系统变量PDF2SWF_HOME,在windows下,安装好SWFTools后,做如下配置:“我的电脑”-右键“属性”-“高;  小结:利用OpenOffice可以将文档型的文件转为了HTML、PDF等格式,但是,在转HTML时,效果不是很理想,主要是格式的问题.如果需要实现类似于163邮箱或QQ邮箱文档预览的功能也是可以的.
    FlexPaper基本版是免费的,但有收费的版本,如果是企业级的应用,请注意.不过做个类似的东西也不难.
    OpenOffice和SWFTOOL都是支持多平台的,无论windows或linux,都适用.

相关包:
    引入jodconverter-2.2.2包,并引用相关其他包。

热点排行