批量打印--不展现直接后台打印
来源:互联网 发布:php给图片加文字水印 编辑:程序博客网 时间:2024/06/11 23:56
批量打印--不展现直接后台打印(跳过手动触发打印)
实现效果:
客户经常想要实现多个报表批量打印(applet打印),并且不对报表进行展现(不手动点击打印触发),直接进行APPLET打印操作。
解决思路:
用<object></object>标签来直接调用applet程序进行批量打印
参考 应用开发教程 API批量直接打印 Jsp代码如下:
<%
//report的参数格式为:report={无参数报表名}{报表1(参数1=value1;参数2=value2;...)}{报表2(参数1=value1;参数2=value2;...)}...prompt=yes
request.setCharacterEncoding("GBK" );
String report = request.getParameter("report" );
if( report == null || report.trim().length()== 0 ) throw new Exception( "report=null" );
String prompt =request.getParameter( "prompt" );
String appmap = request.getContextPath();
String serverPort = String.valueOf(request.getServerPort() );
String serverName = request.getServerName();
String appRoot ="http://" + serverName + ":" + serverPort + appmap;
%>
<objectclassid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" codebase="<%=appRoot%>/j2re-1_4_1-windows-i586-i.exe#Version=1,4,1,0"width="40" height="16"id="report1_directPrintApplet"style="vertical-align:middle">
<param name="name"value="report1_directPrintApplet">
<param name="code"value="com.runqian.report4.view.applet.DirectPrintApplet.class">
<param name="archive"value="<%=appmap%>/runqianReport4Applet.jar">
<param name="type"value="application/x-java-applet;version=1.4">
<param name="appRoot"value="<%=appRoot%>">
<param name="dataServlet"value="/reportServlet?action=1">
<param name="srcType"value="file">
<param name="fontFace"value="宋体">
<param name="fontSize"value="18pt">
<param name="fontColor"value="#000000">
<param name="backColor"value="#11111111">
<paramname="icon" value= "<%=appmap%>/images/print.gif">
//为打印控件的打印按钮设置图片,如果不设置此参数,则打印按钮上不显示图片
<param name="label"value="dayin">
<param name="needPrintPrompt"value="<%=prompt%>">
<param name="scriptable"value="true">
</object>
<a href="javascript:window.close()"class="style3 style5">quxiao</a>
<scriptlanguage=javascript>
//此函数返回的格式为:"{无参数报表名}{报表1(参数1=value1;参数2=value2;...)}{报表2(参数1=value1;参数2=value2;...)}..."
function runqian_getPrintReports() {
//请在此函数里加上打印前需要的处理,最后返回需要打印的报表
return "<%=report%>";
}
</script>
此示例代码直接跑 在浏览器中输入:
http://127.0.0.1:6001/demo/reportJsp/批量打印.jsp?report={txt.raq}{txt2.raq}prompt=yes 需要手动点击进行打印
而客户最终想要实现的效果是在网页中直接输入url就可以触发applet打印 进行批量打印
此时只要将上面批量打印.jsp中的
<paramname="code"value="com.runqian.report4.view.applet.DirectPrintApplet.class">
改为
<paramname="code"value="com.runqian.report4.view.applet.DirectPrintWithoutShow.class">
注:DirectPrintWithoutShow.java这个类继承了原来的直接打印的类DirectPrintApplet,然后在这个类中直接调用DirectPrintApplet.java中的print方法,跳过触发的步骤直接打印所传的报表文件。
- 批量打印--不展现直接后台打印
- 后台批量打印报错
- 润乾V5批量直接打印 报错误400 且参数不生效
- 不展现报表实现对报表的打印导出
- 不用repeater datalist 打印数据 直接从后台直接打印 一个for 循环打印表格两列多行
- fastreport4不弹出打印设置窗口直接打印
- 批量打印
- [水晶报表]不显示报表直接打印
- 不预览直接打印 Microsoft RDLC报表
- FastReport 不需确认直接打印
- reportViewer(RDLC)不预览,直接打印
- WEB应用程序,不预览,直接打印
- 后台打印
- 如何点击打印,直接打印出来,不弹打印设置选项
- Java 打印图像直接打印
- VFP不安装打印驱动直接调用打印而且不自动进纸
- SMARTFORMS不弹出打印,预览的窗口,直接预览
- SMARTFORMS不弹出打印,预览的窗口,直接预览
- vim实用技巧学习记录
- IOS网络请求之NSURLSession使用
- IO模型和java IO
- Java提高篇——对象克隆(复制)
- 基于MUI框架的HTML5+的二维码扫描实现
- 批量打印--不展现直接后台打印
- 多媒体container和codec概念
- MySql优化
- python的raw_input与print的区别实例
- Android开发——自定义View
- python requests通过shadowsock代理
- MXNet设计和实现简介
- php中的公钥和私钥
- P01: 01背包问题