JAVA如何将PDF转换SWF格式的FLASH

1. 需要用到的工具

 SWFTools 下载地址 http://www.swftools.org/download.html,下载完成以后,直接安装就行

 

 

 2.下面就是重点喽,详见Java代码解析

 

附件里面有现成的可以用的项目示例,直接导入eclipse就可以运行

 

    /** 
         * 将PDF文档转换为swf格式的FLASH文件. 运行该函数需要用到SWFTools, 下载地址为 
         * http://www.swftools.org/download.html 
         *  
         * <pre> 
         * 示例: 
         * String sourcePath = "F:\\PDF\\source.pdf"; 
         * String destFile = "F:\\SWF\\dest.swf"; 
         * try { 
         *  Converter.pdf2SWF(sourcePath, destFile); 
         * } catch (IOException e) { 
         *  e.printStackTrace(); 
         * } 
         * </pre> 
         *  
         * @param sourceFile 
         *            源文件(即PDF文档)路径, 包括源文件的文件名. 示例: D:\\PDF\\source.pdf 
         * @param destFile 
         *            目标文件路径, 即需要保存的文件路径(包括文件名). 示例: D:\\SWF\\dest.swf 
         * @return 操作成功与否的提示信息. 如果返回 -1, 表示找不到源PDF文件, 或配置文件url.properties配置错误; 如果返回 
         *         0, 则表示操作成功; 返回1或其他, 则表示转换失败 
         */  
        public static int pdf2SWF(String sourceFile, String destFile) {  
      
            // 目标路径不存在则建立目标路径  
            File dest = new File(destFile);  
            if (!dest.getParentFile().exists())  
                dest.getParentFile().mkdirs();  
      
            // 源文件不存在则返回 -1  
            File source = new File(sourceFile);  
            if (!source.exists())  
                return -1;  
      
            String SWFTools_HOME = "D:\\Program Files\\SWFTools";//SWFTools的安装路径。在我的项目中,我为了便于拓展接口,没有直接将SWFTools的安装路径写在这里,详见附件  
            // 如果从文件中读取的URL地址最后一个字符不是 '\',则添加'\'  
            try {  
                // 调用pdf2swf命令进行转换swfextract -i - sourceFilePath.pdf -o destFilePath.swf  
                String command =  SWFTools_HOME + "\\pdf2swf.exe  -i " + sourceFile + " -o "  
                        + destFile;  
                Process pro = Runtime.getRuntime().exec(command);  
      
                BufferedReader bufferedReader = new BufferedReader(  
                        new InputStreamReader(pro.getInputStream()));  
                while (bufferedReader.readLine() != null) {  
      
                }  
                pro.waitFor();  
                return pro.exitValue();  
            } catch (InterruptedException e) {  
                e.printStackTrace();  
            } catch (IOException e1) {  
                e1.printStackTrace();  
            }  
      
            return 1;  
        }  

 

 

 

posted on 2013-09-10 09:31  little fat  阅读(1103)  评论(0编辑  收藏  举报