从JSON创建可下载的pdf文件
Create downloable pdf file from JSON
基本上,我遇到的问题是我向服务器查询以返回一个以JSON格式返回的pdf文件。
我尝试创建一个HTML元素来自动下载pdf(这不是问题所在),问题是下载的pdf无法打开,因为它失败并报告错误,例如在Adobe Reader:中
"Adobe阅读器无法打开‘test.pdf’,因为它不是支持的文件类型,或者因为文件已被损坏(例如,它是作为电子邮件附件发送的,没有正确解码)"
我正在使用AngularJS对服务器进行ajax调用,以获取JSON对象,然后尝试对其进行格式化并下载:
...
var pdf = pdfservice.get({id:pdfId});
console.log(pdf);
pdf.$promise.then(function(data){
var element = angular.element('<a/>');
element.attr({
href: 'data:attachment/pdf;charset=utf-8,' + encodeURI(data),
target: '_self',
download:'test.pdf'
})[0].click();
});
...
更新
使用Angular的$http服务和相同的代码,它下载pdf,但它是空的,所以可能是编码或格式化json对象的问题。。。
...
$http({ method: 'GET', url: 'http://www.testweb.com/pdf/1')
.success(function(data) {
console.log(data);
var element = angular.element('<a/>');
element.attr({
href: 'data:attachment/pdf;charset=utf-8,' + encodeURI(data),
target: '_self',
download:'test.pdf'
})[0].click();
});
...
PDF文件与文本(或json)文件不同,请尝试使用类似JSPDF的库来制作客户端PDF文件。
相关文章:
- 下载HTML5/Javascript MOBILE应用程序中的PDF文件
- 下载所选语言的pdf文件
- JavaScript代码,用于在浏览器中显示字节数组中的PDF文件(非base64编码)
- Phonegap从PDF文件中获取内容
- 如何从地图导出图像并将其插入到新的PDF文件中
- 通过javascript获取pdf文件的表单数据
- Pdf.js:使用base64文件源而不是url来呈现Pdf文件
- 如何使用jquery在工具提示上显示pdf文件
- 在localhost/intranet上嵌入DOC、PPT、XLS、PDF文件
- 使用 php 将 pdf 文件转换为 html 文件
- 创建一个工具来打开android平板电脑上的本地pdf文件
- 将数据库中的数据转换为可下载的PDF文件
- 压缩使用 iText 创建的 PDF 文件
- 在jspdf中使用addHTML保存pdf文件失败
- 如何从输入字段在浏览器中显示PDF文件
- Cordova jsPDF-PDF生成,我在手机上找不到PDF文件
- 是否将PDF文件保存在其他应用程序可以访问的PhoneGap应用程序中?(iOS)
- web应用程序是否可以打开客户端上存在的pdf文件
- 如何使用HtmlUnit下载PDF文件
- Javascript无法识别两个不同的PDF文件