问题:
客户希望可以实现在网页中打开PDF文档时,只能查看不能打印、另存PDF文档。(假定客户端安装了Adobe Acrobat Reader)目前我可以做到用用java的Itext项目屏蔽PDF的打印功能,隐藏PDF的菜单栏和工具栏。但是在网页中打开PDF文档后,如果用户按F8可以呼出一个快捷菜单,上面有另存按钮,可以把当前PDF文档另存到客户端电脑中。如果用户按Ctrl+Shift+S,可以直接打开另存副本对话框。我想用Javascript屏蔽这两个键盘事件,但好像对Adobe Acrobat Reader不起作用。大家有什么高招?不知道自己开发IE和Firefox插件的话,能否在浏览器中屏蔽Acrobat的热键呢?
客户希望可以实现在网页中打开PDF文档时,只能查看不能打印、另存PDF文档。(假定客户端安装了Adobe Acrobat Reader)目前我可以做到用用java的Itext项目屏蔽PDF的打印功能,隐藏PDF的菜单栏和工具栏。但是在网页中打开PDF文档后,如果用户按F8可以呼出一个快捷菜单,上面有另存按钮,可以把当前PDF文档另存到客户端电脑中。如果用户按Ctrl+Shift+S,可以直接打开另存副本对话框。我想用Javascript屏蔽这两个键盘事件,但好像对Adobe Acrobat Reader不起作用。大家有什么高招?不知道自己开发IE和Firefox插件的话,能否在浏览器中屏蔽Acrobat的热键呢?
http://sourceforge.net/projects/itext/PdfReader reader = new PdfReader("d:\\test.pdf");ByteArrayOutputStream baos = new ByteArrayOutputStream();
PdfStamper stamper = new PdfStamper(reader, baos);
PdfWriter writer = stamper.getWriter();
if (needEncrypte(request, response)) {
String password = "XXXXXX" + Math.random() * 1000;
//加密,不允许打印
stamper.setEncryption(null, password.getBytes(), 0, false);
}
// 隐藏菜单栏、工具栏
writer.setViewerPreferences(PdfWriter.HideMenubar
| PdfWriter.HideToolbar);ServletOutputStream svout = response.getOutputStream();
baos.writeTo(svout);
svout.flush();
都给人看了,我真要打印你还能防止人家截图?知道你的pdf文件地址也可以直接下载