公司要做一个在页面上显示PDF,但是不允许保存,还要允许打印。很是没道理。但是既然要求了就要做,看了Javascript for pdf,好像里面在打印的时候要调用一个willsave事件,不知道可否拦截这个事件,执行的时候返回,从而禁止打印。有没有人做过类似的?能否给个例子?自己试验了一下,目前一直没有成功。多谢了!

解决方案 »

  1.   

    我们公司的页面PDF好像只读的,不知道他们怎么弄的
      

  2.   

    汗,pdf浏览器能够打开本身就已经下载到本地了啊能不能保存好象已经没有必要了。
    我觉得可行的办法就是pdf文件是加密的,通过程序控制自动填写密码,下载再打开就要求输入密码;
    不过挺复杂的,没有处理过这么复杂的内容
      

  3.   

    一个变通的办法,你把它的工具条隐藏了,然后每隔多少毫秒把焦点从PDF上移开。没有焦点了,也就自然屏蔽了。
      

  4.   

    用 Adobe Acrobat Professional 给pdf文件加上使用限制,
    选择 文件->属性->安全性, 设为不可打印就行
      

  5.   

    Sorry,我写错了,客户的需求是不能保存,可以打印。
      

  6.   


    用户能够看到pdf时,pdf文件已经保存在用户的临时文件夹里了,没有办法“不允许保存”。
      

  7.   


    公司的系统,设计的时候,就让所有的访问不留缓存。Global.asax中的Application_AuthenticateRequest时间中把设置为不留缓存。难道是我理解有误?不留缓存了,其实缓存中还有?倒是没看是否真的没了,但是设置上的确是不留缓存的,倒是提醒我了,我周一去看看去,呵呵。而且公司的网页上,已经把右键和菜单等,都屏蔽了,页面的大小和规格都采用一致的方式。其实要看Html代码,都是一件有点儿难度的事情。
      

  8.   

    无论怎么设置,临时文件夹中都会有文件的。所谓不留缓存,只是指文件的过期时间为0,每次打开时都会重新下载。你的客户提的需求,应该是想对版权资料作一些保护吧,有一些现成的控件可以达到你的要求,可以goole一下“pdf阅读控件”,比方说下面这个可以屏蔽save按钮:
    Edraw PDF Viewer Component 
      

  9.   

    客户不想花钱,所以jshi123推荐的控件不能用。PDF是使用ActiveReport生成的报表,生成的时候可以禁掉打印按钮,但禁不了保存按钮。