LODOP.ADD_PRINT_HTM("95%", "20px", "95%", "100%",arrays[1]["foot"]);
LODOP.SET_PRINT_STYLEA(0,"ItemType",1); //1表示页眉页脚
LODOP.SET_PRINT_STYLEA(0,"PageIndex","Last-1"); //新加的内容项显示在倒数第二页
LODOP.NewPageA(); //在前面内容尾页新加分页;区别于LODOP.NewPage(),这是在前面内容首页后新增分页。
LODOP.SET_PRINT_MODE("AUTO_CLOSE_PREWINDOW",1);//打印后自动关闭预览窗口
LODOP.SET_SHOW_MODE("LANDSCAPE_DEFROTATED",1);//横向时的正向显示
MB中代码:
/** * 打印 * @param actionEvent */ public void printActionListener(ActionEvent actionEvent) { try { JsonArray array = new JsonArray(); Map<String, Object> dataMap = new HashMap<String, Object>(); getData(dataMap); JsonObject nrObj = new JsonObject(); nrObj.addProperty("nr", getNrHtml(dataMap)); array.add(nrObj); JsonObject footObj = new JsonObject(); footObj.addProperty("foot", getFootHtml(dataMap)); array.add(footObj); JsonObject tableObj = new JsonObject(); tableObj.addProperty("table", printTableHtml(dataMap)); array.add(tableObj); ADFUtils.addScriptOnPartialRequest("print(" + array.toString() + ");"); } catch (Exception e) { // TODO: Add catch code e.printStackTrace(); } } /** * 获取内容html * @param dataMap * @return */ private String getNrHtml(Map<String, Object> dataMap) { String html = "<html>" + "<body style=\"margin:auto;\">" + "<div style=\"height:200px;\"></div>" + "<div style=\"text-align:center;font-family:仿宋_GB2312;font-size:16.0000pt;line-height:1.5;margin-bottom:15px;\"><p>穗民航学院学字"+dataMap.get("cfwjh")+"号</p><p></p></div>" + "<div style=\"font-family:仿宋_GB2312;font-size:16.0000pt;line-height:1.5;\">"+dataMap.get("wjss")+"</div>" + "</body>" + "</html>"; return html; } /** * 表格html * @param dataMap * @return */ private String printTableHtml(Map<String, Object> dataMap) { String html = " <body>" + " <div align='center'>" + "<p style='font-size:30px;font-weight:bold;'>广州民航职业技术学院发文稿纸</p>" + "<table border='1' height='88%' width='90%' cellpadding='5' cellspacing='0'>" + " <tr>" + " <td colspan='5' valign='top'>" + " 签 发<br/><br/>" + " "+dataMap.get("qf")+"<br/>" + " <div align='right'>"+dataMap.get("qfr")+"<span style='margin-left:8px;'>"+dataMap.get("qfrq")+"</span></div><br/>" + " </td>" + " <td colspan='3' valign='top'>" + " 拟稿单位领导意见<br/><br/>" + " "+dataMap.get("ld")+"<br/><br/>" + " <div align='right'>"+dataMap.get("ldr")+"<span style='margin-left:8px;'>"+dataMap.get("ldrq")+"</span></div><br/>" + " </td>" + " </tr>" + " <tr>" + " <td colspan='5' rowspan='3' valign='top'>" + " 会 签<br/><br/>" + " "+getHqList(dataMap) + " </td>" + " <td><div align='center'>拟稿单位</div></td>" + " <td colspan='2'><div align='center'>"+dataMap.get("ngdw")+"</div></td>" + " </tr>" + " <tr>" + " <td><div align='center'>拟稿人</div></td>" + " <td colspan='2'><div align='center'>"+dataMap.get("ngr")+"</div></td>" + " </tr>" + " <tr>" + " <td><div align='center'>联系方式</div></td>" + " <td colspan='2'><div align='center'>"+dataMap.get("lxfs")+"</div></td>" + " </tr>" + " <tr>" + " <td width='12.5%'><div align='center'>核稿</div></td>" + " <td width='12.5%'></td>" + " <td width='12.5%'><div align='center'>核稿时间</div></td>" + " <td width='12.5%'></td>" + " <td width='12.5%'><div align='center'>复核</div></td>" + " <td width='12.5%'></td>" + " <td width='12.5%'><div align='center'>复核时间</div></td>" + " <td width='12.5%'></td>" + " </tr>" + " <tr>" + " <td><div align='center'>打字</div></td>" + " <td colspan='2'></td>" + " <td><div align='center'>校对</div></td>" + " <td colspan='2'></td>" + " <td><div align='center'>份数</div></td>" + " <td></td>" + " </tr>" + " <tr>" + " <td colspan='8' valign='top'>" + " <div align='left'>文件标题</div><br/>" + " <div align='center'>关于给予"+dataMap.get("xm")+"同学"+dataMap.get("cfjd")+"处分的决定</div>" + " </td>" + " </tr>" + " <tr>" + " <td><div align='center'>文件编号</div></td>" + " <td colspan='3'></td>" + " <td><div align='center'>密级</div></td>" + " <td></td>" + " <td><div align='center'>紧急程度</div></td>" + " <td></td>" + " </tr>" + " <tr>" + " <td><div align='center'>附件</div></td>" + " <td colspan='7'></td>" + " </tr>" + " <tr>" + " <td><div align='center'>主题词</div></td>" + " <td colspan='7'></td>" + " </tr>" + " <tr>" + " <td><div align='center'>主送</div></td>" + " <td colspan='7'></td>" + " </tr>" + " <tr>" + " <td><div align='center'>抄送</div></td>" + " <td colspan='7'></td>" + " </tr>" + "</table>" + " </div>" + " " + " </body>" + "</html>"; return html; } /** * 底部html * @param dataMap * @return */ private String getFootHtml(Map<String, Object> dataMap) { String html = " <body>" + " <div align='center'>" + " <div id='foot'>" + " <div style='width:98%;'><hr style='height:1px;border:none;border-top:1px solid #555555;'/></div>" + " 广州民航职业技术学院学生工作处<span style='margin-left:50px;'>"+dataMap.get("date")+"印发</span>" + " <div style='width:98%;'><hr style='height:1px;border:none;border-top:1px solid #555555;'/></div>" + " </div>" + " </div>" + " </body>"; return html; } /** * 遍历获取会签数据 * @param dataMap */ private String getHqList(Map<String, Object> dataMap) { String html = ""; List<HqyjBean> list = (ArrayList<HqyjBean>)dataMap.get("hqyjs"); for (HqyjBean hqyjBean : list) { html += hqyjBean.getYj()+"<br/>"; html += "<div align='right'>"+hqyjBean.getXm()+"<span style='margin-left:8px;'>"+hqyjBean.getRq()+"</span></div><br/>"; } return html; }
JS代码:
<af:resource type="javascript"> var LODOP; //声明为全局变量 function print(arrays) { LODOP=getLodop(); LODOP.PRINT_INIT("违纪处分"); LODOP.SET_PRINT_PAGESIZE(1,"210mm","297mm",""); var printline = ''; var nrhtml = '<![CDATA[ <style type="text/css">*{margin:0; padding:0; line-height:26px;}</style>]]>'; nrhtml = nrhtml + arrays[0]["nr"]; LODOP.ADD_PRINT_HTM("15px", "20px", "95%", "93%", nrhtml); LODOP.ADD_PRINT_HTM("95%", "20px", "95%", "100%",arrays[1]["foot"]); LODOP.SET_PRINT_STYLEA(0,"ItemType",1); //1表示页眉页脚 LODOP.SET_PRINT_STYLEA(0,"PageIndex","Last-1"); //新加的内容项显示在倒数第二页 LODOP.NewPageA(); LODOP.ADD_PRINT_HTM("15px", "10px", "100%", "100%",arrays[2]["table"]); LODOP.SET_PRINT_MODE("AUTO_CLOSE_PREWINDOW",1);//打印后自动关闭预览窗口 LODOP.PREVIEW(); } </af:resource>
--该功能摘自违纪处分结果查询 打印
或者直接获取在MB中拼接html然后调用ADFUtils的方法执行js,如下
/** * 批量打印 * @param actionEvent */ public void printListener(ActionEvent actionEvent) { try { int zt = ((BigDecimal) JSFUtils.getElExpression("#{pageFlowScope.zt}")).intValue(); //字体大小 StringBuffer sb = new StringBuffer(); sb.append("var LODOP = getLodop(document.getElementById('LODOP_OB'),document.getElementById('LODOP_EM'));"); sb.append("LODOP.PRINT_INIT('打印成绩单');"); sb.append("LODOP.SET_SHOW_MODE('NP_NO_RESULT', true);"); //-----循环拼接每个学生的成绩表-- ViewObject xsVo = ADFUtils.findIterator("XsxxglXsjbxxVo1Iterator").getViewObject(); xsVo.executeQuery(); JwxtCjglAMImpl am = (JwxtCjglAMImpl) xsVo.getApplicationModule(); String hasPm = (String) JSFUtils.getElExpression("#{pageFlowScope.pm}"); //是否需要排名 RowSetIterator rowIter = xsVo.createRowSetIterator(null); while (rowIter.hasNext()) { Row xsRow = rowIter.next(); XsCjBean bean = new XsCjBean(); bean = getData(am, xsRow, hasPm, zt); //获取学生所有成绩 //ADD_PRINT_HTM 四个数值分别表示Top,Left,Width,Height sb.append("LODOP.ADD_PRINT_HTM('10px','35px','90%','100%',\"" + getPrintHtml(bean) + "\");"); sb.append("LODOP.NewPage();"); } rowIter.closeRowSetIterator(); sb.append("LODOP.PREVIEW();"); //打印预览 //sb.append("LODOP.PRINT();"); //直接打印 ADFUtils.addScriptOnPartialRequest(sb.toString()); } catch (Exception e) { log.severe(e); } }
--该功能摘自 教务系统成绩单打印
相关推荐
在实际应用中,LODOP可以处理复杂的打印需求,如分页、页眉页脚、图片打印、条形码、二维码生成等。通过调用LODOP对象的API,开发者可以实现自定义的打印逻辑,比如动态生成报表、发票、标签等,极大地提升了Web应用...
- **程序化控制打印**:Lodop支持通过JavaScript或VBScript等编程语言进行打印控制,实现复杂的打印逻辑,如动态生成打印内容、自定义页眉页脚、设置打印页数等。 - **跨平台兼容**:Lodop提供32位和64位两种版本...
用户只需在网页中嵌入LODOP的JavaScript代码,就可以实现对打印任务的控制,包括设置页眉页脚、选择打印机、调整打印范围等。 3. **主要功能** - **多样化布局**:LODOP支持多种布局方式,可以打印单页、多页、...
1. **打印需求的复杂性**:如果打印任务需要自定义页眉页脚、水印、多联单、套打等功能,或者需要进行批量打印,那么LODOP可能更适合。反之,如果只是简单的文档打印,后台Print模式即可满足。 2. **环境兼容性**:...
3. **强大功能**:“功能强悍”意味着Lodop不仅能够完成基本的文档打印,还可能包含如分页、页面设置、页眉页脚添加、图片处理、PDF打印等多种高级功能,满足了各种复杂的打印需求。 4. **免费使用**:Lodop 6.057...
除了基础的打印功能外,Lodop还支持更多高级特性,如分页打印、自定义页眉页脚、条形码/二维码打印、PDF打印、多文档合并打印等。这些功能使得Lodop成为网页打印领域的一款强大工具,能够满足复杂的企业级应用需求。...
3. 自定义布局:LODOP支持自定义打印布局,包括页面大小、边距、页眉页脚等,使得打印效果更加符合用户需求。 4. 批量打印:用户可以一次性上传多个文件,并设定打印参数,实现批量打印任务,尤其适用于大量文档...
开发者无需深入学习复杂的打印接口,只需几行代码就能完成打印设置,包括但不限于页面布局、页眉页脚、图片插入、条形码和二维码生成等。这种简洁的API设计使得即便是没有深厚编程基础的人员也能快速上手。 其次,...
2. **多样化打印设置**:Lodop支持自定义页眉页脚、页边距、纸张方向(横向或纵向)、缩放比例等,使打印内容更加个性化。 3. **多文档格式支持**:除了常见的HTML网页,Lodop还能处理PDF、图片、Excel、Word等多种...
3. **多样化打印设置**:支持设置页边距、纸张大小、方向、页眉页脚、水印等,允许用户根据需求定制打印样式。 4. **多媒体打印**:除了常见的文字和图片,Lodop还能处理PDF、HTML、Excel、Word、PPT等多种格式的...
不仅如此,Lodop还支持自定义打印样式,包括页眉页脚、页边距、纸张大小、方向等,满足不同场景下的打印需求。此外,它支持多种文件格式的打印,如HTML、PDF、图片等,甚至可以直接打印网页上的动态内容。 在压缩包...
3. **设置打印参数**: 设置打印参数,包括纸张大小、边距、页眉页脚等。例如:`LODOP.PRINT_INIT("打印任务名称"); LODOP.SET_PRINT_PAGESIZE(0, 210, 297, "mm");` 4. **添加打印内容**: 可以通过`ADD_PRINT_HTM`...
2. **简单易用的API**: LODOP提供了丰富的JavaScript和VBScript API,开发者可以通过几行代码实现打印功能,如设置页眉页脚、调整纸张大小、选择打印机等。 3. **多格式支持**: 支持HTML、PDF、图片等多种格式的...
1. **易用性**:Lodop4.0提供了简单的API接口,开发者可以通过几行JavaScript代码就能实现复杂的打印需求,如设置页眉页脚、页面边距、打印范围等。 2. **多样化打印内容**:它支持HTML、图片、PDF、Excel、Word等...
2. **页面格式控制**:Lodop支持自定义页边距、页眉和页脚,以及页面方向(横向或纵向),让用户可以根据需求调整打印样式。 3. **多页打印**:对于内容超过一页的网页,Lodop能够自动处理分页,保持页面间的连续性...
例如,你可以设置页眉和页脚、调整页边距、选择打印范围、设置纸张大小和方向,甚至进行页面合并和分页控制。这些功能极大地扩展了网页打印的灵活性,使得网页设计者可以创建出符合产品需求的个性化打印样式。 在...
`PrintSample3.html`, `PrintSample22.html`, `PrintSample43.html`, `PrintSample45.html` 等其他HTML文件则是具体的打印样例,涵盖了如多页打印、图片打印、条形码、二维码、自定义页眉页脚、分页控制等多种应用...
它支持多种格式的文件打印,包括PDF、Excel、Word等,并且具备丰富的打印设置选项,如页眉页脚、页码、边距等,可以满足各种复杂的打印需求。 接下来,我们来看看如何安装这两个版本的Lodop控件。解压下载的压缩包...
通过查看和运行这些示例,开发者可以学习如何在网页中集成Lodop,实现如分页、自定义页眉页脚、图片打印、PDF预览等功能。 Lodop打印控件的主要特点和功能包括: - **跨浏览器支持**:Lodop支持多种主流浏览器,如...
4. PrintSampIndex.html、PrintSample40.html、PrintSample3.html、PrintSample22.html、PrintSample43.html、PrintSample45.html:这些是Lodop的打印样例文件,展示了Lodop的各种功能和应用场景...