如何在网络上下载pdf
How to download pdf on web
重要提示:我使用python。
我使用reportlab在服务器(烧瓶)上创建一个pdf,并通过methond str = canvas.getpdfdata()
得到一个字符串。我可以使用f = open('result.pdf', 'wb')
和f.write(str)
将其另存为 pdf。
现在我想在网络上下载这个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
,我尝试将字符串编码更改为十六进制和base64,但没有帮助。
你可以帮我吗?或者你能告诉我一种无需在服务器上创建文件即可创建和下载此 pdf 的方法吗?
正如在这个SO问题的答案中所读到的,你需要先将二进制数据转换为字节数组:
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/
这个问题问的和你一模一样。
相关文章:
- 如何使用javascript或html下载PDF格式的填写表单
- 在提交时打开thankyou.html+下载PDF
- 如何在网络上下载pdf
- 如何使用HtmlUnit下载PDF文件
- 如何创建和下载PDF和docx格式的文件,该文件将从AngularJS中的表中的数据创建
- 下载pdf格式不正确
- 下载pdf/word按钮javascript /jquery
- 提供下载pdf或在浏览器中打开的选项
- 使用 JavaScript 下载 PDF 文件
- PHP/HTML:下载PDF链接处理页面加载
- 从 AngularJS 中的 .NET 控制器下载 PDF
- 提交表单时自动“下载”PDF
- 无法使用 Angular.js 下载 pdf 文件
- 如何在不打开浏览器的情况下下载pdf文件
- 如何使用来自服务的响应下载 pdf
- 使用 jquery 下载 PDF
- 使用 php 下载 PDF,不在资源管理器和 safari 中工作
- 浏览器请求文件,服务器下载 pdf,浏览器在 iframe 中显示 pdf
- 使用jQuery下载PDF(不打开)
- 如何使用js自动下载PDF