加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 17:23:19 所属栏目:百科 来源:网络整理
导读: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下载 h

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文件

Php代码

  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,true);

  18. ?>

java示例

Java代码

  1. <%

  2. //获取文件所在目录

  3. String path=request.getRealPath("/");

  4. //使用pdf2swf转换命令

  5. String command= "D:/SWFTools/pdf2swf.exe -t ""+path+"test.pdf" -o ""+path+"test.swf" -s flashversion=9 ";

  6. //执行cmd命令

  7. Runtime.getRuntime().exec("cmd /c "+command);

  8. %>

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

Js代码

  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 : FullScreenAsMaxWindow : ProgressiveLoading : PrintToolsVisible : ViewModeToolsVisible : ZoomToolsVisible : FullScreenVisible : NavToolsVisible : CursorToolsVisible : SearchToolsVisible : localeChain: "zh_CN"

  14. };

  15. var params = {

  16. }

  17. params.quality = "high";

  18. params.bgcolor = "#ffffff";

  19. params.allowscriptaccess = "sameDomain";

  20. params.allowfullscreen = "true";

  21. var attributes = {};

  22. attributes.id = "FlexPaperViewer";

  23. attributes.name = "FlexPaperViewer";

  24. swfobject.embedSWF(

  25. "FlexPaperViewer.swf","flashContent",

  26. "650","500",

  27. swfVersionStr,xiSwfUrlStr,

  28. flashvars,params,attributes);

  29. swfobject.createCSS("#flashContent","display:block;text-align:left;");

  30. </script>

  31. <body>

  32. <div style="position:absolute;left:10px;top:10px;">

  33. <div id="flashContent">

  34. </div>

  35. </div>

  36. </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环境中运行。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读