代码改变世界

网页打开pdf文件屏蔽"打印"、"保存"解决方案

2011-01-03 14:28  ☆冷枫☆  阅读(12225)  评论(4编辑  收藏  举报

       近期在处理一个项目的时候,有一个在线阅读pdf文件的需求,需求人的要求也比较BT要求只能看不能打印、保存,保存网页也不允许。酝酿了很久终于找到比较好的一个解决方案,解决办法如下:

       

<HTML>
    
<HEAD>
        
<META http-equiv="Content-Type" content="text/html; charset=gb2312">
        
<META http-equiv="Content-Style-Type" content="text/css">
        
<META http-equiv="Content-Script-Type" content="text/javascript">
        
<TITLE>2011年度策略报告</TITLE>       
    
</HEAD>
    
<BODY>
        
<NOSCRIPT>
            Cannot determine if you have Acrobat Reader (or the full Acrobat)
            installed 
<FONT size="-1">(because JavaScript is unavailable or 
            turned off)
</FONT>.
        
</NOSCRIPT>
        
<DIV id="IfNoAcrobat" style="display:none">
            你需要先安装Adobe Reader才能正常浏览文件,请点击这里下载Adobe Reader.
        
</DIV>
    
<div>
        
<style="margin-top:-50px;margin-bottom:0px;">   
            
<object classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" id="Pdf1" width="100%" height="120%">   
              
<param name="_Version" value="327680"> 
              
<param name="_ExtentX" value="2646">   
              
<param name="_ExtentY" value="1323">   
              
<param name="_StockProps" value="0">   
              
<param name="SRC" value="20110104.pdf"> 
            
</object>   
        
</p> 
    
</div>
</BODY>
</HTML>

 

   

 处理到这一步,基本上已经屏蔽了pdf工具的打印和保存的功能。原理其实并不是真正意义上的屏蔽而是通过样式将其功能隐藏了,主要是

 <p style="margin-top:-50px;margin-bottom:0px;">

 

 

 这段p标签起作用的,但是问题是处理到这一步还只是完成了一半,通过网页中的 文件-->另存为 或 打印还是能够保存的,接下来我们可以这样来处理:    

 window.open ('../readpdf.html','newwindow','width=960,toolbar=no, menubar=no,scrollbars=yes,resizable=yes,location=no,status=no')

 

通过js中的window.open方法设置参数,达到屏蔽菜单功能,最后的效果图如下所示: