`

doc转swf

    博客分类:
  • JAVA
阅读更多

将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";
	private static final String INSTALL_BAT = "install.bat";
	private static Logger log = Logger.getLogger(FlashPaperUtil.class);
	private static final String CMD_C_START = "cmd /c start ";
	private static final String FLASH_PRINTER_EXE = "FlashPrinter.exe";
	private static final String FLASH_PAPER2_2 = "FlashPaper2.2";
	private static final String SPACE = " ";
	private static String flashPaperDir;
	private static String flashPrinterPath;
	private static String installPath;
	private static String unInstallPath;
	private static Runtime runtime = Runtime.getRuntime();
	
	private static Map<String, String> fileMap = new HashMap<String, String>();
	private 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);
	}
	
	public static FlashPaperUtil getInstance(){
		if(null == instance){
			synchronized (FlashPaperUtil.class) {
				instance = new FlashPaperUtil();
			}
		}
		return instance;
	}

	public 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.........");
		}
	}

	public void install() throws Exception {
		String cmd = CMD_C_START + installPath;
		Process process = runtime.exec(cmd,null,new File(flashPaperDir));
		process.waitFor();
		process.destroy();
		log.info("install success..........");
	}

	public void uninstall() throws Exception {
		String cmd = CMD_C_START + unInstallPath;
		Process process = runtime.exec(cmd,null,new File(flashPaperDir));
		process.waitFor();
		process.destroy();
		log.info("uninstall success..........");
	}

	public static void main(String[] args) throws Exception {
		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

  • 大小: 3.7 KB
5
0
分享到:
评论
6 楼 fuguitong 2016-07-05  
[url][url][url][url][url][url][url][url][url][url][url][url][url][url][img][img][img][img][list]
[*]
引用

[/list]      [/img][/img][/img][/img][/url][/url][/url][/url][/url][/url][/url][/url][/url][/url][/url][/url][/url][/url]
5 楼 SoarDing 2012-07-09  
请问楼主,老是报空指针怎么处理。
java.lang.NullPointerException
at org.forever.util.FlashPaperUtil.<init>(FlashPaperUtil.java:31)
at org.forever.util.FlashPaperUtil.getInstance(FlashPaperUtil.java:42)
4 楼 antony102201 2011-12-28  
想请教一下LZ这个DefaultViewer2.swf是转换过后,打开的样式,那这个可不可以改啊,我不想要打印按钮,多一个可以旋转按钮。
3 楼 antony102201 2011-12-28  
我把p2fServer.exe这个文件拷贝进去,把private static final String FLASH_PRINTER_EXE = "FlashPrinter.exe";  改成了
private static final String FLASH_PRINTER_EXE = "p2fServer.exe";
这个,可以运行不起来了
我安装的是Print2Flash3
2 楼 antony102201 2011-12-28  
如果要用64的,使用print2Flash,掉用命令:

p2Server.exe F:\abc.doc F:\abc.swf /createlogfile:on /logfilename:F:\doc2swf.log

或者p2Server.exe F:\abc.doc F:\abc.swf


请问楼主
这个64是什么意思啊
还有我使用print2Flash,到底怎么使用啊,调用命令是怎么调用的啊,刚搞这个东西,不太懂
1 楼 sam_kee 2010-12-08  
楼主厉害啊!

相关推荐

Global site tag (gtag.js) - Google Analytics