关于开似百度文库和豆丁的在线文档(txt,doc,JPG等转为SWF或pdf)转Flash播放器的实现
<!--废话开始→
现在网上用的比较多的是百度文库和豆丁网,用户上传文档(包含图片)后自动进行转换后,使用FLASH播放器播放,此服务功能对于上传者来说的益处是不用多说了(省略若干。。。。),同时也深受浏览者喜爱。
在网上看见较多网友在各坛子发帖发问如何实现及回答中,讨论基于FlexPaper实现的较多,但没看见那个开发过的谁谁提供完整的实现方法。
在这里,我将借用FlashPaper提供一个相对来说比较的、极其的、简单的实现方法,供大家参考。
<!--废话结束,正式开工 →
该实现方法概述:
1、 编一个简单的DLL组件,能调用FlashPaper的转换功能,
2、 在服务器上注册该DLL组件。
3、 使用JSP、ASPjavaswing如何改变按钮样式或PHP不管是什么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、 使用VC、vb等任何一个语言弄一个DLL组件,工程名如:forFlash,类名如:outFlash里面写一个公用的函数用于外部调用,函数构建如:getMyFlashFile(sourceFileUrlAndName, outFileUrlAndName),两个参数分别为待转换的文档与转换后输出的(SWF或PDF)文件,如:d:\xxx\yy.doc, c:\11.swf..电子简历模板下载,是服务器上的包含文件路径的。该函数里面敲入一行代码就够了,调用flashpaper的转换功能,如VB代码:Shell App.Path & "\flashprinter " & sourceFileUrlAndName & " -o " & outFileUrlAndName, vbHide 。编译成forFlash.dll完成后,拷贝到文件格式转换appflashpaper的安装目录下(也就是与等文件同一文件夹内)。
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){
bigdecimal保留两位小数转成字符串 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();
}
destName = Name().substring(0, Name().length()-4)+".swf"; //得到目标文件名称
command.append("cmd /c ").append(swftoolsPath).append(" ").append(" -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>
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论