Pdf在线转swf

2016/6/7 9:40:26

   

为了实现文档在线转换:pdf到swf,我查阅了相关资料,下面粘贴出我在开发过程中参考的代码,希望对大家有帮助!

参考代码:

import java.io.BufferedReader;

import java.io.File;

import java.io.IOException;

import java.io.InputStreamReader;


public class PdfConvertUtil {


public static String convert(String filePath,String outPath){

File file = new File(filePath);

String  msg = "";

String realName = outPath+"\\"+file.getName().substring(0,file.getName().length()-3)+"swf";

if("pdf".equals(PdfConvertUtil.getPostfix(filePath))){

try {

StringBuffer cmd = new StringBuffer("D:\\swftools\\pdf2swf.exe ");

cmd.append(" -o ");                   //输出

cmd.append(realName);

cmd.append(" -t ");

cmd.append(filePath);               //输入文件

cmd.append(" -T -z -s languagedir=D:\\xpdf-chinese-simplified -s flashversion=9");//

System.out.println(cmd.toString());

Process p = Runtime.getRuntime().exec(cmd.toString());

BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));

String line = "";

while((line = reader.readLine()) != null){

System.out.println(line);

if(line.indexOf("Writing SWF file ") >= 0){

msg = "PDF转换SWF成功!";

}

}

if(p.waitFor() != 0){

if(p.exitValue() == 1){

msg = "PDF转换SWF失败!";

}

}

} catch (IOException e) {

e.printStackTrace();

} catch (InterruptedException e) {

e.printStackTrace();

}

}else{

msg = "文件不是PDF格式!";

}

return msg;

}




public static String getPostfix(String filePath){

File file = new File(filePath);

if(file.isFile()){

String fileName = file.getName();

return fileName.substring(fileName.lastIndexOf('.')+1).toLowerCase();

}

return "";

}


public static void main(String[] args) {

String filePath = "C:\\Users\\Administrator\\Downloads\\nodejs开发指南\\Node.js开发指南.pdf";

System.out.println(PdfConvertUtil.convert(filePath,"C:\\Users\\Administrator\\Downloads\\nodejs开发指南"));

}

}

本文出自 “RayGaditer” 博客,出处http://raygaditer.blog.51cto.com/9212738/1688866