-1

我正在开发一个将在网络浏览器(Firefox 或 Chrome)中使用的应用程序。此应用程序的一部分将显示 PDF。然而,对于标准的 PDF 查看器,有一些我不希望用户拥有的功能(例如打印、保存到磁盘等)。我发现了这个很棒的项目,关于一个用于 mozilla 的可定制 pdf 查看器。这允许我限制用户的可能性。现在我想知道是否有可能在谷歌浏览器中实现同样的效果。到目前为止,我还没有找到任何关于自定义 Chrome 的标准 PDF 查看器的信息。有没有人知道这样做的方法,或者知道像我为 Mozilla 找到的那种可定制的查看器?谢谢你。

更新:

浏览器将以信息亭模式运行,因此用户将无法访问除查看网页之外的任何功能(没有地址栏、没有菜单、什么都没有)。此外,不会出现键盘,因为该应用程序将在触摸屏上使用。

更新 2:

首先,为什么这个问题从程序员转移到stackoverflow?当我在这里问这种类型的“开放”问题时,它们会立即关闭。感谢您的反对。我想,对于人们来说,用 3 行代码无法回答的问题太难了。

第二,关于PDF的打印:我看到有人提到打印PDF文件的方法。用户将没有这些选项可用,因为:

  • 在系统的最终设置中将没有可用的打印机。
  • 不会有键盘或鼠标,只有(有限的)触摸界面。
  • 该网页将无法从除指定位置之外的任何地方访问。
  • 用户将无法访问底层操作系统。

禁用打印功能并不难,但我不希望用户认为他可以打印。如果打印图标保留在 PDF 查看器上,用户单击它而没有任何反应,这将导致沮丧和恼怒。通过仅显示实际工作的按钮,将带来更好的应用程序使用体验。

4

4 回答 4

3

PDF 的 URL 足以在浏览器内部或外部打印和保存文件。完全阻止用户拥有这些选项的唯一方法是在您自己的查看器中呈现 PDF,例如 Flash 应用程序(例如 Scribd)。

于 2012-07-31T14:40:44.423 回答
3

您可以实施FlexPaper。通过命令行或其他方式自定义 UI 控件并转换您的 PDF文件。大部分信息都在FlexPaper 文档中

有一些参数可以禁用功能并删除按钮。

例如

{
 PrintToolsVisible : false,
 PrintEnabled : true
}

似乎该站点缺少一些信息,因为根据此线程,它在他们的 wiki 中,但随后被移至他们的网站,也许有些信息被遗忘了,但它们显然在源代码中。

于 2012-07-31T15:30:33.727 回答
1

由于您说该应用程序将以信息亭模式运行,因此您正在寻找实施此保护的错误位置。PDF 保护可以用特定的软件来破坏。

信息亭可以在“只读”模式下运行,在这种模式下,人们无法将文件保存到其中(或者最多,文件在重新启动后将无法生存)。

至于打印,如果用户无法访问底层操作系统,只需禁用操作系统的打印功能(在 Linux 系统中,您将删除 CUPS;在 Windows 中,禁用 spooler 服务就足够了)。

于 2012-07-31T17:45:13.907 回答
0

可以保护网页上显示的 PDF 免受所有复制和检索方法的影响。但是您需要对 PDF 进行加密,并且用户需要安装 CopySafe PDF Reader 才能查看它。

或者,您可以使用 PDF.JS 之类的东西来呈现 PDF,而无需 Adob​​e Reader。但是需要修改pdf.js,去掉工具栏中的保存和打印按钮;并且您需要一个适当设计的网络浏览器,通过不暴露其资源位置、缓存和页面源来保护网络媒体。ASPS Web 浏览器就是为此而设计的,通过使用一个使用 ASPS 过滤器来传递页面的网站,从服务器发送到浏览器的数据是最安全的。与 SSL 文件资源一起使用是安全的,不受数据包嗅探器的影响。

另一种选择是使用 ASPS Protected Hosting,它从您的网站提供镜像内容。网页可以镜像,您网站上托管的媒体(包括 PDF)可以通过 ASPS 服务器传送,并以最安全的方式显示在 ASPS 浏览器中。

于 2015-09-05T23:39:32.997 回答