2012-07-18 756 views
3

我正在生成包含来自HTML canvas元素的图像的pdf。我已经设法实现了这一工作,但我无法以有用的方式打开结果。在本机pdf查看器中打开Base64编码的PDF

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

我目前使用window.location = certificate.dataURI()来打开pdf。我已经尝试过window.open,但Safari不会很好玩。

结果:

在Firefox中,这样可以节省一个文件,该文件是随机的名字,其次是.PDF(1)。部分。 在Safari(桌面和移动设备)中,它会在同一个标​​签中打开PDF,但不会显示任何PDF查看器界面。 在Chrome中,它会在同一个标​​签中打开PDF并显示PDF界面。

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

有什么想法?

+1

你已经看一下[pdf.js(https://开头的github .COM/Mozilla浏览器/ pdf.js)? – 2012-07-19 17:27:25

+1

如果您将它发送到服务器并使其服务于正常版本的文档,是否会出现问题? – 2012-08-10 11:59:55

回答

0

你试过document.location.href

你可以尽量控制从生成的PDF浏览器,但里面相应的选项PDF浏览器的UI界面可以忽略它,这样人