我需要向用户提供数百个PDF文件。当通过我的MVC网络应用程序呈现这些文件时,我不希望用户能够下载文件,例如..我不希望Acrobat reader控件显示打印/保存。读取此stackoverflow post似乎无法禁用这些控件。
我知道用户仍然可以拍摄屏幕截图并打印出页面,但在我的情况下这不是问题。
什么是最好的方法来解决这个问题。我已经使用SWFTOOLS进行了研究,看起来它可能是一个很好的解决方案,但我不想将swf文件保存到我的文件系统中。最佳解决方案是PDF.js,但我遇到的另一个问题是用户将通过IE8访问文件 - 所以PDF.js是不可能的。除非有另一个类似的库将文件转换为HTML 4。
基本上我只需要以与PDF不同的格式即时显示PDF文件
有什么建议吗?
答案 0 :(得分:0)
我会将其转换为图像文件,您可以找到工具或编写脚本来执行此操作,我个人会首先在浏览器中显示它们然后使用浏览器插件来截取整个网页。 (你可以自动化这个) 然后只显示转换后的pdfs **这可能不是最好的解决方案:( **
答案 1 :(得分:0)
我有一个类似的项目,需要向特定用户显示敏感的pdf,但不允许下载/打印/保存。
由于它是一个网络应用程序,我最终使用pdf.js。它是Mozilla的firefox的PDF渲染器。它将pdf渲染到画布上,默认情况下具有所有的铃声和口哨声。如果您有firefox,请打开一个pdf文件以查看它的实际效果。
一开始很难让它运行但我最终使用了我在网上找到的一个演示作为项目的基础。删除每个被禁止的功能后,成品完全按照要求执行。您需要添加打印css文件以阻止打印或找到更好的解决方案。我最后使用css方法,因为打印预览通过我的javascript检查打印操作。还要确保阻止ctrl + s,允许用户保存pdf。
需要注意的另一个方面是,它在IE的更高版本上运行得更好,并且随着文件大小的增加在旧版本上挣扎。 Firefox和Chrome不是问题,我相信歌剧也是如此,尽管我还没有测试过。