我正在寻找隐藏或停用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,它会执行我想要的操作,但我不确定如何在打开的新窗口中添加它。
答案 0 :(得分:2)
您可以通过使用嵌入标签来实现
通过设置#toolbar = 0,您将可以隐藏下载和打印按钮。
答案 1 :(得分:1)
由于您使用Adobe Reader ActiveX直接向浏览器提供pdf文件,如何防止文件下载,因为文件是在下载到临时目录后显示的?
因此无法使用任何JavaScript库。
保护主PDF文件的唯一方法是为每个页面创建图像,并通过您自己的界面(html,flash等)在Web上向用户显示这些图像。
您可以将ImageMagick与GhostScript一起使用。
希望这会有所帮助。 (:
答案 2 :(得分:0)
如果仅限于不那么技术娴熟的用户,您可以通过生成一次性可用的唯一网址来禁用chrome pdf查看器中的下载。使用存储在服务器上的查询字符串参数,并且只允许使用一次。下载按钮会再次下载,在这种情况下会失败。然而,这是chrome pdf viewer中可能会更改的实现细节。如果用户在浏览器中没有pdf查看器或已禁用该文件,则默认情况下只会下载该文件。
您可能想尝试pdf.js,它会在任何浏览器中呈现而不是下载,但是技术娴熟的用户仍然可以获取该文档。它可能也不如chrome pdf viewer更高效。
如果您将内容转换为图像,用户仍然可以将这批图像合并为pdf,但在这种情况下,文本更难恢复,但仍可以使用OCR。
如果您想更难复制内容或只是检测它,您还可以在下载的图像中使用水印,或合并steganography以根据发现的文件中的发布文件来识别制作副本的用户狂野的。请注意,水印总是可以从PDF文件中删除,通常非常容易删除,但仍然可以从图像中删除。精心设计的隐藏标识符(隐写术)也可以删除,但必须先找到它,通常用户不会看到文档没有明显标记。