加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

仿百度文库解决方案(五)——利用SWFTools转换PDF文档为SWF

发布时间:2020-12-15 17:45:40 所属栏目:百科 来源:网络整理
导读:SWFTools工具包中的PDF2SWF工具可用来将PDF格式文件转换成SWF格式。使用下面的命令可以将pdf文件转换为单页swf文件。 pdf2swf ? pdfPath ? –o swfPath ? –T 9 ?–f 。 pdf2swf为pdf2swf二进制命令的绝对路径;pdfpath为要进行转换的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文件的转换。

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

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

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

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

实现代码如下:

public class SWFToolsSWFConverter implements SWFConverter{

	private static String PDF2SWF_PATH = "D:Program Files (x86)SWFToolspdf2swf.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");
	}

}

注:

  源代码下载地址:DocConverter

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读