1:工具准备
swftools.exe 下载
http://www.swftools.org/download.html 
安装至D盘
SWFTools提供了一系列将各种文件转成swf的工具:
font2swf.exe 
gif2swf.exe 
jpeg2swf.exe 
pdf2swf.exe 
png2swf.exe 
wav2swf.exe 
这里我们只使用pdf2swf.exe

flexpaper下载
http://code.google.com/p/flexpaper/ 
这里我们使用已经编译好的FlexPaper的flash版本

2:示例语言,这里我使用的两种开发环境做示例
   php示例
   由pdf生成swf文件

  1. <?php
  2. /*
  3. * Created on 2010-11-17
  4. *
  5. * To change the template for this generated file go to
  6. * Window - Preferences - PHPeclipse - PHP - Code Templates
  7. */
  8. //获取文件所在目录
  9. $dir=dirname(__FILE__) ;
  10. //删除测试文件
  11. @unlink( $dir."\\test.swf" );
  12. //使用pdf2swf转换命令
  13. $command= "D:/SWFTools/pdf2swf.exe  -t \"".$dir."\\test.pdf\" -o  \"".$dir."\\test.swf\" -s flashversion=9 ";
  14. //创建shell对象
  15. $WshShell   = new COM("WScript.Shell");
  16. //执行cmd命令
  17. $oExec      = $WshShell->Run("cmd /C ". $command, 0, true);
  18. ?>

java示例

  1. <%
  2. /*
  3. * Created on 2010-11-17
  4. */
  5. //获取文件所在目录
  6. String path=request.getRealPath("/");
  7. //使用pdf2swf转换命令
  8. String command= "D:/SWFTools/pdf2swf.exe  -t \""+path+"\\test.pdf\" -o  \""+path+"\\test.swf\" -s flashversion=9 ";
  9. //执行cmd命令
  10. Runtime.getRuntime().exec("cmd /c "+command);
  11. %>

以上是php,java将pdf转换成swf方式,那显示呢,这样我们会使用到flexpaper,以下是flexpaper的使用
   使用flexpaper展现swf

  1. <script type="text/javascript" src="js/swfobject/swfobject.js"></script>
  2. <script type="text/javascript">
  3. var swfVersionStr = "10.0.0";
  4. var xiSwfUrlStr = "playerProductInstall.swf";
  5. var flashvars = {
  6. SwfFile : escape("test.swf"),
  7. Scale : 0.6,
  8. ZoomTransition : "easeOut",
  9. ZoomTime : 0.5,
  10. ZoomInterval : 0.1,
  11. FitPageOnLoad : false,
  12. FitWidthOnLoad : true,
  13. PrintEnabled : true,
  14. FullScreenAsMaxWindow : false,
  15. ProgressiveLoading : true,
  16. PrintToolsVisible : true,
  17. ViewModeToolsVisible : true,
  18. ZoomToolsVisible : true,
  19. FullScreenVisible : true,
  20. NavToolsVisible : true,
  21. CursorToolsVisible : true,
  22. SearchToolsVisible : true,
  23. localeChain: "zh_CN"
  24. };
  25. var params = {
  26. }
  27. params.quality = "high";
  28. params.bgcolor = "#ffffff";
  29. params.allowscriptaccess = "sameDomain";
  30. params.allowfullscreen = "true";
  31. var attributes = {};
  32. attributes.id = "FlexPaperViewer";
  33. attributes.name = "FlexPaperViewer";
  34. swfobject.embedSWF(
  35. "FlexPaperViewer.swf", "flashContent",
  36. "650", "500",
  37. swfVersionStr, xiSwfUrlStr,
  38. flashvars, params, attributes);
  39. swfobject.createCSS("#flashContent", "display:block;text-align:left;");
  40. </script>
  41. <body>
  42. <div style="position:absolute;left:10px;top:10px;">
  43. <div id="flashContent">
  44. </div>
  45. </div>
  46. </body>

通过上述方式我们可以将pdf转换成相应的swf文件,并通过flexpaper显示,防止用户下载,或copy。

pdf2swf的详细参数说明,上网百度或者Google都能查到,但是注意的最好指定flashversion 为9,防止出现一些意外的错误。
pdf2swf 中并不是所有的pdf都能转换,加密的pdf pdf2swf转换不了

flexpaper 的参数详细说明请参考 http://code.google.com/p/flexpaper/wiki/Parameters

flexpaper 常用的API  http://code.google.com/p/flexpaper/wiki/API

如果出现乱码问题可能是字符集,网上有很多的相关解决方法可以查询【我没有碰到字符集堵的问题】。

还有pdf中含有图片可能转换成swf后图片不大清晰。

word,wps,txt等文档也可以采用该方式转换,但工具不一定为swftools

上传的flexpaper附件中已经包含flexpaper中相关文件不用重新下载,只要下载swftools,并安装。
flexpaper附件中包含了pdf2swf.jsp与pdf2swf.php两个文件及flexpaper相关的组件可以在java或php环境中运行。

类似百度文库pdf2swf+flexpaper解决pdf在线阅读的效果的更多相关文章

  1. pdf2swf+flexpaper解决pdf在线阅读(类百度文库)

    1:工具准备swftools.exe 下载 http://www.swftools.org/download.html 安装至D盘 SWFTools提供了一系列将各种文件转成swf的工具: font2 ...

  2. SpringMVC+springSecurity+flexPaper 配置--类似百度文库在线预览

    背景:现在项目需要做一个类似百度文库的在线预览功能,在网上找了下很多人推荐使用FlexPaper,所以今天尝试学习了FlexPaper顺便集成到现有的框架中 由于网上目前的说的都不是很详细,所以现在记 ...

  3. 利用FlashPaper实现类似百度文库功能

    最近需要实现一个类似百度文库的功能,在Google上淘了一段时间,发现FlashPaper还算能够不错的实现此需求. 首先讲下思路: 1>安装FlashPaper: 2>利用java代码将 ...

  4. PDF在线阅读 FlexPaper 惰性加载 ;

    关于PDF在线阅读问题,比较普遍的做法是转换成swf文件来浏览:由于项目需要,就用 flexpaper 来实现了下,功能比较简单:但是文件的惰性加载确实让笔者挠头了一把! 下面是笔者的方法: 采用流的 ...

  5. web版pdf在线阅读器

    近期论坛里有人提到了,在线pdf阅读器怎么做.我百度了一下,发现非常多人都非常懒.程序猿都非常懒吗? 答案是否定的. 为什么都不愿意去搜索一下呢.网上非常多答案的.我这里就列举一例.大家共勉. 看代码 ...

  6. 【ASP.NET 进阶】PDF文件在线预览(类似百度文库)

    工作需要完成文档的在线预览,现在完成了第一步PDF文件的预览,步骤是通过PDF转换工具pdf2swf.exe把PDF文件转换为SWF文件,然后通过FlexPaper就可以预览了.效果如下(GIF图片太 ...

  7. 在线预览Office文件【效果类似百度文库】

    引言 结合上个项目和目前做的这个项目,其中都用到了Office文件在线预览,目前项目中是用到公司购买的Ntko控件,该控件每次浏览文件时则会提示安装信任插件,很繁琐,而且浏览效果不好. 提到Offic ...

  8. 在线预览Office文件【效果类似百度文库】(转载)

    转载地址:http://www.cnblogs.com/sword-successful/p/4031823.html 引言 结合上个项目和目前做的这个项目,其中都用到了Office文件在线预览,目前 ...

  9. FlexPaper做的类似百度文库的效果

    这里有个误区,虽然我的截图这里有个FlexPaperViewer.swf,   但是这个文件还是要放在网站根目录一个. <%@ Page Language="C#" Auto ...

随机推荐

  1. Hadoop示例程序WordCount编译运行

    首先确保Hadoop已正确安装及运行. 将WordCount.java拷贝出来 $ cp ./src/examples/org/apache/hadoop/examples/WordCount.jav ...

  2. 利用nginx做负载均衡

    round-robin:轮询.以轮询方式将请求分配到不同服务器上,默认 least-connected:最少连接数.将下一个请求分配到连接数最少的那台服务器上 ip-hash :基于客户端的IP地址. ...

  3. 编写高性能 Web 应用程序的 10 个技巧

    使用 ASP.NET 编写 Web 应用程序的简单程度令人不敢相信.正因为如此简单,所以很多开发人员就不会花时间来设计其应用程序的结构,以获得更好的性能了.在本文中,我将讲述 10 个用于编写高性能 ...

  4. 用JS写的简单轮播特效

    效果如下 功能分析 1.每隔1秒换一张图片 2.鼠标移入停止切换.鼠标离开继续切换 3.鼠标移入到数字上面的时候,显示和数字对应的图片,并且停止切换,被选中的数字,背景显示橙色 4.鼠标离开数字,从该 ...

  5. Review PHP设计模式之——单例模式

    单例模式: class Single { private static $_instance; private function __construct(){ //define method as p ...

  6. ecshop 全站自定义title标题

    对于SEO来说,能让标题自定义的将会大大增加SEO效果,提高独立商城的流量,今天小编就收集从网上弄来ecshop全站自定义代码,很全哦! 1.Ecshop商品分类页如何实现自定义Title 最近发现很 ...

  7. mysql之创建外键报150错误的处理方法

    这几天由于在赶项目进度,也就没有及时记录下自己的学习情况 ,在完成项目的这段时间里,碰到了很多问题,在解决问题的过程中学习了不少技巧. 这里就主要介绍一下在mysql数据库中为表之间建立外键时报100 ...

  8. 用minicom 产看 usb的串口

    1 用命令   sudo apt-get install minicom  安装 2 用 minicom -s 进行配置 往下选择  Seral port setup: 然后输入  A :选择自己的 ...

  9. IIS (HTTP Error 500.21 - Internal Server Error)解决

    今天在测试网站的时候,在浏览器中输入http://localhost/时,发生如下错误: HTTP Error 500.21 - Internal Server Error Handler " ...

  10. Contest2037 - CSU Monthly 2013 Oct (problem D :CX and girls)

    [题解]: 最短路径问题,保证距离最短的同时,学妹权值最大,哈哈 [code]: #include<iostream> #include<queue> #include< ...