隐藏/禁用下载按钮在Chrome PDF浏览器


Hide/Disable download button on Chrome PDF Viewer

我正在寻找一种方法来隐藏或禁用出现在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,但是客户坚持这种"安全措施"。

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

可以使用嵌入标签

通过设置#toolbar=0,你可以隐藏下载和打印按钮

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

您可能想尝试pdf.js,它将在任何浏览器中呈现而不下载,但技术精湛的用户仍然能够获得文档。它的性能可能也不如chrome pdf浏览器。

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

如果你想让复制内容变得更困难,或者只是检测它,你也可以在下载的图像中使用水印,或者结合隐写术来识别基于在野外发现的发布文件进行复制的用户。请注意,水印总是可以被删除的,通常很容易从PDF文件中删除,但从图像中删除有点难,但仍然是可能的。精心设计的隐藏标识符(隐写术)也可以被删除,但它必须首先被发现,并且当文档没有明显盖章时,通常用户不会去看。

既然您直接将pdf文件交付到浏览器中,使用adobereader ActiveX显示,那么如何可能阻止文件下载,因为文件在下载到您的临时目录后显示?

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

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

你可以使用ImageMagick和GhostScript。