【问题标题】:Open PDF from HTML5 Storage从 HTML5 存储打开 PDF
【发布时间】:2014-11-25 06:28:55
【问题描述】:

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

场景如下:

  1. 用户访问我的网站并将一堆 pdf 下载到存储中
  2. 稍后用户重新访问该站点并希望查看其中一个预下载的 pdf。
    他选择存储的 pdf 文件之一,然后使用 adobe reader(或 默认 pdf 渲染器)。

这可以用纯 html5/js 实现还是我必须编写一个 firefox 扩展?

【问题讨论】:

标签: javascript html firefox local-storage indexeddb


【解决方案1】:

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

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

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

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

【讨论】:

  • 请提供更详细的信息和描述,以便更好地分享您对该主题的了解。
  • 我试着按照你说的做,它在 chrome 中工作,但 firefox 挂断了。代码:&lt;object data="data:application/pdf;base64,JVBE[...]PRgo=" type="application/pdf" width="100%" height="100%"&gt;&lt;/object&gt;firefox 版本 32.0.3。
【解决方案2】:

您可以使用数据 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/

【讨论】:

    猜你喜欢
    • 2018-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-28
    • 2017-06-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多