iframe无法识别jsPDF输出为pdf格式

6
我遇到了显示 jsPDF 输出为实际 pdf 文件的问题。我尝试模仿官网,先显示 pdf 预览,然后让用户选择下载。
下面是我的代码,我设法为 iframe 设置了源,但是 iframe 并没有将内容识别为实际的 pdf 文件。所以当鼠标悬停在 iframe 上时,浏览器(Chrome/Firefox)没有默认的 pdf 选项,例如缩放、打印、保存等。
有没有任何方法可以将 doc.output(...) 的文档输出为实际的 pdf?需要传入不同的选项吗?我已经尝试过 bloburlbloburidatauristring
// html
<iframe></iframe>
<button>Display pdf</button

.

// js
$('button').on('click', function(){
    var doc = new jsPDF('l', 'pt', 'letter')
    doc.text(20, 20, 'some text' )

    setTimeout(function(){
        var data = doc.output('datauri')
        $('iframe').attr('src', data)
    }, 10)
})
2个回答

2

将您的iframe类型更改为“application/pdf”。

<iframe type="application/pdf"></iframe>

1

Html:

<iframe src="" id="order_print" type="application/pdf" class="d-none"></iframe>

Js:

$("#order_print").attr("src", doc.output('bloburl'))

我已经使用上述方法很长时间,在所有Chrome浏览器中都完美运行。我没有在其他浏览器上测试过。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接