文档在线预览(五)——利用SWFTools转换PDF文件为SWF格式

SWFTools工具包中的PDF2SWF工具可用来将PDF格式文件转换成SWF格式。使用下面的命令可以将pdf文件转换为单页swf文件。

  pdf2swf  pdfPath  –o swfPath  –T 9  –f

  pdf2swf为pdf2swf二进制命令的绝对路径;pdfpath为要进行转换的PDF文件的绝对路径;swfPath为转换后swf文件的路径;-T 9 用来设定转换的swf版本为9,这样设置是因为某些版本的swf文件并不能用flexpaper正常显示出来;-f在转换的文档每页中插入一帧,提高转换后文档的稳定性。

  每个Java应用程序都有一个Runtime类实例,使应用程序能够与其运行的环境相连接。应用程序不能创建自己的Runtime类实例,可以通过Runtime类的getRuntime方法获得当前运行时。获得Runtime类实例之后,即可以调用该类的exec方法创建一个新的进程来执行制定的字符串命令。因此,可以利用exec方法来调用之前所述的PDF2SWF命令来完成PDF至SWF文件的转换

       官网下载地址http://www.swftools.org/download.htm

  实现利用SWFTools转换PDF文件为SWF格式的算法流程如5-1所示:

  第一步,创建PDF2SWF转换命令字符串。

  第二步,获得当前运行时Runtime,调用第一步中设定好的转换命令,进行转换。

利用SWFTools转换PDF文档为SWF

图5-1 利用SWFTools转换PDF文档为SWF流程

实现代码如下:

public class SWFToolsSWFConverter implements SWFConverter{  
  
    private static String PDF2SWF_PATH = "D:\\Program Files (x86)\\SWFTools\\pdf2swf.exe";  
      
    @Override  
    public void convert2SWF(String inputFile, String swfFile) {  
        File pdfFile = new File(inputFile);  
        File outFile = new File(swfFile);  
        if(!inputFile.endsWith(".pdf")){  
            System.out.println("文件格式非PDF!");  
            return ;  
        }  
        if(!pdfFile.exists()){  
            System.out.println("PDF文件不存在!");  
            return ;  
        }  
        if(outFile.exists()){  
            System.out.println("SWF文件已存在!");  
            return ;  
        }  
        String command = PDF2SWF_PATH +" \""+inputFile+"\" -o "+swfFile+" -T 9 -f";  
        try {  
            System.out.println("开始转换文档: "+inputFile);  
            Runtime.getRuntime().exec(command);  
            System.out.println("成功转换为SWF文件!");  
        } catch (IOException e) {  
            e.printStackTrace();  
            System.out.println("转换文档为swf文件失败!");  
        }  
          
    }  
  
    @Override  
    public void convert2SWF(String inputFile) {  
        String swfFile = FileUtils.getFilePrefix(inputFile)+".swf";  
        convert2SWF(inputFile,swfFile);  
    }  
    public static void main(String[] args) {  
        SWFToolsSWFConverter converter= new SWFToolsSWFConverter();  
        converter.convert2SWF("d:\\test.pdf","d:\\test.swf");  
    }  
  
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值