PDF解决方案(1)--文件上传javascript
PDF解决方案(4)--在线浏览java
前言:上一篇主要提到了PDF在线浏览的各类方案的优劣和如何把PDF转换为SWF文件,这一篇主要介绍SWF文件的在线浏览。jquery
SWF在线浏览选择的是FlexPaper,一个轻量级的开源(又是开源,开源万岁!)组件,能够在浏览器中显示各类文档。浏览器
下载地址:http://flexpaper.devaldi.com/工具
在本身的页面中引入FlexPaper的JS和CSS文件以及jquery文件,在页面中定义一个DIV使用FlexPaperViewer方法指定swf文件路径和其它参数渲染这个div就能够了,FlexPaper的使用比较简单就再也不详细描述了,代码以下:学习
<head> <link rel="stylesheet" type="text/css" href="js/FlexPaper/css/flexpaper.css"> <script type="text/javascript" src="js/jquery-1.8.0.min.js"></script> <script type="text/javascript" src="js/FlexPaper/js/flexpaper.js"></script> <script type="text/javascript" src="js/FlexPaper/js/flexpaper_handlers.js"></script> </head> <body> <div style="position: absolute; left: 10px; top: 10px;"> <div id="documentViewer" class="flexpaper_viewer"></div> <script type="text/javascript"> var swfPath = "<%=basePath %>"; (function getSwfPath() { swfPath += ("file/upload/" + Request("path")); initViewer(); })(window); function Request(argname) { var url = document.location.href; var arrStr = url.substring(url.indexOf("?") + 1).split("&"); for (var i = 0; i < arrStr.length; i++) { var loc = arrStr[i].indexOf(argname + "="); if (loc != -1) { return arrStr[i].replace(argname + "=", "").replace("?", ""); break; } } return ""; } function initViewer() { $('#documentViewer').FlexPaperViewer( { config : { SWFFile : swfPath,//swf文件路径 //FitPageOnLoad : true,//自适应页面 FitWidthOnLoad : true,//自适应宽度 InitViewMode : 'Portrait',//启动模式 RenderingOrder : 'flash',// StartAtPage : '',//初始化页面,默认首页 jsDirectory : '<%=path + "/js/FlexPaper/js/"%>',//FlexPaper js路径 WMode : 'window', localeChain: 'zh_CN'//语言 } }); $('#documentViewer').width($('body').width()-20); $('#documentViewer').height($('body').height()-20); } </script> </body>
FlexPaper配置有不少参数,这里有参数的中文介绍,能够用来参考:http://ajava.org/article-685-1.htmlflex
这个专题主要介绍了PDF相关的文件处理,包括文件上传,文件转换为PDF,PDF转换为SWF,SWF的在线浏览,其中用到openoffice、itext、xpdf、swftools、FlexPaper等开源工具和jar包,这些工具都很是的强大提供了不少的功能,这里用到的只是其中很小很简单的功能,供你们参考吧!url
做文是个人硬伤,常常抓不住重点,辞不达意,本末倒置,这几篇文章也写的很吃力,不知道如何把本身想表达的意思表述情书,全部文中会颇有多说了一堆很是却没讲到点子上的状况,欢迎你们批评指正,互相学习!
PDF解决方案demo: http://pan.baidu.com/s/1i3mmwux
swftools、xpdf:http://pan.baidu.com/s/1dDu1Yoh(注:解压放在C盘根目录便可)