企业宣传网站建设、电子商务网站建设、OA办公系统。联系电话:028-66165255
- 利用pdf2swf将PDF转换成SWF
- ASP.NET解决Sqlite日期类型问题:…
- 为ckeditor编辑器添加行距功能
- C# ckeditor+ckfinder的图片上传配…
- CKeditor在.net环境下的配置
- Visual Studio 2010新特性:更宜We…
- 微软发布ASP.NET MVC 3 RC
- 程序员从初级到中级10个秘诀
- ASP.NET MVC开发人员必备的五大工…
- Asp.net如何防止图片被盗链?
- Windows服务器下用IIS Rewrite组件…
- Visual Studio 2008 sp1下载地址
- 简单实现asp.net时间差的计算
- ASP.NET防止用户多次登录的方法
- 生成不重复的随机整数
- ASP.NET获取IP的6种方法
- ASP dot net 里的状态管理-Sessio…
- 判断获取的参数是否为null
- 中文验证码生成实例
- 微软发布第二个实验版的.Net 4 Be…
- 微软轻量级Web开发平台WebMatrix发…
- asp.net 生成图片验证码
- Asp.net直接保存文件到客户端
- .Net开发中的多线程编程总结
- C#中关于get和set的详细例子介绍
文章详情
利用pdf2swf将PDF转换成SWF
通过代码将PDF转换成SWF来说,现在比较常用的一种方式就是利用SWFTools工具中的pdf2swf(http://www.swftools.org/)。这个工具还是比较好用的。转换成的SWF文件质量也不错。
/*
* PDF转SWF工具
* @author tangs
*
*/
public class Converter {
public static int convertPDF2SWF(String sourcePath, String destPath, String fileName) throws IOException {
//目标路径不存在则建立目标路径
File dest = new File(destPath);
if (!dest.exists()) dest.mkdirs();
//源文件不存在则返回
File source = new File(sourcePath);
if (!source.exists()) return 0;
//调用pdf2swf命令进行转换
String command = "D:\\Program Files\\SWFTools\\pdf2swf.exe" + " -o \"" + destPath + "\\" + fileName + "\" <SPAN style="COLOR: #ff0000">-s languagedir=D:\\xpdf\\xpdf-chinese-simplified</SPAN> -s flashversion=9 \"" + sourcePath + "\"";
Process pro = Runtime.getRuntime().exec(command);
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(pro.getInputStream()));
while (bufferedReader.readLine() != null);
try {
pro.waitFor();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return pro.exitValue();
}
public static void main(String []args) throws IOException {
String sourcePath = "c:\\test.pdf";
String destPath = "c:\\";
String fileName = "test.swf";
Converter.convertPDF2SWF(sourcePath, destPath, fileName);
}
}
就这么简单的几行代码就可以了。但是在程序中遇到中文就会出现意想不到的情况,这个也不例外。在转换中,我发现有些中文PDF文件转换后会出现乱码的现象,因此这里还要处理一下乱码的问题。看到上面代码中红色的一段了吗?这就是解决乱码的方法。这个方法是参考了http://hi.baidu.com/xwx520/blog/item/1d0c423885b392fab311c72e.html这篇文章,感谢作者。
1.下载XPDF:ftp://ftp.foolabs.com/pub/xpdf/xpdf-chinese-simplified.tar.gz,并解压到xpdf-chinese-simplified目录下。
2.下载字体:http://blog.pjoke.com/wp-content/uploads/2009/02/font.zip,并解压到xpdf-chinese-simplified/CMap目录下。
3.修改xpdf-chinese-simplified目录下的add-to-xpdfrc文件。将里面的路径设为自己的路径:
4.参照上面的代码,在调用pdf2swf命令中加入“ -s languagedir=D:\\xpdf\\xpdf-chinese-simplified ”参数。
这样乱码的问题就解决了。
上一篇:ASP.NET解决Sqlite日期类型问题:该字符串未被识别为有效的 DateTime
下一篇:已经是最后一篇