Similar to Baidu Wenku pdf2swf+flexpaper solves the effect of pdf online reading, pdf2swfflexpaper_PHP tutorial
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?
-
-
- $dir=dirname(__FILE__) ;
-
- @unlink( $dir."\test.swf" );
-
- $command= "D:/SWFTools/pdf2swf.exe -t "".$dir."\test.pdf" -o "".$ dir."\test.swf" -s flashversion=9 ";
-
- $WshShell = new COM("WScript.Shell");
-
- $oExec = $WshShell->Run("cmd /C ". $command, 0, true);
- ?>
java example
[java] view plaincopyprint?
- <%
-
- String path=request.getRealPath("/");
-
- String command= "D:/SWFTools/pdf2swf.exe -t ""+path+"\test.pdf" -o ""+path+"\test.swf" -s flashversion=9 ";
-
- Runtime.getRuntime().exec("cmd /c "+command);
- %>
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?
-
- 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;");
-
-
-
-
"position:absolute;left:10px;top:10px;">
-
"flashContent">
-
通过上述方式我们可以将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环境中运行。
版本问题,建议卸载重装
用FlexPaper这个插件显示,先把word转成pdf再把pdf转成swf文件,上传上去就可以用FlexPaper播放了。注意服务器系统是不一样的,所以间隔符不一样,希望对你思路有所帮助
http://www.bkjia.com/PHPjc/894770.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/894770.htmlTechArticle类似百度文库pdf2swf+flexpaper解决pdf在线阅读的效果,pdf2swfflexpaper 1:工具准备 swftools.exe 下载 http://www.swftools.org/download.html 安装至D盘 SWFToo...