生成&在iframe中呈现PDF?

时间:2017-07-16 15:06:56

标签: javascript pdf iframe pdfkit allow-same-origin

我正在尝试使用pdfkit.js(请查看in-browser demo)和blob-stream.js来创建PDF文档,并在浏览器中即时呈现。

下面是代码创建一个blob:null / id:

$(document).ready(function() {
  var doc = new PDFDocument();
  var stream = doc.pipe(blobStream());
  doc.fontSize(25).text('Here are some vector graphics...', 100, 80);
  doc.end();
  stream.on('finish', function() {
    var iframe = document.querySelector('iframe');
    var blob_url = stream.toBlobURL('application/pdf');
    iframe.src = blob_url;
  });
});
iframe {
  border: 1px solid black;
}
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.js'></script>
<script src='https://github.com/devongovett/pdfkit/releases/download/v0.8.0/pdfkit.js'></script>
<script src='https://github.com/devongovett/blob-stream/releases/download/v0.1.3/blob-stream.js'></script>

<iframe width="600" height="775"></iframe>

当我在本地运行时,我会在Chrome工具控制台中看到以下输出:

  

资源被解释为文档但以MIME类型传输   application / pdf:“blob:null / id”。

我最近了解到这可能与iframe及其起源有关。我尝试将iframe更新为:<iframe id='pdf_iframe' sandbox="allow-same-origin" width="600" height="775" type="application/pdf"></iframe>。但是,这还没有解决问题。

0 个答案:

没有答案