首页 > 解决方案 > 阻止(普通用户)下载 PDF

问题描述

在你们开始咆哮之前......我已经知道,无论我做什么,总会有一种方法可以从网页下载图片和 PDF。

但是让我们假设我的用户不是那么精通技术,只知道基础知识。

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

我设法用一行 CSS 禁用了图像的上下文菜单,但我遇到了 PDF 问题。

到目前为止我所尝试的:

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

由于安全限制,我的资源有限,而且我的想法已经不多了。有什么建议么?

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

标签: javapdfweb

解决方案


虽然我同意有关要求愚蠢的答案,但有一些方法可以解决您的问题。也就是说,根本不给普通用户一个PDF,而是别的东西。并将 PDF 提供给特权用户。您已经指出您有办法将它们区分开来。

您可以使用一些库将 PDF 转换为另一种格式。我曾经被分配了一个相对相似的任务。我的任务是在用户 DL 之前预览文档,客户端应用程序打开相关的文字处理软件。

虽然我不能凭良心推荐 Aspose 库(我真的不喜欢使用这个工具),但它们是我当时工作的公司正在使用的,我知道它们可以做你需要做的事情做。它们既不像言论自由那样免费,也不像免费啤酒那样免费,但它们可以免费下载和试用,代价是生成/转换的文档上有一个大水印。

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

如果您的经理不接受以另一种格式提供 PDF 内容的解决方案,您真的需要让他们知道他们的愚蠢。


推荐阅读