我在将jsPDF输出显示为实际pdf时遇到问题。我试图模仿与official site类似的内容 - 显示pdf的预览并为其提供下载选项。
使用下面的代码,我设法为iframe设置了一个来源,但是iframe并没有将内容识别为实际的pdf。因此,当将鼠标悬停在iframe上时,浏览器(chrome / firefox)没有默认的pdf选项 - 即:放大,缩小,打印,保存等。
有没有办法将doc.output(...)
文档作为实际的pdf?我需要传递一个不同的选项吗?我们已尝试bloburl
,bloburi
和datauristring
。
// 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)
})
答案 0 :(得分:1)
将您的iframe更改为&#34; application / pdf&#34;。
<iframe type="application/pdf"></iframe>
答案 1 :(得分:0)
HTML:
<iframe src="" id="order_print" type="application/pdf" class="d-none"></iframe>
JS:
$("#order_print").attr("src", doc.output('bloburl'))
上述方法我已经使用了很长时间,并且在所有 Chrome 中都运行良好。我没有在其他浏览器上测试过。