java pdf 转 swf
来源:互联网 发布:电脑做文档的软件 编辑:程序博客网 时间:2024/05/21 20:21
Java Process.exitValue & Process.waitFor()
Process.exitValue() 采用非阻塞的方式返回,如果没有立即拿到返回值,则抛出异常
Process.waitFor() 当前线程等待,如有必要,一直要等到由该 Process 对象表示的进程已经终止。但是如果我们在调用此方法时,如果不注意的话,很容易出现主线程阻塞,Process也挂起的情况。在调用waitFor() 的时候,Process需要向主线程汇报运行状况,所以要注意清空缓存区,即InputStream和ErrorStream,在网上,很多只提到处理InputStream,忽略了ErrorStream。以下一段代码,贴出来,仅做参考。
import java.io.BufferedReader;import java.io.File;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.util.List;/** PDF转SWF工具* @author tangs**/public class Converter { public static int convertPDF2SWF(String sourcePath, String destPath, String fileName) throws IOException {////目标路径不存在则建立目标路径 File dest = new File(destPath); if (!dest.exists()) dest.mkdirs(); //源文件不存在则返回 File source = new File(sourcePath); if (!source.exists()) return 0; //调用pdf2swf命令进行转换// String command = "D:\\swftools\\pdf2swf.exe" + " -o \"" + destPath + fileName +"\" <SPAN style='COLOR: #ff0000'>-s languagedir=D:\\xpdf\\xpdf-chinese-simplified</SPAN> -s flashversion=9 \"" + sourcePath + "\"";// String command = "D:\\swftools\\pdf2swf.exe" + " -o \"" + destPath + fileName +"\" -s flashversion=9 \"" + sourcePath + "\""; String command= "D:/SWFTools/pdf2swf.exe -t \""+destPath+"\\Java.pdf\" -o \""+destPath+"\\test.swf\" -s flashversion=9 -s languagedir=D:\\xpdf\\xpdf-chinese-simplified "; System.out.println("cmd:"+command);// Process pro = Runtime.getRuntime().exec(command); Process process = Runtime.getRuntime().exec(command); // 调用外部程序 final InputStream is1 = process.getInputStream(); new Thread(new Runnable() { public void run() { BufferedReader br = new BufferedReader(new InputStreamReader(is1)); try { while(br.readLine()!= null) ; } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }).start(); // 启动单独的线程来清空process.getInputStream()的缓冲区 InputStream is2 = process.getErrorStream(); BufferedReader br2 = new BufferedReader(new InputStreamReader(is2)); StringBuilder buf = new StringBuilder(); // 保存输出结果流 String line = null; while((line = br2.readLine()) != null) buf.append(line); // 循环等待ffmpeg进程结束 System.out.println("输出结果为:" + buf); // BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(pro.getInputStream())); while (br2.readLine() != null); try { process.waitFor(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } return process.exitValue(); } public static void main(String []args) throws IOException { String sourcePath = "D:\\Java.pdf"; String destPath = "D:\\"; String fileName = "Javssa.swf"; try{ Converter.convertPDF2SWF(sourcePath, destPath, fileName); }catch(Exception ex) { System.out.println("error"); } System.out.println("success"); }}
- java pdf 转 swf
- 【JAVA】doc,excel,等转pdf,swf
- PDF 转 SWF
- PDF转SWF
- doc转pdf swf
- pdf转swf
- PDF 转 SWF 在线阅读
- ubuntu下pdf转swf
- 第二步:pdf转swf
- windows下pdf 转swf
- Java使用SWFTools转换PDF为SWF
- FlexPaper在线显示PDF转SWF文件
- FlexPaper在线显示PDF转SWF文件
- pdf转swf中文乱码问题解决
- Office文档,pdf文档转swf
- python文件过滤,pdf转swf.
- pdf转swf的Java实现,可用于实现类似百度文库的效果
- pdf转swf的Java实现,可用于实现类似百度文库的效果
- 极限编程
- DIV怎么才能放在SWF 或者iframe上面呢?
- sip等通信资料汇总
- 手动调用选择屏幕和从显
- Oracle左右连接
- java pdf 转 swf
- 个人推荐:PlayBook推荐站点
- solr 应用全面解析,简单的应用,多实例,分布式索引分发,如何在客户端配置注册多实例
- ResultSet 动态获取列名
- 应用Thinkphp工作学习资料整理
- 破解QQ邮箱下载次数限制
- sip等协议资料汇总
- 高手Java核心技术学习笔记
- 使用Intel编译器(0)基础(3)循环相关的优化技术Loop optimization