【问题标题】:Hide/Disable download button on Chrome PDF Viewer隐藏/禁用 Chrome PDF 查看器上的下载按钮
【发布时间】:2017-01-23 03:34:43
【问题描述】:

我正在寻找一种方法来隐藏或禁用出现在 Chrome PDF 查看器中的下载按钮。我已经使用 fpdf(http://www.fpdf.org/en/script/script37.php) 的保护脚本禁用了打印按钮,但它对下载按钮没有帮助。 PDF 目前正在通过以下方式在新窗口中打开:

window.open(URL, "", "resizable=yes, scrollbars=yes, titlebar=yes, width=1024, height=900, top=10, left=10");

我意识到这不会阻止任何知情的用户保存/打印 PDF,但客户坚持这种“安全措施”。

如果我使用开发工具检查元素并添加 display: none 它会做我想要的,但我不确定如何在打开的新窗口中默认添加它。

【问题讨论】:

    标签: javascript php google-chrome pdf fpdf


    【解决方案1】:

    你可以使用嵌入标签来做到这一点

    通过设置#toolbar=0,您将能够隐藏下载和打印按钮。

    【讨论】:

    • 这对我有用 - 我使用对象标签,而不是嵌入,但将 #toolbar=0 添加到进入 data 属性的文件 uri 的末尾是有效的。谢谢!
    • 能否分享一个示例链接
    【解决方案2】:

    如果它仅适用于技术不那么精通的用户,您可以通过生成一次性可用的唯一 url 来禁用 chrome pdf 查看器中的下载,例如。使用存储在服务器上并且只允许使用一次的查询字符串参数。下载按钮会再次下载,在这种情况下会失败。然而,这是 chrome pdf 查看器中的一个实现细节,可能会改变。如果用户在浏览器中没有 pdf 查看器或它被禁用,文件将默认下载。

    您可能想尝试pdf.js,它会在任何浏览器中呈现而不是下载,但精通技术的用户仍然可以获取该文档。它的性能可能也低于 chrome pdf 查看器。

    如果您将内容转换为图像,用户仍然可以获取这批图像并将它们组合成 pdf,但是在这种情况下,文本更难恢复,但仍然可以使用 OCR。

    如果您想让复制内容变得更加困难或只是检测它,您还可以在下载的图像中使用水印或合并steganography,以根据在野外发现的已发布文件来识别制作副本的用户.请注意,水印总是可以删除的,通常很容易从 PDF 文件中删除,虽然有点困难,但仍然可以从图像中删除。精心设计的隐藏标识符(隐写术)也可以删除,但必须先找到它,而且当文档没有明显盖章时,用户通常不会看。

    【讨论】:

      【解决方案3】:

      既然您将pdf文件直接传送到浏览器中,使用Adobe Reader ActiveX显示,那么如何防止文件下载,因为文件是在下载到您的临时目录后显示的?

      所以不可能使用任何 JavaScript 库。

      保护您的主 PDF 文件的唯一方法是为每个页面创建图像并通过您自己的界面(html、flash 等)在网络上将这些图像呈现给用户。

      您可以为此使用ImageMagickGhostScript

      【讨论】:

      • 嗨,我实际上不需要阻止下载文件,因为这是不可能的,因为就像你说的那样它在临时文件系统中。我只想隐藏 chrome PDF 查看器中的工具栏以满足任意客户端请求。如果我使用开发人员工具检查元素,然后添加 display: none 它可以解决问题,但我不确定如何默认设置。
      • 我不认为这是可能的。
      • 你应该试试 pdf.js
      猜你喜欢
      • 2017-05-25
      • 2018-05-15
      • 1970-01-01
      • 1970-01-01
      • 2022-09-27
      • 2017-10-27
      • 1970-01-01
      • 1970-01-01
      • 2018-01-18
      相关资源
      最近更新 更多