我想用extjs打印PDF文件,任何帮助将不胜感激。我的想法是通过http://xmlgraphics.apache.org/fop/0.95/servlets.html#minimal-servlet的建议从服务器传递PDF文件。但问题是,我通过ajax提交表单数据,将它们保存到数据库,使用FOP创建PDF以及...想将结果PDF传回给客户端。 我最后的想法是将PDF保存到服务器上的临时文件,返回成功:'true'到extjs,然后使用iframe再次获取临时文件以进行打印:) 是否还有更正确的解决方案?或者可能有人已经准备好了这些东西的工作代码?从extjs打印PDF - 最佳解决方案
3
A
回答
0
我不认为这与Ext JS有什么关系。您可能需要生成/存储PDF并按照您提及的方式返回URL,或者您可以使用内容类型“application/pdf”直接将回复发送回浏览器,并且默认的浏览器行为将处理它。任何一种方法都适用于任何前端代码。
我已经成功完成了第二种方法,但在.NET环境中。原则应该是一样的。
2
那么,最后我来到了下一个解决方案:首先我们使用AJAX请求保存表单细节,并在服务器端生成PDF。
success : function(form, action) {
var result = Ext.decode(action.response.responseText)
if (result.success) {
this.openForPrint(result.tmpFileName);
}
},
比我们使用iframe来下载和打开文件
openForPrint : function(fileSrc) {
Ext.DomHelper.append(document.body, {
tag : 'iframe',
name : 'printIframe',
src : this.getPrintPalletTagUrl()+'?userAction=actionPrint&tmpFileName='+fileSrc
});
}
这种方法可以让我们检查保存操作响应并显示有意义的对话,以用户如果保存失败。
+0
是的,我就是这么做的。但请注意,在服务器端,确保您设置响应头来强制下载(我认为Content-Type和Content-Disposition),否则在某些设置(带有PDF浏览器插件的Windows)中,最终会打开一个pdf一个隐形的iframe,而不是要求下载 – Ben 2010-03-12 00:23:41
相关问题
- 1. 最佳解决方案
- 2. 最佳解决方案
- 3. 最佳SQL解决方案?
- 4. 最佳体系结构解决方案
- 5. 网页上的PDF:最佳解决方案
- 6. 将网站变成pdf的最佳解决方案
- 7. 解决方案结构/最佳实践
- 8. XML和MQ最佳解决方案
- 9. “Array chaining”的最佳解决方案
- 10. 打印解决方案(新的C)
- 11. 网页打印媒体 - 解决方案?
- 12. 基于Web的打印解决方案
- 13. 打印背包解决方案的值
- 14. 以编程方式将Word文档导出为PDF的最佳解决方案(不使用“软件打印机”)?
- 15. 最佳的asp.net crud解决方案?
- 16. 最佳解决方案后Gurobi回调
- 17. 最佳解决方案架构
- 18. 最佳实践:解决方案参考
- 19. Null DateTime值的最佳解决方案
- 20. 班级延伸 - 最佳做法/最佳解决方案
- 21. 从设备的连续读取 - 最佳解决方案?
- 22. 从git部署到生产的最佳解决方案?
- 23. 从c#/ .net打印的最佳方式?
- 24. 实现SFTP服务器解决方案的最佳方法?
- 25. 最佳企业服务器传真解决方案?
- 26. 用CSS转换XHTML标记的最佳ASP.NET PDF解决方案是什么?
- 27. Wht是HTML到PDF的最佳解决方案(在Azure Web应用程序上)
- 28. 存储大文件的最佳数据库解决方案
- 29. 非重叠最大评分序列的最佳解决方案
- 30. Box2D是我iphone游戏场景的最佳解决方案吗?
感谢您的回复。当然原则是一样的,但恶魔是在细节:)随着extjs你可以发送一个Ajax请求来保存表单,但无法得到响应像我得到的流式PDF。所以在这种情况下,我们必须发送第二个请求到流文件。 – maxx 2010-03-11 23:55:44