最近项目中需要实现文件(pdf)的预览功能。所以网上搜了一下教程,期间也遇到一些问题,所以结合自己的些许经验,打算写下了做个记录。
一、解决思路
swftools将pdf转换成swf,然后利用FlexPaper插件实现在线播放预览
二、所需工具
1、下载SWFTools,下载地址为:http://www.swftools.org/download.html,目的是为了将pdf转成可以供FlexPaper插件播放的swf格式。(window下安装exe,Linux下安装tar.gz 记得安装路径)
2、下载FlexPaper,可以到我下好的资源库下载:http://download.csdn.net/download/qq_21784985/9977036
三、代码实现
/**
* pdf To swf
*
*/
private static void pdf2swf(String pdfFile, String swfFile) {
new Thread(new Runnable() {
@Override
public void run() {
Runtime r = Runtime.getRuntime();
// 这里根据SWFTools安装路径需要进行相应更改
Process p;
try {
// /usr/local/bin/pdf2swf
if (System.getProperty("os.name").toLowerCase()
.contains("windows")) {
//此处为安装swfTools工具的路径 并转成flash的版本为9
p = r.exec("C:/Program Files (x86)/SWFTools/pdf2swf.exe -t "
+ pdfFile + " -s flashversion=9 -o " + swfFile);
} else {
//linux 下的swfTools的安装路径
p = r.exec("/usr/local/bin/pdf2swf -t " + pdfFile
+ " -s flashversion=9 -o " + swfFile);
}
logger.info(loadStream(p.getInputStream()));