5

我正在生成包含来自 html canvas 元素的图像的 pdf。我已经设法实现了该工作,但是我无法以有用的方式打开结果。

PDF.dataURI() 返回一个看起来像data:application/pdf;base64,BASE64_ENCODED_PDF_HERE.

我目前正在使用window.location = certificate.dataURI()打开pdf。我已经试过了window.open,但 Safari 不适合它。

结果:

在 Firefox 中,这会保存一个随机名称的文件,后跟 .pdf(1).part。在 Safari(桌面版和移动版)中,它会在同一选项卡中打开 PDF,但不会显示任何 pdf 查看器界面。在 Chrome 中,它会在同一选项卡中打开 PDF 并显示 PDF 界面。

基本上,我的问题是如何在浏览器中以 PDF 格式打开该格式的字符串,最好是在新选项卡中。

有什么想法吗?

4

2 回答 2

2

您可以使用 iframe 来查看 pdf,如下所示

<object data="data:application/pdf;base64, your_base64_data" type="application/pdf">
<iframe src="https://docs.google.com/viewer?&embedded=true"></iframe>
</object>
于 2018-03-16T07:40:27.163 回答
0

你试过document.location.href吗?

you can try to control UI interface for PDF viewer from appropriate options inside generated pdf but browser may ignore it, so as al

于 2012-08-10T11:57:42.977 回答