在线浏览pdf解决方案
1:直接使用浏览器打开,如果客户端没有安装相应的pdf阅读器将无法打开文档。
例如:http://localhost/test/test.pdf。
也可以采用文件流的形式直接输出,但是必须设置response的ContentType为application/pdf
java设置方式为response.setContentType("application/pdf");
php设置方式为 header( "Content-type:application/pdf" );
2:使用Acrobat的ActiveX控键打开,可以使用JavaScript简单操作pdf文档,客户端安装Acrobat pdf阅读器
<div style="margin-top:-45px;"> <object classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" id="PDF" width="100%"> <param name="_Version" value="327680"> <param name="_ExtentX" value="2646"> <param name="_ExtentY" value="2523"> <param name="_StockProps" value="0"> <param name="SRC" value= "test.pdf"> <span style="color:red" align="center">你未安装pdf阅读器,请下载并安装AdbeReader软件。 </span> </object> </div>
常用方法
PDF.AboutBox
PDF.goBackwardStack
PDF.goForwardStack
PDF.gotoFirstPage
PDF.gotoLastPage
PDF.gotoNextPage
PDF.gotoPreviousPage
PDF.LoadFile
PDF.Print
PDF.printAll
PDF.printAllFit
PDF.printPages
PDF.printPagesFit
PDF.printWithDialog
PDF.setCurrentPage
PDF.setLayoutMode
PDF.setNamedDest
PDF.setPageMode
PDF.setShowScrollbars
PDF.setShowToolbar
PDF.setView
PDF.setViewRect
PDF.setViewScroll
PDF.setZoom
PDF.setZoomScroll
备注:隐藏toolsbar有三种方式
(1)使用 PDF.setShowToolbar(false)方法。
(2)在object中增加 <param name= "_ToolBar " value= "false">【网上来的,不过好像不好使】
(3)使用层设置样式将pdf的toolsbar隐藏,示例代码就是采用该方式。
以上三种隐藏方式,使用热键F8还可以将toolsbar显示出来。
1,2两种方式无法防止用户下载,打印,拷贝等操作,如果仅仅是查看PDF文档可以采用该两种方案。
3:使用三方插件打开pdf【找到的全是收费,不知道有没有不收费并且开源的】
三方插件打开在线打开pdf很多只支持IE,对于其他浏览器的支持不够。但是三方插件在客户端没有安装相应的pdf阅读器时,也能查看pdf,并且对于pdf有许多个性话操作比如--禁止非法下载、禁止复制、禁止打印、禁止拷贝到其他电脑阅读,限制阅读时间和打印次数等。
例如: 西安优看电子科技有限公司的YCanPDF http://www.ycanpdf.cn/index.asp
北京科翰软件有限公司SOAPDF http://www.kehansoft.com/
三方插件都有相关的使用文档说明,并且有相关的技术支持,如果公司有钱的话可以考虑该方案。
4:将pdf转换成其他格式的文件 例如 图片,swf等【转换为swf时对于加密的PDF无法做转换,如果PDF中包含图片一些图片的样式不是挺清晰】。
该方案我将在下一篇文章中特别介绍。
http://xianglp.iteye.com/blog/814027