我正在开发一个将在Web浏览器(Firefox或Chrome)中使用的应用程序。 此应用程序的一部分将显示PDF。但是,对于标准的PDF查看器,还包括一些我不希望用户拥有的功能(例如打印,保存到磁盘,......)。 我找到了this关于mozilla的可自定义pdf查看器的精彩项目。这允许我限制用户的可能性。现在我想知道是否有可能在Google Chrome中实现相同目标。到目前为止,我还没有找到任何关于自定义Chrome的标准PDF查看器的信息。有没有人知道这样做的方法,或者知道一个可定制的查看器,就像我为mozilla找到的那个?谢谢。
更新
浏览器将以自助服务终端模式运行,因此用户无权访问除查看网页之外的任何功能(无地址栏,无菜单,无任何内容)。此外,由于应用程序将在触摸屏上使用,因此不会出现键盘。
更新2:
首先,为什么这个问题已从程序员转移到stackoverflow?当我在这里问这种类型的“开放”问题时,它们会立即关闭。谢谢你的downvote。我想,对于人们来说,用3行代码无法回答的问题太难了。
其次,关于PDF的打印: 我看到有人提到打印PDF文件的方法。用户将无法使用这些选项,因为:
禁用打印功能并不难,但我不希望用户思考他可以打印。如果打印图标保留在PDF查看器上,则用户单击它并且没有任何反应,这将导致沮丧和恼怒。通过仅显示实际工作的按钮,将带来更好的使用应用程序的体验。
答案 0 :(得分:3)
PDF的URL足以在浏览器内部或外部打印和保存文件。完全阻止用户拥有这些选项的唯一方法是在您自己的查看器中显示PDF,例如Flash应用程序(例如Scribd)。
答案 1 :(得分:3)
您可以实施FlexPaper。通过命令行或其他方式自定义UI控件和convert your PDF文件。大部分信息都在FlexPaper docs
中有一些参数可以禁用功能,也可以删除按钮。
例如
{
PrintToolsVisible : false,
PrintEnabled : true
}
似乎网站上遗漏了一些信息,因为根据this thread,它是in their wiki但后来被移动了to their web网站,也许有些信息被遗忘了,但它们显然已经在源代码。
答案 2 :(得分:1)
由于您说该应用程序将在kiosk模式下运行,因此您正在寻找实施此保护的错误位置。可以使用特定软件破解PDF保护。
自助服务终端可以以“只读”模式运行,无法将文件保存到该模式(或者最多,文件无法在重新启动后继续存在)。
对于打印,如果用户无法访问底层操作系统,只需禁用操作系统的打印功能(在Linux系统中,您将删除CUPS;在Windows中,禁用后台处理程序服务就足够了)。
答案 3 :(得分:0)
可以保护网页上显示的PDF不受所有复制和检索方法的影响。但是您需要加密PDF并且用户需要安装CopySafe PDF Reader才能查看它。
或者,您可以使用类似PDF.JS的内容来呈现PDF而无需Adobe Reader。但是需要修改pdf.js以删除工具栏中的保存和打印按钮;并且您需要一个正确设计的Web浏览器,以通过不暴露其资源位置,缓存和页面源来保护Web媒体。 ASPS Web浏览器就是为此而设计的,通过使用ASPS过滤器来传递页面的网站,从服务器发送到浏览器的数据是最安全的。与SSL文件资源一起使用对于数据包嗅探器是安全的。
另一种选择是使用ASPS Protected Hosting,它可以从您的网站提供镜像内容。网页可以镜像,您网站上托管的媒体(包括PDF)可以通过ASPS服务器传送,并在ASPS浏览器中最安全地显示。