繁体   English   中英

如何在网上下载pdf

[英]How to download pdf on web

重要:我使用python

我使用reportlab在服务器(烧瓶)上创建pdf,并且通过methond str = canvas.getpdfdata()获得了字符串。 我可以使用f = open('result.pdf', 'wb')f.write(str)将其另存为pdf。

现在,我想在Web上下载此pdf,但是我不想在服务器上创建pdf文件,因此我将字符串发送到Web,并希望使用js来创建文件并下载。

我试图使用这样的js代码:( saveAs函数位于FileSaver.js ,可以在github上找到)

var blob = new Blob([{{ str }}], {type: "application/pdf"});
saveAs(blob, "result.pdf");

它引发错误Uncaught SyntaxError: Unexpected identifier ,我尝试将字符串编码更改为hex和base64,但没有帮助。

你能帮助我吗? 还是可以告诉我一种无需在服务器上创建文件即可创建和下载pdf的方法?

正如对此问题的答案中所读到的,您需要首先将二进制数据转换为ByteArray:

var byteArray = new Uint8Array(hexdata.length/2);
for (var x = 0; x < byteArray.length; x++){
    byteArray[x] = parseInt(hexdata.substr(x*2,2), 16);
}
var blob = new Blob([byteArray], {type: "application/octet-stream"});

此处的示例: http : //jsfiddle.net/mowglisanu/15h9o3d5/

这个问题问的是与您完全一样的事情。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM