【问题标题】:Render Epub file to canvas using javascript使用 javascript 将 Epub 文件渲染到画布
【发布时间】:2016-07-19 19:04:42
【问题描述】:

我正在使用 epub.js javascript 插件在 Web 应用程序中呈现 epub 文件。这是我的示例代码

 <!-- EPUBJS Renderer -->
 <script src="../build/epub.js"></script>

 <script>
         "use strict";
         var Book = ePub("https://s3.amazonaws.com/moby-dick/");
</script>

<body>
    <div id="main">
      <div id="prev" onclick="Book.prevPage();" class="arrow">‹</div>
      <div id="area"></div>
      <div id="next" onclick="Book.nextPage();" class="arrow">›</div>
    </div>

<script>
   Book.renderTo("area");
</script>

</body>

它工作正常并将 epub 呈现为 div 元素内的 iframe。我只是想防止从浏览器复制 epub 内容。禁用鼠标事件是一个选项 bt 通过检查浏览器 epub 文件内容可见并且可以从那里轻松复制。我只是想避免这种情况。将 epub 内容加载为画布似乎是实现此目的的好主意。

有什么方法可以在画布中加载 epub,或者请建议任何其他方法来防止从浏览器复制 epub 内容。

是否有任何 epub.js 选项可以实现相同的效果?

【问题讨论】:

  • 这同样没有意义,不是吗?我可以查看源代码,然后通过直接向s3.amazonaws.com/moby-dick发出请求来获取数据
  • 此处使用的 epub url 用于演示目的。实际的 epub url 是由服务器动态生成的,它会随着对特定 epub 的每个请求而改变。这是我们从我们这边实施的安全措施。
  • 好吧,如果我在 DOM 中找不到你的内容,我会从网络上抓取它。开发工具、telerik fiddler、wireshark。选择我的工具。
  • 如果您最终将文本“绘制”到画布上,那么使用 EPUB 有什么意义?只需将您的 EPUB 转换为后端的图像,然后提供这些图像。 (是的,您可以通过生成不同的图像集来允许例如多种字体大小,每个阅读设置一个。)(而且,如果我可以补充我的拙见,您的公司正试图通过技术手段解决商业问题 ---基本上,某种“轻量级”DRM——总是可以绕过的。你是否考虑过给你的内容加水印?)

标签: javascript html canvas svg epub


【解决方案1】:

我真诚地怀疑你能否做到这一点;即使您将文档呈现为图像,也可以使用OneNote 等日常工具轻松地从图像中抓取文本。我会非常小心地以您建议的方式制作任何受版权保护的您不拥有公开可用权利的内容。

【讨论】:

  • 人们一直在提供受版权保护的东西,他们只是使用版权法来执行他们的权利。
  • 我们拥有所有文件的全部权利,因为我们正在创建它们。此处使用的文件仅用于演示目的。使用工具报废图像不是问题,我们只是想尽可能减少威胁,至少对于那些对此类工具没有太多技术知识的人来说。
猜你喜欢
  • 2016-02-03
  • 2020-07-09
  • 1970-01-01
  • 2018-05-05
  • 2015-02-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-14
  • 1970-01-01
相关资源
最近更新 更多