【问题标题】:iframe not recognizing jsPDF output as pdf formatiframe 无法将 jsPDF 输出识别为 pdf 格式
【发布时间】:2015-03-26 17:18:48
【问题描述】:

我在将 jsPDF 输出显示为实际 pdf 时遇到问题。我正在尝试模仿类似于official site 的东西 - 显示 pdf 的预览并让他们选择下载它。

通过下面的代码,我设法为 iframe 设置了一个源,但 iframe 无法将内容识别为实际的 pdf。所以浏览器(chrome/firefox)在 iframe 上悬停时没有默认的 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)
})

【问题讨论】:

    标签: pdf jspdf


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      HTML:

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

      Js:

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

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

      【讨论】:

        猜你喜欢
        • 2013-06-12
        • 1970-01-01
        • 2014-10-05
        • 2021-07-23
        • 1970-01-01
        • 2014-05-26
        • 1970-01-01
        • 1970-01-01
        • 2018-01-07
        相关资源
        最近更新 更多