从HTML5存储打开PDF

时间:2014-09-30 15:00:14

标签: javascript html5 firefox local-storage indexeddb

我想将pdf文件客户端存储在一个HTML5存储(indexedDB或localstorage)中,然后使用adobe reader打开它们。

方案如下:

  1. 用户访问我的网站并将一堆pdf下载到存储
  2. 稍后,用户重新访问该网站,并希望查看其中一个预先下载的pdf 他选择了一个存储的pdf,然后用adobe reader(或者。)进行渲染 default pdf renderer)。
  3. 纯html5 / js是否可以实现这一点,还是必须编写firefox扩展名?

2 个答案:

答案 0 :(得分:1)

使用PDF类型和base64编码数据创建链接(表示PDF二进制文件)

<a href="data:[<mime type>][;charset=<charset>][;base64],<encoded data>">PDF name</a>

base64编码的内容可以存储在HTML5存储中。

警告:不适用于IE(出于安全原因的借口)。

答案 1 :(得分:1)

您可以使用数据URI方案http://en.wikipedia.org/wiki/Data_URI_scheme)。

像这样的东西,但有PDF:

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAKBJREFUeNpiYBjpgBFd4P///wJAaj0QO9DEQiAg5ID9tLIcmwMYsDgABhqoaTHMUHRxpsGYBv5TGqTIZsDkYWLo6gc8BEYdMOqAUQeMOoAqDgAWcgZAfB9EU63SIAGALH8PZb+H8v+jVz64KiOK6wIg+ADEArj4hOoCajiAqMpqtDIadcCoA0YdQIoDDtCqQ4KtBY3NAYG0csQowAYAAgwAgSqbls5coPEAAAAASUVORK5CYII=

您可以在原始页面上看到此示例:http://iconhandbook.co.uk/reference/examples/data/