阻止(普通用户)下载PDF

时间:2019-06-13 08:15:06

标签: java pdf web

在您开始大声疾呼之前……我已经知道,无论我做什么,总会有一种从网页下载图片和PDF的方法。

但是,假设我的用户并不精通技术,只了解基础知识。

在我们的Web应用程序中显示某些图像和PDF时,我被要求“禁用”下载选项。

我设法用一行CSS禁用了图像的上下文菜单,但是我在使用PDF时遇到了麻烦。

到目前为止我尝试过的事情:

  1. 使用标记,向上移动元素以隐藏工具栏。在Firefox上运行正常,然后我发现其他浏览器只是在悬停时显示下载按钮
  2. 使用透明div覆盖元素。适用于FF和Chrome。不适用于IE和Edge(嵌入元素始终放在其余元素的顶部)
  3. 与两个相同,但使用iFrame。在
  4. 后面时,IE根本不显示iFrame。
  5. 我已使用SwingLabs PDF渲染器将PDF转换为图像。最终图像颜色都是错误的。

由于安全性限制,我的资源有限,并且我的想法已用完。有什么建议吗?

注意:能够查看这些PDF的用户需要进行身份验证并具有特殊权限,因此不必担心摆弄。

3 个答案:

答案 0 :(得分:1)

虽然我同意有关愚蠢的需求的答案,但仍有一些方法可以解决您的问题。即,根本不给普通用户一个PDF,而是其他。并将PDF授予特权用户。您已经指出自己有一种区分它们的方法。

有些库可用于将PDF转换为另一种格式。曾经给我一个相对类似的任务。我的工作是在用户DL打开文档并客户端应用程序打开相关的文字处理软件之前对其进行预览。

虽然我不能凭良心推荐Aspose库(我真的不喜欢使用此工具),但它们是我当时工作的公司所使用的库,我知道它们可以做些什么你需要做。它们既不像免费语音那样免费,也不像免费啤酒那样免费,但是可以免费下载和尝试,但要在生成/转换的文档上花大水印。

我让Aspose完成将文档转换为HTML文件并将其加载到界面中的iFrame中的工作。

如果您的经理不接受以其他格式提供PDF内容的解决方案,那么您确实需要让他们知道他们的愚蠢程度。

答案 1 :(得分:1)

如果考虑使用此解决方案,则可以使用Aspose.PDF将pdf转换为图像或html。

将PDF转换为HTML:
https://docs.aspose.com/display/pdfjava/Convert+PDF+to+HTML+format
将PDF转换为SVG:https://docs.aspose.com/display/pdfjava/Convert+PDF+to+other+Formats#ConvertPDFtootherFormats-ConvertPDFtoSVGformat

希望有帮助。否则,随时问我。

注意:我是Aspose的开发人员布道者。

答案 2 :(得分:-1)

  

在我们的Web应用程序中显示某些图像和PDF时,我被要求“禁用”下载选项。

有一个东西叫做“道德”和“开发者责任”。在这种情况下,您没有遇到技术问题,而遇到了社交问题,并且只有一个解决方案:去告诉谁问过您这个人是白痴,而网络根本无法正常工作。尤其是对于PDF!

您曾经在浏览器中打开PDF吗?您是否注意到,浏览器内置的PDF查看器中的 all 会在工具栏中非常显眼地显示一个“保存此PDF”按钮?您是否知道PDF查看器在您网站的上下文之外运行并且您无法操作(出于安全原因)?

严重:解决此问题的方法是告诉您上方的人,他们要求您做的事是不合理的,只会破坏事情。这是您的责任!