首页 > 解决方案 > 通过 iframe 获取和打印 PDF 文件会产生白页

问题描述

我在 Chrome 上以编程方式打印 pdf 文件时遇到问题。我需要通过用户操作以 URL 作为源来运行打印。

我使用 fetch 方法获取数据,然后通过 iframe 启动展示。

这会产生一个空文件(result)。

我发现了一个产生相同问题的 codepen 项目(不是我的)https://codepen.io/Edo_M/pen/PjdKEd

fetch('https://media.readthedocs.org/pdf/flask-cors/latest/flask-cors.pdf').then(function (response) {
      return response.blob();
    }).then(function (myBlob) {
      var objectURL = URL.createObjectURL(myBlob);
      document.querySelector('#pdf-frame').src = '';
      document.querySelector('#pdf-frame').src = objectURL;
      objectURL = URL.revokeObjectURL(myBlob);
    }).then(
      function () {
        window.setTimeout(function () {
          document.querySelector('#pdf-frame').contentWindow.print();
        }, 1000)
      });

有什么想法可以解决这个问题吗?

谢谢你的帮助!

标签: javascriptgoogle-chromepdfprinting

解决方案


推荐阅读