利用swftools将pdf转换为swf小例
来源:互联网 发布:mac实用app推荐 编辑:程序博客网 时间:2024/05/16 18:35
package com.iori.webapp.util;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class PDF2SWFUtil {
/**
* 利用SWFTools工具将pdf转换成swf,转换完后的swf文件与pdf同名
* @author iori
* @param fileDir PDF文件存放路径(包括文件名)
* @param exePath 转换器安装路径
* @throws IOException
*/
public static synchronized void pdf2swf(String fileDir, String exePath) throws IOException {
//文件路径
String filePath = fileDir.substring(0, fileDir.lastIndexOf("/"));
//文件名,不带后缀
String fileName = fileDir.substring((filePath.length() + 1), fileDir.lastIndexOf("."));
Process pro = null;
if (isWindowsSystem()) {
//如果是windows系统
//命令行命令
String cmd = exePath + " /"" + fileDir + "/" -o /"" + filePath + "/" + fileName + ".swf/"";
//Runtime执行后返回创建的进程对象
pro = Runtime.getRuntime().exec(cmd);
} else {
//如果是linux系统,路径不能有空格,而且一定不能用双引号,否则无法创建进程
String[] cmd = new String[3];
cmd[0] = exePath;
cmd[1] = fileDir;
cmd[2] = filePath + "/" + fileName + ".swf";
//Runtime执行后返回创建的进程对象
pro = Runtime.getRuntime().exec(cmd);
}
//非要读取一遍cmd的输出,要不不会flush生成文件(多线程)
new DoOutput(pro.getInputStream()).start();
new DoOutput(pro.getErrorStream()).start();
try {
//调用waitFor方法,是为了阻塞当前进程,直到cmd执行完
pro.waitFor();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
/**
* 判断是否是windows操作系统
* @author iori
* @return
*/
private static boolean isWindowsSystem() {
String p = System.getProperty("os.name");
return p.toLowerCase().indexOf("windows") >= 0 ? true : false;
}
/**
* 多线程内部类
* 读取转换时cmd进程的标准输出流和错误输出流,这样做是因为如果不读取流,进程将死锁
* @author iori
*/
private static class DoOutput extends Thread {
public InputStream is;
//构造方法
public DoOutput(InputStream is) {
this.is = is;
}
public void run() {
BufferedReader br = new BufferedReader(new InputStreamReader(this.is));
String str = null;
try {
//这里并没有对流的内容进行处理,只是读了一遍
while ((str = br.readLine()) != null);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
/**
* 测试main方法
* @param args
*/
public static void main(String[] args) {
//转换器安装路径
String exePath = "c:/SWFTools/pdf2swf.exe";
try {
PDF2SWFUtil.pdf2swf("c:/test.pdf", exePath);
} catch (IOException e) {
System.err.println("转换出错!");
e.printStackTrace();
}
}
}
- 利用swftools将pdf转换为swf小例
- 利用SWFTools工具将pdf转换成swf
- 利用SWFTools工具将pdf转换成swf
- swftools工具将pdf文件转换为swf文件
- (三)使用swftools将pdf转换为swf
- Java使用SWFTools转换PDF为SWF
- 仿百度文库解决方案(五)——利用SWFTools转换PDF文档为SWF
- asp.net 结合swftools将pdf文件转换为swf文件
- (四)java实现文档的在线浏览-使用swftools将pdf转换为swf
- 仿百度文库方案[openoffice.org 3+swftools+flexpaper](四) 之 使用swftools将pdf转换为swf
- 仿百度文库方案[openoffice.org 3+swftools+flexpaper](四) 之 使用swftools将pdf转换为swf
- 仿百度文库方案[openoffice.org 3+swftools+flexpaper](四) 之 使用swftools将pdf转换为swf
- swftools将PDF转成swf
- 调用swftools将中文PDF转化为SWF
- 如何使用SWFTools 命令 将pdf文件转换为swf文件,并进行在线浏览该pdf文件
- 利用pdf2swf将PDF转换成SWF
- 利用pdf2swf将PDF转换成SWF
- 利用pdf2swf将PDF转换成SWF
- 程序还是房子
- 电脑装了linux虚拟机,今天突然不能上网怎么解决?
- keyCode值
- C#中播放声音文件
- js 颜色选择器
- 利用swftools将pdf转换为swf小例
- 1035: Web Navigator 栈的应用
- nrf学习程序
- JS获取Cookie
- 如何采用简化方法进行需求分析
- java编译出错,Exception in thread main java.langNoClassDefFoundError:Hello
- C#中实现label中文字循环滚动
- 影碟出租管理系统建库脚本.sql
- Forget3D V0.1