pdf2swf+flexpapers实现类似百度文库pdf在线阅读

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

java示例

代码如下:

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

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

代码如下:

<script type="text/javascript" src="js/swfobject/swfobject.js"></script> 
 <script type="text/javascript"> 
         var swfVersionStr = "10.0.0"; 
         var xiSwfUrlStr = "playerProductInstall.swf"; 
         var flashvars = { 
               SwfFile : escape("test.swf"), 
   Scale : 0.6, 
   ZoomTransition : "easeOut", 
   ZoomTime : 0.5, 
     ZoomInterval : 0.1, 
     FitPageOnLoad : false, 
     FitWidthOnLoad : true, 
     PrintEnabled : true, 
     FullScreenAsMaxWindow : false, 
     ProgressiveLoading : true, 
     PrintToolsVisible : true, 
     ViewModeToolsVisible : true, 
     ZoomToolsVisible : true, 
     FullScreenVisible : true, 
     NavToolsVisible : true, 
     CursorToolsVisible : true, 
   SearchToolsVisible : true, 
     localeChain: "zh_CN" 
   }; 
 
 var params = { 
 
    } 
         params.quality = "high"; 
         params.bgcolor = "#ffffff"; 
         params.allowscriptaccess = "sameDomain"; 
         params.allowfullscreen = "true"; 
         var attributes = {}; 
         attributes.id = "FlexPaperViewer"; 
         attributes.name = "FlexPaperViewer"; 
         swfobject.embedSWF( 
             "FlexPaperViewer.swf", "flashContent", 
             "650", "500", 
             swfVersionStr, xiSwfUrlStr, 
             flashvars, params, attributes); 
swfobject.createCSS("#flashContent", "display:block;text-align:left;"); 
     </script> 
 
 <body> 
  <div style="position:absolute;left:10px;top:10px;"> 
      <div id="flashContent"> 
      </div> 
     </div> 
</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环境中运行。

(0)

相关推荐

  • PHP实现仿百度文库,豆丁在线文档效果(word,excel,ppt转flash)

    本文实例讲述了PHP实现仿百度文库,豆丁在线文档效果.分享给大家供大家参考,具体如下: 由于项目要实现类似百度文库的功能,又是我一个人做的项目,所以就想到找免费的现成的来使用.在网上找到的都是一样的.如下: Flash Paper支持Office文档(.doc,.xls,.ppt)直接转换为PDF或SWF,速度很快,效果较好.可惜,Flash Paper V2.2后没有再更新了.安装Flash Paper后,可以直接使用命令调用FlashPrinter.exe,实现批量转换. 例如:C:\Fla

  • java实现附件预览(openoffice+swftools+flexpaper)实例

    本文主要介绍了java实现附件预览,需要用到openoffice.SWFTools.FlexPaper,具体步骤如下: 1.概述 主要原理 1.通过第三方工具openoffice,将word.excel.ppt.txt等文件转换为pdf文件 2.通过swfTools将pdf文件转换成swf格式的文件 3.通过FlexPaper文档组件在页面上进行展示 2.安装包下载 1.openoffice是Apache下的一个开放免费的文字处理软件 下载地址:Apache oppenoffice 官网下载 版

  • JS实现仿百度文库评分功能

    百度文库分享平台大家都知道,今天小编通过一段实例代码给大家介绍基于js实现百度文库评分功能,先给大家展示效果图吧. 具体代码如下所示: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/

  • 将word转化为swf 如同百度文库般阅读实现思路及代码

    复制代码 代码如下: <SPAN style="FONT-FAMILY: Arial, Helvetica, sans-serif">实现如同百度文库那样类似功能需要进行一系列转化,一般流程想将word转化为pdf格式,再将pdf格式转化为swf格式.在网页上显示其实都是swf格式内容.</SPAN> 首先将word转化为swf,需要调用com组件,可以通过office 或者wps进行转化,但我尝试都没有成功,最后通过OpenOffice 4.0.0 进行转化才

  • Java仿文库的基本方法(openoffice+swftools+flexPaper)

    Java仿文库的基本方法 基本步骤: 1.将要展示的office文件 转换成 PDF,  使用工具 openoffice 2.将PDF文件转换成swf ,实用工具swftools 3.使用flexPaper,显示转换后的swf文件. 基础代码:没有任何校验 1.openoffice转换pdf 下载地址:https://www.openoffice.org/zh-cn/ 实用工具:  jodconverter-2.2.2   引入所需jar,直接将所有jar都扔进来了 首先.下载openOffic

  • 用python下载百度文库的代码

    先去下载一个叫SWFToImage.dll的东西 再建立一个bat文件,并运行: 复制代码 代码如下: COPY SWFToImage.dll %windir%\system32 regsvr32 %windir%\system32\SWFToImage.dll 复制代码 代码如下: #用python下载百度文库的代码,需要的同志请修改,下面有提示 #http://www.cnblogs.com/dearplain/ #code by plain import urllib2 import wi

  • js仿淘宝和百度文库的评分功能

    本文实例为大家分享了类似于淘宝和百度文库的评分功能,js实现,供大家参考,具体内容如下 效果如图: 五个五角星分别放在了一个table的五列中.下面是一个<p>,用来显示评分结果的:代码如下: <body onload="changebg()"> <table border="0" align="center" cellpadding="0" cellspacing="0" i

  • pdf2swf+flexpapers实现类似百度文库pdf在线阅读

    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/ 这里我们使用已经编译好的F

  • PHP实现在线阅读PDF文件的方法

    本文实例讲述了PHP实现在线阅读PDF文件的方法.分享给大家供大家参考.具体实现方法如下: <?php if(!function_exists('read_pdf')) { function read_pdf($file) { if(strtolower(substr(strrchr($file,'.'),1)) != 'pdf') { echo '文件格式不对.'; return; } if(!file_exists($file)) { echo '文件不存在'; return; } head

  • 学习Java模拟实现百度文档在线浏览

    这个思路是我参考网上而来,代码是我实现. 采用Apache下面的OpenOffice将资源文件转化为pdf文件,然后将pdf文件转化为swf文件,用FlexPaper浏览. ok, A.下载OpenOffice (转换资源文件) B.下载JodConverter(调用OpenOffice) C.下载Swftools(Pdf2Swf) D.下载 FlexPaper(浏览swf文件) 下载之后,先别急安装,请看完这篇博文 1.先看我们的MyEclipse工程结构 2.将我们下载下来的jodconve

  • Android实现pdf在线预览或本地预览的方法

    最近项目中需要使用在线预览pdf,并要能实现自动播放,我想这样的需求无论如何来说都是很操蛋的 由于本人水平有限,最后讨论将项目需求改成将pdf下载到本地再实现自动播放. 接下来总结下目前能够实现pdf阅读的方案,开发当中需要根据实际需求去选择相应的方案. 1.使用Google doc支持来展示word,excel,pdf,txt(WebView方式在线预览): <span style="font-size:18px;">WebView urlWebView = (WebVi

  • python实现百度文库自动化爬取

    项目介绍 可以下载doc,ppt,pdf.对于doc文档可以下载,doc中的表格无法下载,图片格式的文档也可以下载.ppt和pdf是先下载图片再放到ppt中.只要是可以预览的都可以下载. 已有功能 将可以预览的word文档下载为word文档,如果文档是扫描件,同样支持. 将可以预览的ppt和pdf下载为不可编辑的ppt,因为网页上只有图片,所以理论上无法下载可编辑的版本. 环境安装 pip install requests pip install my_fake_useragent pip in

  • 让input框实现类似百度的搜索提示(基于jquery事件监听)

    挺炫的一个效果,百度和谷歌好像已实现好多年了,我以为在网上能轻易找到代码来实现这个效果.真正遇到这个需求,发现还真找不到.于是自己动手写这个效果,由于我是把效果整合到我的整套框架里,所以没有进行单独的封装. 需求:实现带提示的input框,类似百度搜索,有改动的时候去获取常用关键词,数据来源于系统数据库,支持鼠标选择或键盘选择 思路:框架一贯思路,通过class作为监听入口,通过data作为数据传递:通过监听input和propertychange事件实现实时的改动监听,input是主流,pro

随机推荐