PDFをSWFに変換

1984 ワード

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\
odejs \\Node.js .pdf"; System.out.println(PdfConvertUtil.convert(filePath,"C:\\Users\\Administrator\\Downloads\
odejs ")); } }