这是另外一种打印的模板图,总结有以下几点需要我们注意:
(1)这种打印我们采用的纸张是纵向的,也就是LandScape,可以在ireport中进行设置
(2)中间那个黑框,是一个TextField,因为打印出来的字可能比较多,所以在绘制模板的时候需要将该处的高度和宽度设置的大一点,当打印的内容一行放不下的时候,会自动进行换行输出并且打印的,超出打印域的范围就会自动进行截取,只显示可以显示的下的内容。
(3)右侧红框圈出来的那一部分,采用的是一个小圆形,这种基本上就是一个字典里面三个value,分别对应了三个中文的值域,那么我们处理这样的时候,采用如下方法:
- 针对此处在VO里面设置三个属性比如param1,param2,param3
- 在ireport中我们添加三个field,同样名字叫做param1,param2,param3
- 下面是在数据查出来以后我们在后台处理这段逻辑的代码
if(clyj.equals("1")){
printZzjlVo.setClyj1("●");
}else if(clyj.equals("2")){
printZzjlVo.setClyj2("●");
}else if(clyj.equals("3")){
printZzjlVo.setClyj3("●");
}
JSP相关代码如下所示:
function print(){
var zzjlbh=mini.get("zzjlbh").getValue();
if(id !=null && id !="null" && id !=""){
var printActionUrl =" ${ctx}/updateZzjl/print?zzjlbh="+zzjlbh;
printActionUrl = encodeURIComponent(printActionUrl);
var action="${ctx}/common/daYin?printActionUrl="+printActionUrl;
//这种不是采用miniUI的mini,open方式打开一个预览界面
window.open(action,'newwindow','top=0,left=0,toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,status=no');
}
}