公司要做一个在页面上显示PDF,但是不允许保存,还要允许打印。很是没道理。但是既然要求了就要做,看了Javascript for pdf,好像里面在打印的时候要调用一个willsave事件,不知道可否拦截这个事件,执行的时候返回,从而禁止打印。有没有人做过类似的?能否给个例子?自己试验了一下,目前一直没有成功。多谢了!
无论怎么设置,临时文件夹中都会有文件的。所谓不留缓存,只是指文件的过期时间为0,每次打开时都会重新下载。你的客户提的需求,应该是想对版权资料作一些保护吧,有一些现成的控件可以达到你的要求,可以goole一下“pdf阅读控件”,比方说下面这个可以屏蔽save按钮: Edraw PDF Viewer Component
我觉得可行的办法就是pdf文件是加密的,通过程序控制自动填写密码,下载再打开就要求输入密码;
不过挺复杂的,没有处理过这么复杂的内容
选择 文件->属性->安全性, 设为不可打印就行
用户能够看到pdf时,pdf文件已经保存在用户的临时文件夹里了,没有办法“不允许保存”。
公司的系统,设计的时候,就让所有的访问不留缓存。Global.asax中的Application_AuthenticateRequest时间中把设置为不留缓存。难道是我理解有误?不留缓存了,其实缓存中还有?倒是没看是否真的没了,但是设置上的确是不留缓存的,倒是提醒我了,我周一去看看去,呵呵。而且公司的网页上,已经把右键和菜单等,都屏蔽了,页面的大小和规格都采用一致的方式。其实要看Html代码,都是一件有点儿难度的事情。
Edraw PDF Viewer Component