HTML5 Canvas 中的 PDF 查看器

PDF Viewer in HTML5 Canvas

目前在我们的网络应用程序中,我们使用 Java Applet 作为 PDF 查看器,它还:

我最近听说 Google 将结束对 Chrome 的 Java Applet 插件支持。

使用基于 HTML5 的 PDF 查看器时,我能否有与上述相同的限制?

[...] blocks the user from saving the PDF document and prints the PDF content in physical printer (not in a soft printer i.e., save). [...] Can I accomplish above PDF viewer feature through HTML5 canvas?

对您的问题的简短回答是,不,这些功能无法使用基于 HTML5 的 PDF 查看器实现。

更长的版本:

如果在浏览器中加载 PDF,用户也可以直接下载文档。浏览器及其用于 显示 PDF 的任何解决方案将具有与用户相同的访问级别,或者换句话说:用户具有与浏览器相同的访问级别。 link 是所有必需的,可以通过开发控制台(或代理)轻松获得。

无法直接从用户系统加载文件。出于安全原因,用户必须选择文件,因此他也已经可以访问该文件才能选择它。

所以无法阻止下载。

根据查看器的实施情况,如果查看器遵守文档的此状态标志,则可以阻止打印。无法从浏览器环境内部区分正在使用的打印机类型。 JavaScript 只能在不知道打印机或打印过程的情况下调用打印对话框。

即使可以:使用纯 HTML5 解决方案意味着将 JavaScript 涉及到客户端的开源。具有编程技能的用户可以覆盖部分源代码。在任何情况下,用户都可以简单地通过屏幕抓取页面并保存抓取。

所以不,打印不能强制到一个物理单元(或阻止)。

HTML5 观众

对于浏览器,请查看 pdf.js。这是 Firefox 正在使用的解决方案,我相信 Chrome 将来会使用。