javascript - 下载pdf.js中base64生成的pdf

标签 javascript html pdf pdf.js

我按照一些步骤在 pdf.js 中查看 Base64 生成的 PDF,并且效果很好。我只有一个问题,无法下载。

我收到此错误:未捕获类型错误:无法读取此指令上未定义的属性“split”:

var url = this.url.split('#')[0];

实际上我没有任何url,我将b64字符串放入localStorage中,然后直接在viewer.js中打开它,如下所示:

var b64Array=new Uint8Array(base64DecToArr(localStorage['pdf'])); 
var int8View = b64Array;

所以我通过不带参数的标准网址访问查看器:/pdfjs/web/viewer.html

有办法解决这个问题吗?

最佳答案

对于那些等不及的人,我在官方 pdfjs github 上得到了答案。

这是复制/粘贴答案:

I see DEFAULT_URL is not designed to hold array. Possible solutions for PDFView.open if array is used: Disable download button; Or, provide fake this.uri, e.g. 'document.pdf'

因此,要允许下载,我们只需在 this.url 上设置一个值即可。

关于javascript - 下载pdf.js中base64生成的pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24936172/

相关文章:

javascript - Base64 编码图像并在 JS 上渲染

javascript - 为什么在单击时看不到动态创建的按钮上的数据字段?

javascript - 如何用数据更新v-if?

php - HTML 表单文本区域。使用 PHP 将数据发送到 MySQL。通知: Undefined index

c# - 如何将字符串转换为pdf?

android - 如何在没有编码问题的情况下用 iText 替换 PDF 中的文本? (安卓)

javascript - jQuery-UI 对话框不会显示按钮

html - 格式化用于博客发布的 Eclipse 代码片段?

python - 如何使用 django-crispy-forms 制作 Bootstrap 文件浏览按钮

python - 使用 Django 从 stdout 返回 pdf 响应