利用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
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();
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();}