在 web 报表应用中,经常会遇到批量打印的需求,即点击一次打印按钮,实现多张报表的打印输出。润乾报表提供了两种不同的打印方式(applet 打印、PDF 打印)实现批量打印需求,同时也支持横纵报表打印。下面我们就来看一下每一种方式的具体实现方法。

一、applet 批量打印

1、环境配置要求

applet 打印要求客户端至少正确配置了 jre 环境

目前 applet 打印只支持 IE 内核浏览器

2、实现方法

可通过访问 jsp 拼接参数的方式实现,示例 URL 为:

不带参数:

http://localhost:6868/demo/reportJsp/directprint.jsp?report={t1.rpx}{t2.rpx}

带参数:

http://localhost:6868/demo/reportJsp/directprint.jsp?report={t1.rpx}{t2.rpx(arg1=1;arg2=2)}

参数拼接格式说明:

report={无参数报表名 1}{无参数报表名 2}{报表 1( 参数 1=value1; 参数 2=value2;…)}{报表 2( 参数 1=value1; 参数 2=value2;…)}…&prompt=yes&needSelectPrinter=yes

3、示例源码

directprint.jsp 页面完整代码:

 <%@ page contentType="text/html;charset=UTF-8" %> <%@ page import="com.raqsoft.report.view.*"%> <html> <body> <%  //此JSP参数格式为:report={无参数报表名1}{无参数报表名2}{报表1(参数1=value1;参数2=value2;...)}{报表2(参数1=value1;参数2=value2;...)}...&prompt=yes&needSelectPrinter=yes request.setCharacterEncoding( "UTF-8" ); String report = request.getParameter( "report" ); //"请输入报表文件名及参数串report={无参数报表名}{报表1(参数1=value1;参数2=value2;...)}{报表2(参数1=value1;参数2=value2;...)}..." if( report == null || report.trim().length() == 0 ) throw new Exception( ServerMsg.getMessage(request,"jsp.dpArgError") ); String prompt = request.getParameter( "prompt" ); String needSelectPrinter = request.getParameter( "needSelectPrinter" ); String pages = request.getParameter( "pages" ); String copies = request.getParameter( "copies" ); if( pages == null ) pages = ""; if( copies == null ) copies = "1"; String appmap = request.getContextPath(); String serverPort = String.valueOf( request.getServerPort() ); String serverName = request.getServerName(); String appRoot = "http://" + serverName + ":" + serverPort + appmap; String printLabel = ServerMsg.getMessage(request,"jsp.dpPrint"); %><object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" codebase="<%=appRoot%>/jre-6u24-windows-i586.exe#Version=1,6,0,0" width="80" height="32" id="report1_directPrintApplet" style="vertical-align:middle"><param name="name" value="report1_directPrintApplet"><param name="code" value="com.raqsoft.report.view.applet.DirectPrintWithoutShow.class"><param name="archive" value="<%=appmap%>/raqsoftReportApplet.jar"><param name="type" value="application/x-java-applet;version=1.6"><param name="appRoot" value="<%=appRoot%>"><param name="dataServlet" value="/reportServlet;jsessionid=<%=session.getId()%>?action=1"><param name="fileName" value="<%=report%>"><param name="srcType" value="file"><param name="fontFace" value="dialog"><param name="fontSize" value="10pt"><param name="fontColor" value="#808040"><param name="backColor" value="#126356"><param name="label" value="<%=printLabel%>"><param name="needPrintPrompt" value="<%=prompt%>"><param name="needSelectPrinter" value="<%=needSelectPrinter%>"><param name="needSetPageSize" value="no"><param name="scriptable" value="true"><param name="paramCharset" value="UTF-8"><param name="blackWhitePrint" value="no"><param name="mirrorPrint" value="no"><param name="icon" value="/raqsoft/images/print.gif"><param name="copies" value="<%=copies%>"><param name=

转载于:https://www.cnblogs.com/IBelieve002/p/10917954.html

如何实现报表的批量打印需求相关推荐

  1. .net实现批量在线打印_如何实现报表的批量打印需求

    在 web 报表应用中,经常会遇到批量打印的需求,即点击一次打印按钮,实现多张报表的打印输出.润乾报表提供了两种不同的打印方式(applet 打印.PDF 打印)实现批量打印需求,同时也支持横纵报表打 ...

  2. 水晶报表 动态批量打印本地图片

    目的:从数据库中得到本地图片的路径,再将其打印到报表上,每一个ID查询出来的信息(包括多幅图片)对应报表中的一页 环境:VS2005+自带水晶报表 参考文献:http://babyt.cnblogs. ...

  3. 报表如何批量导出成 excel 文件

    需求说明 报表展现后可以通过工具栏中的导出按钮将当前展现的报表导出成 excel 文件,但是在实际使用中通常会要求报表不需要展现,直接通过一些操作将报表导出成 excel 文件,并且往往会要求批量导出 ...

  4. FastReport批量打印

    https://www.cnblogs.com/m0488/p/3774797.html 麦麦提敏 实战例子 D:\WorkResource\测试用例\主子从报表 9.建立复合报表(批量打印) 在某些 ...

  5. cad批量打印_办公常用:PDF转CAD工具+CAD批量打印工具(高级版)

    从事工程类.设计类工作的小伙伴们一定会经常产生PDF转CAD和CAD批量打印的需求,很多时候都是直接花钱找打印店的人员来进行操作,这并不是说这两项需求有多复杂,而是没有趁手的工具而已.本期神器妹就分享 ...

  6. 票据打印, 银行账单打印, 标签印刷, 文档打印, 条码打印, 批量打印, 包装纸打印与设计,可变数据打印,数据库印刷,HMI报表打印,VC++源码库解决方案

    票据打印, 银行账单打印, 标签印刷, 文档打印, 条码打印, 批量打印, 包装纸打印与设计,可变数据打印,数据库印刷,HMI报表打印,VC++源码库解决方案 -- 全球领先.100%源码全开放.可用 ...

  7. java 批量打印_JAVA批量打印皕杰报表

    原标题:JAVA批量打印皕杰报表 不使用皕杰报表工具条上的打印按钮,用java怎么实现批量打印皕杰报表呢? 解决方案: 皕杰报表提供了批量打印的工具类ReportToolkits,ReportTool ...

  8. 利用lodop打印控件轻松实现批量打印

    最近在做一个打印程序,要实现批量打印功能,在网上找了很多天,也在tp官网咨询大牛们,对大家的的提议我一一进行了研究,总结如下: 要实现批量打印可以有两个办法: 一是利用专业的报表程序,能实现十分复杂的 ...

  9. winfrom 实现条形码批量打印以及将条形码信息生成PDF文件

    最近,老大让给客户做个邮包管理程序.其中,包括一些基本信息的增.删.查和改,这些倒不是很难搞定它分分钟的事.其主要难点就在于如何生成条形码.如何批量打印条形码以及将界面条形码信息批量生成以其各自的 b ...

最新文章

  1. spark最新源码下载并导入到开发环境下助推高质量代码(Scala IDEA for Eclipse和IntelliJ IDEA皆适用)(以spark2.2.0源码包为例)(图文详解)...
  2. Ubuntu Linux系统中出现jupyter notebook不能自动打开浏览器
  3. python seaborn 热图 值对应颜色_基于行值的seaborn热图配色方案
  4. Arrays.deepToString() 方法同时适用于基元数组和对象数组
  5. linux 环境搭建 Sentinel 控制台
  6. 怎么修改腾讯视频账户和密码
  7. python编程能有什么用_揭秘python都能做什么?
  8. OpenShift 4 之AMQ Streams(1) - 多个Consumer从Partition接收数据
  9. Python 学习线路图,码住!
  10. 差速驱动机器人轮间距校准实验
  11. sql server哪个版本比较好用_给视频加音乐的软件哪个比较好用?
  12. java编译系统找不到指定路径_为什么我在E盘安装了java,命令指示符输入后却提示系统找不到指定路径?...
  13. c语言求栈长度程序,数据结构C语言实现之顺序栈
  14. Pt100铂电阻测温电路设计——
  15. python(猜数字游戏)
  16. 用svg矢量图实现动画效果
  17. kali启动ssh服务后,依然无法连接的问题。
  18. python爬取猫眼电影评分
  19. Spark Streaming 对比 Structured Streaming(及其内部的两种模式 MicroBatch Streaming VS Continous Streaming)
  20. A7600C USIM卡接口设计

热门文章

  1. [ python ] 基础技巧
  2. Python多任务——线程
  3. ie678,FF,chrome的css兼容性
  4. 【转】asp仿百度文库、豆丁doc转换(flashpaper)
  5. lambda 对象初始化器 集合初始化器
  6. 正则表达式 转义字符(转)
  7. Python《通过解析http请求搞定动态加载,爬取toutiao图片》
  8. cdh hive on spark_Flink 与 Hive 的磨合期
  9. leetcode —— 1217. 玩筹码
  10. 【敏感度,查询,裁剪代码实现】差分隐私代码实现系列(六)