Home > Backend Development > PHP Tutorial > Similar to Baidu Wenku pdf2swf+flexpaper solves the effect of pdf online reading, pdf2swfflexpaper_PHP tutorial

Similar to Baidu Wenku pdf2swf+flexpaper solves the effect of pdf online reading, pdf2swfflexpaper_PHP tutorial

WBOY
Release: 2016-07-13 10:16:59
Original
905 people have browsed it

Similar to Baidu Wenku pdf2swf+flexpaper to solve the effect of pdf online reading, pdf2swfflexpaper

1: Tool preparation
swftools.exe download
http ://www.swftools.org/download.html
Install to D drive
SWFTools provides a series of tools for converting various files into swf:
font2swf.exe
gif2swf.exe
jpeg2swf.exe
pdf2swf.exe
png2swf.exe
wav2swf.exe
Here we only use pdf2swf.exe

Download flexpaper
http://code.google.com/p/flexpaper/
Here we use the compiled flash version of FlexPaper

2: Sample language, here I use two development environments as examples
PHP example
Generate swf file from pdf

[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. //Get the directory where the file is located
  8. $dir=dirname(__FILE__) ;
  9. //Delete test files
  10. @unlink( $dir."\test.swf" );
  11. //Use pdf2swf conversion command
  12. $command= "D:/SWFTools/pdf2swf.exe -t "".$dir."\test.pdf" -o "".$ dir."\test.swf" -s flashversion=9 ";
  13. //Create shell object
  14. $WshShell = new COM("WScript.Shell");
  15. //Execute cmd command
  16. $oExec = $WshShell->Run("cmd /C ". $command, 0, true);
  17. ?>

java example

[java] view plaincopyprint? ​
  1. <%
  2. /*
  3. * Created on 2010-11-17
  4. */
  5. //Get the directory where the file is located
  6. String path=request.getRealPath("/");
  7. //Use pdf2swf conversion command
  8. String command= "D:/SWFTools/pdf2swf.exe -t ""+path+"\test.pdf" -o ""+path+"\test.swf" -s flashversion=9 ";
  9. //Execute cmd command
  10. Runtime.getRuntime().exec("cmd /c "+command);
  11. %>


The above is php, java converts pdf to swf, what about display, so we will use flexpaper, the following is the use of flexpaper
Use flexpaper to display swf

[javascript] view plaincopyprint?  
  1. "text/javascript" src="js/swfobject/swfobject.js">  
  2.  "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.        
  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...
    Related labels:
    source:php.cn
    Previous article:PHP generates Baidu sitemap sitemap class function instance, sitemap sitemap_PHP tutorial Next article:The solution to the problem that header is required when php outputs xml, phpxmlheader_PHP tutorial
    Statement of this Website
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
    Latest Articles by Author
    Latest Issues
    Related Topics
    More>
    Popular Recommendations
    Popular Tutorials
    More>
    Latest Downloads
    More>
    Web Effects
    Website Source Code
    Website Materials
    Front End Template