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

 java示例

 

 

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


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

 

 

[javascript] view plaincopyprint?  
  1.   
  2.  
  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.        
  43.   
  44.    
  45.   
    "position:absolute;left:10px;top:10px;">  
  46.       
    "flashContent">  
  47.       
  
  •      
  •   
  •   

  • 通过上述方式我们可以将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播放了。注意服务器系统是不一样的,所以间隔符不一样,希望对你思路有所帮助
     

    www.bkjia.comtruehttp://www.bkjia.com/PHPjc/894770.htmlTechArticle类似百度文库pdf2swf+flexpaper解决pdf在线阅读的效果,pdf2swfflexpaper 1:工具准备 swftools.exe 下载 http://www.swftools.org/download.html 安装至D盘 SWFToo...
    陳述
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
    可以在PHP會話中存儲哪些數據?可以在PHP會話中存儲哪些數據?May 02, 2025 am 12:17 AM

    phpsessionscanStorestrings,數字,數組和原始物。

    您如何開始PHP會話?您如何開始PHP會話?May 02, 2025 am 12:16 AM

    tostartaphpsession,usesesses_start()attheScript'Sbeginning.1)placeitbeforeanyOutputtosetThesessionCookie.2)useSessionsforuserDatalikeloginstatusorshoppingcarts.3)regenerateSessiveIdStopreventFentfixationAttacks.s.4)考慮使用AttActAcks.s.s.4)

    什麼是會話再生,如何提高安全性?什麼是會話再生,如何提高安全性?May 02, 2025 am 12:15 AM

    會話再生是指在用戶進行敏感操作時生成新會話ID並使舊ID失效,以防會話固定攻擊。實現步驟包括:1.檢測敏感操作,2.生成新會話ID,3.銷毀舊會話ID,4.更新用戶端會話信息。

    使用PHP會話時有哪些性能考慮?使用PHP會話時有哪些性能考慮?May 02, 2025 am 12:11 AM

    PHP会话对应用性能有显著影响。优化方法包括:1.使用数据库存储会话数据,提升响应速度;2.减少会话数据使用,只存储必要信息;3.采用非阻塞会话处理器,提高并发能力;4.调整会话过期时间,平衡用户体验和服务器负担;5.使用持久会话,减少数据读写次数。

    PHP會話與Cookie有何不同?PHP會話與Cookie有何不同?May 02, 2025 am 12:03 AM

    PHPsessionsareserver-side,whilecookiesareclient-side.1)Sessionsstoredataontheserver,aremoresecure,andhandlelargerdata.2)Cookiesstoredataontheclient,arelesssecure,andlimitedinsize.Usesessionsforsensitivedataandcookiesfornon-sensitive,client-sidedata.

    PHP如何識別用戶的會話?PHP如何識別用戶的會話?May 01, 2025 am 12:23 AM

    phpIdentifiesauser'ssessionSessionSessionCookiesAndSessionId.1)whiwsession_start()被稱為,phpgeneratesainiquesesesessionIdStoredInacookInAcookInAcienamedInAcienamedphpsessIdontheuser'sbrowser'sbrowser.2)thisIdallowSphptpptpptpptpptpptpptpptoretoreteretrieetrieetrieetrieetrieetrieetreetrieetrieetrieetrieetremthafromtheserver。

    確保PHP會議的一些最佳實踐是什麼?確保PHP會議的一些最佳實踐是什麼?May 01, 2025 am 12:22 AM

    PHP會話的安全可以通過以下措施實現:1.使用session_regenerate_id()在用戶登錄或重要操作時重新生成會話ID。 2.通過HTTPS協議加密傳輸會話ID。 3.使用session_save_path()指定安全目錄存儲會話數據,並正確設置權限。

    PHP會話文件默認存儲在哪裡?PHP會話文件默認存儲在哪裡?May 01, 2025 am 12:15 AM

    phpsessionFilesArestoredIntheDirectorySpecifiedBysession.save_path,通常是/tmponunix-likesystemsorc:\ windows \ windows \ temponwindows.tocustomizethis:tocustomizEthis:1)useession_save_save_save_path_path()

    See all articles

    熱AI工具

    Undresser.AI Undress

    Undresser.AI Undress

    人工智慧驅動的應用程序,用於創建逼真的裸體照片

    AI Clothes Remover

    AI Clothes Remover

    用於從照片中去除衣服的線上人工智慧工具。

    Undress AI Tool

    Undress AI Tool

    免費脫衣圖片

    Clothoff.io

    Clothoff.io

    AI脫衣器

    Video Face Swap

    Video Face Swap

    使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

    熱工具

    WebStorm Mac版

    WebStorm Mac版

    好用的JavaScript開發工具

    SublimeText3 英文版

    SublimeText3 英文版

    推薦:為Win版本,支援程式碼提示!

    EditPlus 中文破解版

    EditPlus 中文破解版

    體積小,語法高亮,不支援程式碼提示功能

    ZendStudio 13.5.1 Mac

    ZendStudio 13.5.1 Mac

    強大的PHP整合開發環境

    Atom編輯器mac版下載

    Atom編輯器mac版下載

    最受歡迎的的開源編輯器