`

LODOP有选择性显示页眉页脚

    博客分类:
  • ADF
 
阅读更多

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);
        } 

    }

--该功能摘自 教务系统成绩单打印

分享到:
评论

相关推荐

    lodop6.1试用版

    在实际应用中,LODOP可以处理复杂的打印需求,如分页、页眉页脚、图片打印、条形码、二维码生成等。通过调用LODOP对象的API,开发者可以实现自定义的打印逻辑,比如动态生成报表、发票、标签等,极大地提升了Web应用...

    Lodop6.145.zip

    - **程序化控制打印**:Lodop支持通过JavaScript或VBScript等编程语言进行打印控制,实现复杂的打印逻辑,如动态生成打印内容、自定义页眉页脚、设置打印页数等。 - **跨平台兼容**:Lodop提供32位和64位两种版本...

    LODOP网页打印工具

    用户只需在网页中嵌入LODOP的JavaScript代码,就可以实现对打印任务的控制,包括设置页眉页脚、选择打印机、调整打印范围等。 3. **主要功能** - **多样化布局**:LODOP支持多种布局方式,可以打印单页、多页、...

    lodop打印和后台print打印两种模式

    1. **打印需求的复杂性**:如果打印任务需要自定义页眉页脚、水印、多联单、套打等功能,或者需要进行批量打印,那么LODOP可能更适合。反之,如果只是简单的文档打印,后台Print模式即可满足。 2. **环境兼容性**:...

    lodop 6.057打印(2012最新版) 兼容chrome、IE、firefox 终身免费

    3. **强大功能**:“功能强悍”意味着Lodop不仅能够完成基本的文档打印,还可能包含如分页、页面设置、页眉页脚添加、图片处理、PDF打印等多种高级功能,满足了各种复杂的打印需求。 4. **免费使用**:Lodop 6.057...

    Lodop技术手册6.2.1.5.doc

    除了基础的打印功能外,Lodop还支持更多高级特性,如分页打印、自定义页眉页脚、条形码/二维码打印、PDF打印、多文档合并打印等。这些功能使得Lodop成为网页打印领域的一款强大工具,能够满足复杂的企业级应用需求。...

    install_lodop_64/32.exe 打印插件

    3. 自定义布局:LODOP支持自定义打印布局,包括页面大小、边距、页眉页脚等,使得打印效果更加符合用户需求。 4. 批量打印:用户可以一次性上传多个文件,并设定打印参数,实现批量打印任务,尤其适用于大量文档...

    web打印控件lodop5.0

    开发者无需深入学习复杂的打印接口,只需几行代码就能完成打印设置,包括但不限于页面布局、页眉页脚、图片插入、条形码和二维码生成等。这种简洁的API设计使得即便是没有深厚编程基础的人员也能快速上手。 其次,...

    lodop插件打印

    2. **多样化打印设置**:Lodop支持自定义页眉页脚、页边距、纸张方向(横向或纵向)、缩放比例等,使打印内容更加个性化。 3. **多文档格式支持**:除了常见的HTML网页,Lodop还能处理PDF、图片、Excel、Word等多种...

    Lodop打印控件32位/64位

    3. **多样化打印设置**:支持设置页边距、纸张大小、方向、页眉页脚、水印等,允许用户根据需求定制打印样式。 4. **多媒体打印**:除了常见的文字和图片,Lodop还能处理PDF、HTML、Excel、Word、PPT等多种格式的...

    Lodop WEB插件

    不仅如此,Lodop还支持自定义打印样式,包括页眉页脚、页边距、纸张大小、方向等,满足不同场景下的打印需求。此外,它支持多种文件格式的打印,如HTML、PDF、图片等,甚至可以直接打印网页上的动态内容。 在压缩包...

    Lodop6.1使用说明

    3. **设置打印参数**: 设置打印参数,包括纸张大小、边距、页眉页脚等。例如:`LODOP.PRINT_INIT("打印任务名称"); LODOP.SET_PRINT_PAGESIZE(0, 210, 297, "mm");` 4. **添加打印内容**: 可以通过`ADD_PRINT_HTM`...

    lodop插件,32位机

    2. **简单易用的API**: LODOP提供了丰富的JavaScript和VBScript API,开发者可以通过几行代码实现打印功能,如设置页眉页脚、调整纸张大小、选择打印机等。 3. **多格式支持**: 支持HTML、PDF、图片等多种格式的...

    lodop4.0 web打印控件

    1. **易用性**:Lodop4.0提供了简单的API接口,开发者可以通过几行JavaScript代码就能实现复杂的打印需求,如设置页眉页脚、页面边距、打印范围等。 2. **多样化打印内容**:它支持HTML、图片、PDF、Excel、Word等...

    基于Lodop控件的Web打印

    2. **页面格式控制**:Lodop支持自定义页边距、页眉和页脚,以及页面方向(横向或纵向),让用户可以根据需求调整打印样式。 3. **多页打印**:对于内容超过一页的网页,Lodop能够自动处理分页,保持页面间的连续性...

    LODOP打印控件

    例如,你可以设置页眉和页脚、调整页边距、选择打印范围、设置纸张大小和方向,甚至进行页面合并和分页控制。这些功能极大地扩展了网页打印的灵活性,使得网页设计者可以创建出符合产品需求的个性化打印样式。 在...

    Lodop打印插件详细教程

    `PrintSample3.html`, `PrintSample22.html`, `PrintSample43.html`, `PrintSample45.html` 等其他HTML文件则是具体的打印样例,涵盖了如多页打印、图片打印、条形码、二维码、自定义页眉页脚、分页控制等多种应用...

    lodop打印控件安装包,含64位和32位两个版本

    它支持多种格式的文件打印,包括PDF、Excel、Word等,并且具备丰富的打印设置选项,如页眉页脚、页码、边距等,可以满足各种复杂的打印需求。 接下来,我们来看看如何安装这两个版本的Lodop控件。解压下载的压缩包...

    Lodop6.217_CLodop2.102打印控件

    通过查看和运行这些示例,开发者可以学习如何在网页中集成Lodop,实现如分页、自定义页眉页脚、图片打印、PDF预览等功能。 Lodop打印控件的主要特点和功能包括: - **跨浏览器支持**:Lodop支持多种主流浏览器,如...

    Lodop6.226_Clodop3.093.zip

    4. PrintSampIndex.html、PrintSample40.html、PrintSample3.html、PrintSample22.html、PrintSample43.html、PrintSample45.html:这些是Lodop的打印样例文件,展示了Lodop的各种功能和应用场景...

Global site tag (gtag.js) - Google Analytics