关于开似百度文库和豆丁的在线文档txt,docJPG等转为SWFpdf)转Flash播放器的实现
 
<!--废话开始
现在网上用的比较多的是百度文库和豆丁网,用户上传文档(包含图片)后自动进行转换后,使用FLASH播放器播放,此服务功能对于上传者来说的益处是不用多说了(省略若干。。。。),同时也深受浏览者喜爱。
 
在网上看见较多网友在各坛子发帖发问如何实现及回答中,讨论基于FlexPaper实现的较多,但没看见那个开发过的谁谁提供完整的实现方法。
在这里,我将借用FlashPaper提供一个相对来说比较的、极其的、简单的实现方法,供大家参考。
<!--废话结束,正式开工 
该实现方法概述:
1、  编一个简单的DLL组件,能调用FlashPaper的转换功能,
2、  在服务器上注册该DLL组件。
3、  使用JSPASPPHP不管是什么P来调用该组件的使用方法。
4、  用户上传文档后,在浏览器的服务器端实现文档转化。
主要工作分以下三步:
1、  下载一个FlashPaper 2.0安装包,如果没有,可以在百度里输入:flashpaper下载,:www.baidu/s?bs=vb+%D4%B4%C2%EB%CF%C2%D4%D8+asp%D7%E9%BC%FE&f=3&wd=flashpaper%CF%C2%D4%D8&oq=FlashPaper&rsp=0&sugT=3218  ,选择下载2.0版本的来安装完成。
2、  使用VCvb等任何一个语言弄一个DLL组件,工程名如:forFlash,类名如:outFlash里面写一个公用的函数用于外部调用,函数构建如:getMyFlashFile(sourceFileUrlAndNam
e, outFileUrlAndName),两个参数分别为待转换的文档与转换后输出的(SWFPDF文件,如:d:\xxx\yy.doc, c:\11.swf..,是服务器上的包含文件路径的。该函数里面敲入一行代码就够了,调用flashpaper的转换功能,如VB代码:Shell App.Path & "\flashprinter " & sourceFileUrlAndName & " -o " & outFileUrlAndName, vbHide 。编译成forFlash.dll完成后,拷贝到flashpaper的安装目录下(也就是与等文件同一文件夹内)。
3、  用记事本写一个REG.bat文件,里面写上:regsvr32 forFlash.dll  。保存到上述的安装目录后,运行一下,注册该组件。
4、  在服务器脚本语言文件里,在服务器端调用开组件。如ASP:
<%set flash1=server.CreateObject("forFlash.OutFlash") 
FlashFile  "  e:\1.doc", "e:\123.swf" 
Response.Write "now,file " %>
访问url/aaa.asp,如果路径和文件存在,则开始转换。
5、  转换后,怎么在网页里用flash播放就不多说了。
6、  具体实现的所有相关的文件、源码及示例,可以给我空间留言索取。
彷豆丁百度文库 pdf格式文件转化为swf格式插件 收藏
Convert源码
import java.io.BufferedReader;
import java.io.File;
import java.io.InputStreamReader;
/**
* @author 李义海
* QQ:407009617
* pdf格式文件转化为swf格式插件
* 插件要求:必须安装SWFTools工具
* 本例安装在:D:\\SWFTools\\ 可以根据自己的路径进行修改
*/
public class Convert {
// 文件名:fileName 文件路径(不带文件名):destPath
public static String ConvertPdfToSwf(String fileName,String destPath){ 
        String destName = "",fileExt = ""; 
        StringBuffer command = new StringBuffer(); 
        fileExt = fileName.split("\\.")[fileName.split("\\.").length-1].toLowerCase();
        try{ 
            File file = new File(destPath+fileName); 
            System.out.println("fileName=="+fileName+"\n file=="+file);
            if(!ists()){//判断源文件是否存在 
                return "文件不存在"; 
            }else if(!fileExt.equals("pdf")){//判断文件是否是pdf格式的文件 
                return "文件不是pdf格式"; 
            } 
            else{ 
                String swftoolsPath = "D:\\SWFTools\\";//获取pdf转swf工具的路径 
                if(!swftoolsPath.substring(swftoolsPath.length()-1, swftoolsPath.length()).equals("\\")){ 
                    swftoolsPath = swftoolsPath+"\\";    //在目录后加 "\" 
                } 
                if(!destPath.substring(destPath.length()-1, destPath.length()).equals("\\")){ 
                    destPath = destPath+"\\";    //在目录后加 "\" 
                } 
                File destFile = new File(destPath); 
                if(!ists()){//目标文件路径如果不存在,则创建目录 
                    destFile.mkdirs(); 
pdf转html                }
                destName = Name().substring(0, Name().length()-4)+".swf";  //得到目标文件名称 
                command.append("cmd /c ").append(swftoolsPath).append(" ").appe
nd(" -o ").append(destPath).append(destName).append(" -i ").append(destPath).append(fileName).append(" -s flashversion=9 "); 
                Process pro = Runtime().String()); 
                BufferedReader buffer = new BufferedReader(new InputStream())); 
                adLine()!=null); 
                String(); 
            } 
        }catch (Exception e){ 
            e.printStackTrace(); 
            return "转化失败";
        } 
}
public static void main(String args[]) {
System.out.println(Convert.ConvertPdfToSwf("test.pdf","E:\\alipaydirect\\"));
}
}
使用:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="/1999/xhtml" lang="en" xml:lang="en">
    <head>
        <title></title>       
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <style type="text/css" media="screen">
html, body { height:100%; }
body { margin:0; padding:0; overflow:auto; } 
#flashContent { display:; }
        </style>