我正在寻找一种方法来隐藏或禁用下载按钮,出现在浏览器的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工具检查元素并添加display: none,它会执行我想要的操作,但我不确定如何在打开的新窗口中默认添加该元素。
发布于 2018-07-24 17:31:37
您可以通过使用embed标记来完成此操作
通过制作#toolbar=0,您将能够隐藏下载和打印按钮。
发布于 2016-09-15 15:46:30
既然您是直接将pdf文件传送到浏览器中,并使用Adobe Reader ActiveX显示,那么如何可能阻止文件下载,因为这些文件是在下载到您的临时目录后显示的?
所以使用任何JavaScript库都是不可能的。
保护您的主PDF文件的唯一方法是为每个页面创建图像,并通过您自己的界面(html、flash等)将这些图像呈现给web上的用户。
为此,您可以结合使用ImageMagick和GhostScript。
希望这能有所帮助。(:
发布于 2017-05-08 18:17:51
如果它只适用于不太喜欢技术的用户,你可以在chrome pdf查看器中通过生成一次性可用的唯一urls来禁用下载。具有存储在服务器上且仅允许使用一次的查询字符串参数。download按钮进行第二次下载,在这种情况下将失败。然而,这是chrome pdf查看器中可能会更改的实现细节。如果用户在浏览器中没有pdf查看器或该查看器被禁用,则默认情况下将直接下载该文件。
您可能想要尝试pdf.js,它将在任何浏览器中呈现,并且不会下载,但技术保守的用户仍然可以获得文档。它的性能可能也不如chrome pdf查看器。
如果您将内容转换为图像,用户仍然可以获取一批图像并将其合并为pdf,但是在这种情况下,文本更难恢复,但仍然可以使用OCR。
如果你想让复制内容变得更难或者只是检测到它,你也可以在你下载的图像中使用水印,或者结合steganography来识别基于在野外发现的已发布文件进行复制的用户。请注意,水印总是可以删除的,通常很容易从PDF文件中删除,虽然有点困难,但仍然可以从图像中删除。精心设计的隐藏标识符(隐写术)也可以删除,但必须首先找到它,而且当文档没有明显盖章时,用户通常不会查看。
https://stackoverflow.com/questions/39505505
复制相似问题