由于pdf.js的浏览器兼容性不是特别好。所以考虑折中解决方案。将pdf转为swf 再在浏览器中显示swf. pdf转swf的工具参考 http://blog.csdn.net/xraydog/article/details/44015981
swf在浏览器中的展示考虑用flexpaper
在 flexpaper的官网上下载flexpaer 将flexpaper.css 复制到项目的css文件夹中 并在jsp中引入
在js文件夹中置入 expressInstall.swf flexpaper_handlers_debug.js flexpaper_handlers.js flexpaper.js jquery.min.js 并在jsp中引入
在工程网页的根目录下创建 viewSWF.jsp 并将FlexPaperViewer.swf放置于网页的根目录中
viewSWF.jsp代码如下
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet"%> <%@ include file="/init.jsp"%> <%@ page pageEncoding="utf-8" contentType="text/html"%> <link rel="stylesheet" type="text/css" href="./css/flexpaper.css" /> <script type="text/javascript" src="./js/jquery.min.js"></script> <script type="text/javascript" src="./js/flexpaper.js"></script> <script type="text/javascript" src="./js/flexpaper_handlers.js"></script> <div style="position:absolute;left:10px;top:10px;"> <div id="documentViewer" class="flexpaper_viewer" style="width:100%;height:100%"></div> </div> <script type="text/javascript"> $('#documentViewer').css("width",document.body.clientWidth*0.98 + "px"); $('#documentViewer').css("height",document.body.clientHeight*0.98 + "px"); function getDocumentUrl(document){ return "php/services/view.php?doc={doc}&format={format}&page={page}".replace("{doc}",document); } var src1 = "http://localhost:8080/swfs/a.swf";//替换为你对应的swf文件的地址 var startDocument = "Paper"; $('#documentViewer').FlexPaperViewer( { config : { SWFFile : src1, Scale : 0.6, ZoomTransition : 'easeOut', ZoomTime : 0.5, ZoomInterval : 0.2, FitPageOnLoad : true, FitWidthOnLoad : true, FullScreenAsMaxWindow : true, ProgressiveLoading : false, PrintEnabled: 'False', PrintToolsVisible: 'False', MinZoomSize : 0.2, MaxZoomSize : 5, SearchMatchAll : false, InitViewMode : 'Portrait', RenderingOrder : 'flash', StartAtPage : '', ViewModeToolsVisible : true, ZoomToolsVisible : true, NavToolsVisible : true, CursorToolsVisible : true, SearchToolsVisible : true, WMode : 'window', localeChain: 'zh_CN' }} ); </script> <script type="text/javascript"> var url = window.location.href.toString(); if(location.length==0){ url = document.URL.toString(); } if(url.indexOf("file:")>=0){ jQuery('#documentViewer').html("<div style='position:relative;background-color:#ffffff;width:420px;font-family:Verdana;font-size:10pt;left:22%;top:20%;padding: 10px 10px 10px 10px;border-style:solid;border-width:5px;'><img src='http://flexpaper.devaldi.com/resources/warning_icon.gif'> <b>You are trying to use FlexPaper from a local directory.</b><br/><br/> FlexPaper needs to be copied to a web server before the viewer can display its document properlty.<br/><br/>Please copy the FlexPaper files to a web server and access the viewer through a http:// url.</div>"); } </script>