程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 類似百度文庫pdf2swf+flexpaper解決pdf在線閱讀的效果,pdf2swfflexpaper

類似百度文庫pdf2swf+flexpaper解決pdf在線閱讀的效果,pdf2swfflexpaper

編輯:關於PHP編程

類似百度文庫pdf2swf+flexpaper解決pdf在線閱讀的效果,pdf2swfflexpaper


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] view plaincopyprint?  
  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示例

 

 

[java] view plaincopyprint?  
  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

 

 

[javascript] view plaincopyprint?  
  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.   
  26.  var params = {  
  27.   
  28.     }  
  29.          params.quality = "high";  
  30.          params.bgcolor = "#ffffff";  
  31.          params.allowscriptaccess = "sameDomain";  
  32.          params.allowfullscreen = "true";  
  33.          var attributes = {};  
  34.          attributes.id = "FlexPaperViewer";  
  35.          attributes.name = "FlexPaperViewer";  
  36.          swfobject.embedSWF(  
  37.              "FlexPaperViewer.swf", "flashContent",  
  38.              "650", "500",  
  39.              swfVersionStr, xiSwfUrlStr,  
  40.              flashvars, params, attributes);  
  41. swfobject.createCSS("#flashContent", "display:block;text-align:left;");  
  42.      </script>  
  43.   
  44.  <body>  
  45.   <div >  
  46.       <div id="flashContent">  
  47.       </div>  
  48.      </div>  
  49. </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轉換只有一頁的PDF文檔,在FlexPaper沒顯示

版本問題,建議卸載重裝
 

Java+FlexPaper+swfTools仿百度文庫文檔在線預覽系統設計與實現

用FlexPaper這個插件顯示,先把word轉成pdf再把pdf轉成swf文件,上傳上去就可以用FlexPaper播放了。注意服務器系統是不一樣的,所以間隔符不一樣,希望對你思路有所幫助
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved