将doc转换成swf,然后显示在html页面上。
- package?org.forever.util;??
- ??
- import?java.io.File;??
- import?java.util.HashMap;??
- import?java.util.Map;??
- import?org.apache.log4j.Logger;??
- public?class?FlashPaperUtil?{??
- ????private?static?final?String?UNINSTALL_BAT?=?"uninstall.bat";??
- final?String?INSTALL_BAT?=?"install.bat";??
- static?Logger?log?=?Logger.getLogger(FlashPaperUtil.class);??
- final?String?CMD_C_START?=?"cmd?/c?start?";??
- final?String?FLASH_PRINTER_EXE?=?"FlashPrinter.exe";??
- final?String?FLASH_PAPER2_2?=?"FlashPaper2.2";??
- final?String?SPACE?=?"?";??
- static?String?flashPaperDir;??
- static?String?flashPrinterPath;??
- static?String?installPath;??
- static?String?unInstallPath;??
- static?Runtime?runtime?=?Runtime.getRuntime();??
- ??????
- static?Map<String,?String>?fileMap?=?new?HashMap<String,?String>();??
- static?FlashPaperUtil?instance;??
- private?FlashPaperUtil(){??
- ????????flashPaperDir?=???
- ????????????FlashPaperUtil.class.getClassLoader().getResource(??
- ????????????????????FLASH_PAPER2_2).getFile();??
- ????????for?(File?file?:?new?File(flashPaperDir).listFiles())?{??
- ????????????fileMap.put(file.getName(),?file.getAbsolutePath());??
- ????????}??
- ????????flashPrinterPath?=?fileMap.get(FLASH_PRINTER_EXE);??
- ????????installPath?=?fileMap.get(INSTALL_BAT);??
- ????????unInstallPath?=?fileMap.get(UNINSTALL_BAT);??
- ????}??
- static?FlashPaperUtil?getInstance(){??
- if(null?==?instance){??
- ????????????synchronized?(FlashPaperUtil.class)?{??
- ????????????????instance?=?new?FlashPaperUtil();??
- ????????????}??
- return?instance;??
- void?docToSwf(String?docPath,?String?outPath)??
- throws?Exception?{??
- ????????String?command?=?flashPrinterPath?+?SPACE?+?docPath?+?SPACE?+?"-o"??
- ????????????????+?SPACE?+?outPath;??
- ????????Process?process?=?runtime.exec(command);??
- ????????process.waitFor();??
- ????????process.destroy();??
- ????????File?outFile?=?new?File(outPath);??
- if(outFile.exists()){??
- ????????????log.info("docToSwf?success.........");??
- void?install()? ????????String?cmd?=?CMD_C_START?+?installPath;??
- ????????Process?process?=?runtime.exec(cmd,null,new?File(flashPaperDir));??
- ????????log.info("install?success..........");??
- void?uninstall()? ????????String?cmd?=?CMD_C_START?+?unInstallPath;??
- ????????log.info("uninstall?success..........");??
- void?main(String[]?args)? ????????FlashPaperUtil.getInstance();??
- }??
?
?该工具不适用于64
?如果要用64的,使用print2Flash,掉用命令:
p2Server.exe F:abc.doc F:abc.swf /createlogfile:on /logfilename:F:doc2swf.log
或者p2Server.exe F:abc.doc F:abc.swf