通过java代码,利用pdf2htmlEX插件生成html页面时发现一个问题,只有执行cmd命令才能生成,但是java代码无法执行。
至于代码如何实现以及需要下载什么大家可以看这个。我就不重复啰嗦了https://blog.csdn.net/crazypandariy/article/details/17663731#
但是在上面链接中用main函数执行这个cmd命令发现报错
public static void main(String[] args) {
pdf2html("D:\\pdf2htmlEX-v1.0\\pdf2htmlEX.exe D:\\v.pdf hello.html","v.pdf","v2.html");
}
,我怀疑是不是插件有问题,于是网上找了一圈 发现通过下面这种方法是可以实现的
- 执行cmd命令调用pdf2htmlex进行转换:
pdf2htmlex --zoom 1.8 v.pdf
于是我就自己改造了一下Pdf2htmlEXUtil 代码。
public class Pdf2htmlEXUtil {
/**
* 调用pdf2htmlEX将pdf文件转换为html文件
* @param command 是要执行的dos命令
* @param dir 此处是pdf2htmlEX.exe指定目录
* @return
*/
public static boolean pdf2html(String[] command,File dir){
Runtime rt = Runtime.getRuntime();
try {
Process p = rt.exec(command,null,dir);
StreamGobbler errorGobbler = new StreamGobbler(p.getErrorStream(), "ERROR");
// kick off stderr
errorGobbler.start();
StreamGobbler outGobbler = new StreamGobbler(p.getInputStream(), "STDOUT");
// kick off stdout
outGobbler.start();
int w = p.waitFor();
System.out.println(w);
int v = p.exitValue();
System.out.println(v);
return true;
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
public static void main(String[] args) {
File dir = new File("D:\\IdeaProjects\\pdf2htmlexe");//此处是pdf2htmlEX.exe指定目录
String commond="pdf2htmlex --zoom 1.8 D:\\IdeaProjects\\pdf2htmlexe\\pdf\\v.pdf";
String[] cmd = new String[] { "cmd", "/c",
commond
};// cmd是要执行的dos命令
pdf2html(cmd,dir);
}