【.Net码农】FastReport.Net直接打印相关问题整理
2016-07-18 15:21
357 查看
https://www.evget.com/article/2013/9/5/19550.html
最近慧都收集到很多关于FastReport直接打印的需求,具体就是点击打印后,需要不出现打印对话框也不预览报表,直接开始打印,这种需求在发票单据、条码标签打印中非常常用。小编整理了几种实现报表直接打印方式,供大家参考。
以上方法是FastReport官方唯一推荐的方法,当然Web报表的直接打印,还有很多替代的方式,如调用IE的HTML页面打印,调用第三方打印插件,如AcitveX打印插件等。但是这些打印方法可能会影响报表的打印质量,浏览器兼容性与稳定性也不能保证,慧都在这里并不提倡。
FastReport直接打印相关问题整理
概述:最近慧都收集到很多关于FastReport直接打印的需求,小编整理了几种实现方式,供大家参考。最近慧都收集到很多关于FastReport直接打印的需求,具体就是点击打印后,需要不出现打印对话框也不预览报表,直接开始打印,这种需求在发票单据、条码标签打印中非常常用。小编整理了几种实现报表直接打印方式,供大家参考。
FastReportVCL
在FastReport VCL中,需要将打印选项的对话框设置为False,也可以用以下代码实现。Report.LoadFromFile('filename'); Report.PrepareReport; Report.PrintOptions.ShowDialog := False; Report.Print;
FastReport .NET(WinForm)
使用FastReport.Net在WinForm平台上进行报表开发,实现直接打印的方式和VCL相识,将PrintSettings对话框设置为False就行了,也可以使用以下代码实现。Report report = new Report(); report.Load(...); report.RegisterData(...); report.PrintSettings.ShowDialog = false; report.Print();
FastReport .NET(WebForm)
使用FastReport ASP.Net版本开发的Web报表时,是不能直接实现直接打印报表,需要先导出为PDF后,再由Adobe Reader的打印功能间接实现。可以参考以下代码。protected void Button1_Click(object sender, EventArgs e) { FastReport.Utils.Config.WebMode = true; using (Report report = new Report()) { report.Load("your_report.frx"); report.RegisterData(...); report.Prepare(); // Export report to PDF stream FastReport.Export.Pdf.PDFExport pdfExport = new FastReport.Export.Pdf.PDFExport(); using (MemoryStream strm = new MemoryStream()) { report.Export(pdfExport, strm); // Stream the PDF back to the client as an attachment Response.ClearContent(); Response.ClearHeaders(); Response.Buffer = true; Response.ContentType = "Application/PDF"; Response.AddHeader("Content-Disposition", "attachment;filename=report.pdf"); strm.Position = 0; strm.WriteTo(Response.OutputStream); Response.End(); } } }
以上方法是FastReport官方唯一推荐的方法,当然Web报表的直接打印,还有很多替代的方式,如调用IE的HTML页面打印,调用第三方打印插件,如AcitveX打印插件等。但是这些打印方法可能会影响报表的打印质量,浏览器兼容性与稳定性也不能保证,慧都在这里并不提倡。
相关文章推荐
- 面试题40:数组中只出现一次的数字
- 【.Net码农】c#打印机设置,取得打印机列表及相应打印机的所有纸张格式
- 程序员警句
- 和二叉树相关的面试题
- Java面试题的收集
- 关于Js那些经常出的面试题
- 面试题26:复杂链表的复制
- 程序员的基础生存技能:使用Google
- Android面试之组件
- iOS面试必看,最全梳理
- 扬长避短
- 图书推荐:《Java程序员修炼之道》 Skip to end of metadata
- .NET面试题系列[5] - 垃圾回收:概念与策略
- 年轻程序员与老程序员的对话
- 信雅达电话面试题2016-6-30
- 新人程序员入门问题详解
- “灰头土脸”的机会往往更能带给人更多惊喜!
- 面试 腾讯 阿里 百度
- 成为优秀程序员的十个Tips
- (转)30道面试题