发新话题
打印

如何批量打印由jasperreport生成的报表?

如何批量打印由jasperreport生成的报表?

java程序员,大概都知道jasperreport开源报表工具,但打印jasperreport却是一件困难事:用web browser打印,不能做到精确套打或者分页,用applet打印,需要客户端安装jre,并且启动速度慢. 自从有朋友前段时间写了一个关于使用杰表打印控件来打印jasperreport方案后(参见:http://www.blogjava.net/three-3/archive/2011/03/23/327184.html) ,很多朋友试用后,觉得效果不错,但也有朋友提出,如何批量打印由jasperreport生成的报表,所以,我在这里,简单介绍一下这个问题.方法如下: 在打印网页中,声明一个jatoolsPrinter对象,在documents属性中,给出jasperreport报表的链接即可,如下代码所示:
复制内容到剪贴板
代码:
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" type="text/css" href="guide.css" /> <title>打印预览一个分页文档</title> <!-- 插入打印控件 --> <OBJECT ID="jatoolsPrinter" CLASSID="CLSID:B43D3361-D075-4BE2-87FE-057188254255" codebase="jatoolsPrinter.cab#version=5,7,0,0"></OBJECT> <script type="text/javascript"> function doPrint(how) { //打印文档对象 var myDoc ={ documents: ['jasper/reportviewer?...', 'jasper/reportviewer?...'],// 一次性打印jasperreport生成的两个报表 copyrights : '杰创软件拥有版权 www.jatools.com' }; // 调用打印方法 if(how == '打印预览...') jatoolsPrinter.printPreview(myDoc ); // 打印预览 else if(how == '打印...') jatoolsPrinter.print(myDoc ,true); // 打印前弹出打印设置对话框 else jatoolsPrinter.print(myDoc ,false); // 不弹出对话框打印 } </script> </head> <body> <p> <span class="title">打印预览一个分页文档</span><span class="src">查看源代码</span> </p> <div class='pagecontainer'> <div id='page1' class='pagestyle'>文档第一页</div> <div id='page2' class='pagestyle'>文档第二页</div> </div> <br> <input type="button" value="打印预览..." onClick="doPrint('打印预览...')"> <input type="button" value="打印..." onClick="doPrint('打印...')"> <input type="button" value="打印" onClick="doPrint('打印')"> </body> </html>

TOP

发新话题