js打印页面实例

跳转方法

function print(contract_id){
 var dw=unitid,rq=today;
 if(isNull(select_unit).length>0){dw=select_unit};
 if(isNull(select_date).length>0){rq=select_date};
 window.open(basePath+'Security/Risk/showPrint?project_unitid='+dw+'&risk_date='+rq+'&project_name='+encodeURI(isNull(select_project_name))+'&type='+encodeURI(isNull(select_type))+'&job_content_day='+encodeURI(isNull(select_job_content_day))+'&risk_type='+encodeURI(isNull(select_risk_type))+'&risk_level='+encodeURI(isNull(select_risk_level))+'&contro_level='+encodeURI(isNull(select_contro_level))+'&flag=2');
}

后台

6、风险信息-浏览打印
@RequestMapping("/showPrint")
public String showPrint(Model model, HttpServletRequest request, HttpServletResponse response,RiskReportEntity entity){
    List<RiskReportEntity> EntityList = riskService.Report_list(request, response, entity);
    Map<String, Object> map = new HashMap<>();
    map.put("rows", EntityList);
    model.addAttribute("map",map );
    return "Security/Risk/risk_print";
}

打印页面

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>井控风险信息打印</title>
    <!--框架必需start-->
    <script type="text/javascript" th:src="@{/js/jquery.js}"></script>
    <script type="text/javascript" th:src="@{/js/language/cn.js}"></script>
    <script type="text/javascript" th:src="@{/js/framework.js}"></script>
    <link th:href="@{/css/import_basic.css}" rel="stylesheet" type="text/css"/>
    <link rel="stylesheet"  type="text/css" id="skin" prePath="@{/}" splitMode="true"  th:href="@{/skins/blue/style.css}" />
    <link rel="stylesheet"  type="text/css"  id="customSkin"  th:href="@{/system/layout/skin/style.css}"/>
    <link rel="stylesheet" type="text/css" th:href="@{/skin/style.css}"/>
    <!--框架必需end-->
    <script type="text/javascript" th:src="@{/js/nav/basicTab.js}"></script>
    <!-- 日期选择框start -->
    <script type="text/javascript" th:src="@{/js/form/datePicker/WdatePicker.js}"></script>
    <!-- 日期选择框end -->
    <!--表单异步提交start-->
    <script th:src="@{/js/form/form.js}" type="text/javascript"></script>
    <!--表单异步提交end-->
    <!--数据表格start-->
    <script th:src="@{/js/table/quiGrid-change.js}" type="text/javascript"></script>
    <!--数据表格end-->
    <!--自动提示框start-->
    <script type='text/javascript' th:src='@{/js/form/suggestion-change.js}'></script>
    <!--自动提示框end-->
    <!-- 引入弹窗组件start -->
    <script type="text/javascript" charset="UTF-8" th:src="@{/js/popup/drag.js}"></script>
    <script type="text/javascript" charset="UTF-8" th:src="@{/js/popup/dialog.js}"></script>
    <!-- 引入弹窗组件end -->
</head>
<body th:object="${map}" >
<div>
    <div id="notprint" name="notprint" align="center" nowrap >
        <input type="button" value="打印" onclick="pagePreview()"/>
    </div>
    <div>
        <div class="table_head">
            井控风险信息
        </div>
        <table class="tableStyle" mode="list">
            <tr style="background-color: #CCCCCC">
                <td align="center" rowspan="2">序号</td>
                <td align="center" rowspan="2">日期</td>
                <td align="center" rowspan="2">类别</td>
                <td align="center" rowspan="2">项目名称</td>
                <td align="center" rowspan="2">项目单位</td>
                <td align="center" rowspan="2">作业地点</td>
                <td align="center" rowspan="2">工作内容</td>
                <td align="center" rowspan="2">作业时间</td>
                <td align="center" rowspan="2">风险类别</td>
                <td align="center" rowspan="2">施工风<br>险等级</td>
                <td align="center" rowspan="2">是否升<br>级管理</td>
                <td align="center" rowspan="2">主要风险<br>管控措施</td>
                <td align="center" colspan="2">作业负责人</td>
                <td align="center" colspan="2">属地监督人</td>
                <td align="center" rowspan="2">管控级别</td>
                <td align="center" rowspan="2">管控单位<br>或部门名称</td>
                <td align="center" rowspan="2">主管科室</td>
            </tr>
            <tr style="background-color: #CCCCCC">
                <td align="center">姓名</td>
                <td align="center">电话</td>
                <td align="center">姓名</td>
                <td align="center">电话</td>
            </tr>
            <div th:if="${map.rows.size()>0}">
                <tr th:each="entity:${map.rows}" align="center">
                    <td > [[${entity.row_num}]]</td>
                    <td > [[${entity.risk_date}]]</td>
                    <td > [[${entity.type}]]</td>
                    <td > [[${entity.project_name}]]</td>
                    <td > [[${entity.project_unit}]]</td>
                    <td > [[${entity.work_localtion}]]</td>
                    <td > [[${entity.job_content_day}]]</td>
                    <td > [[${entity.work_time}]]</td>
                    <td > [[${entity.risk_type}]]</td>
                    <td > [[${entity.risk_level}]]</td>
                    <td > [[${entity.is_upgrade}]]</td>
                    <td > [[${entity.risk_contro_measures}]]</td>
                    <td > [[${entity.person_liable_name}]]</td>
                    <td > [[${entity.person_liable_phone}]]</td>
                    <td > [[${entity.supervisor_name}]]</td>
                    <td > [[${entity.supervisor_phone}]]</td>
                    <td > [[${entity.contro_level}]]</td>
                    <td > [[${entity.contro_unit}]]</td>
                    <td > [[${entity.department}]]</td>
                </tr>
            </div>
        </table>
    </div>
</div>
<script type="text/javascript">
        var WebBrowser = document.getElementById("WebBrowser");
        function pagePreview()
        {
            var display = document.getElementById("notprint").style.display;
            document.getElementById("notprint").style.display="none";
//             WebBrowser.ExecWB(1,1);//打开
//             WebBrowser.ExecWB(2,1);//关闭所有
//             WebBrowser.ExecWB(4,1) ;//另存为
//             WebBrowser.ExecWB(6,1);//打印
//             WebBrowser.ExecWB(6,6);//直接打印
//             WebBrowser.ExecWB(8,1);//页面设置
//             WebBrowser.ExecWB(10,1);//属性
//             WebBrowser.ExecWB(17,1);//全选
//             WebBrowser.ExecWB(22,1);//刷新
//             WebBrowser.ExecWB(45,1);//关闭
//                 pagesetup_null();
//                 WebBrowser.ExecWB(6,1);//打印
//                WebBrowser.ExecWB(7,1); //打印预览
                        var isIE=navigator.userAgent.toUpperCase().indexOf("MSIE")==-1?false:true;
                        var isFirefox=navigator.userAgent.toUpperCase().indexOf("FIREFOX")==-1?false:true;
                        var isChrome=navigator.userAgent.toUpperCase().indexOf("CHROME")==-1?false:true;
                        if(isIE==true){
                            pagesetup_null();
                            WebBrowser.ExecWB(7,1); //打印预览
//                    window.print();
                        }else if(isChrome==true){
                            window.print();
                        }else if(isFirefox==true){
                            alert("火狐浏览器存在打印缺陷 不建议使用");
                            window.print();
                        }else {
                            pagesetup_null();
                            WebBrowser.ExecWB(7,1); //打印预览
//                        window.print();
                        }
                    document.getElementById("notprint").style.display=display;
        }
        function checkIEV() {
            var X, V, N;
            V = navigator.appVersion;
            N = navigator.appName;
            if (N == "Microsoft Internet Explorer")
                X = parseFloat(V.substring(V.indexOf("MSIE") + 5, V.lastIndexOf("Windows")));
            else
                X = parseFloat(V);
            return X;
        }
        //设置为不打印
        function noPrint() {
            var stylef = document.styleSheets[0];
            var rul = stylef.rules[0]; /*上面@media 那一段*/
            rul.style.display = "none";
        }
        //设置网页打印的页眉页脚为空
        function pagesetup_null() {
//               alert("sss")
            var hkey_root, hkey_path, hkey_key;
            hkey_root = "HKEY_CURRENT_USER"
            hkey_path = "\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";
            try {
                var RegWsh = new ActiveXObject("WScript.Shell");
                //打印页面的Menubar必须可见,此操作类似按键盘上的Alt+F+U也就是 调出页面设置对话框
//             wsShell.sendKeys("%fu");
                //此操作类似按键盘上的Alt+A也就是 设置横向打印
//             wsShell.sendKeys("%a");
                //此操作类似按键盘上的回车 页面设置对话框的默认焦点在 确定上 所以直接确定
//             wsShell.sendKeys("{ENTER}");
                //设置页眉(为空)
//             Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key)//可获得原页面设置
                hkey_key = "header";
                RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "");
                //设置页脚(为空)
                hkey_key = "footer";
                RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "");
                //alert(checkIEV());
                //这里需要浏览器版本,8.0以下的页边距设置与8.0及以上不一样,注意注册表里的单位是英寸,打印设置中是毫米,1英寸=25.4毫米
                if (checkIEV() < 8.0) {
                    //设置左页边距
                    hkey_key = "margin_left";
                    RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "0.025");
                    //设置右页边距
                    hkey_key = "margin_right";
                    RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "0.05");
                    //设置上页边距
                    hkey_key = "margin_top";
                    RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "0.3");
                    //设置下页边距
                    hkey_key = "margin_bottom";
                    RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "0.001");
                }
                else {
                    //设置右页边距
                    hkey_key = "margin_right";
                    RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "1.1");
                    //设置左页边距
                    hkey_key = "margin_left";
                    RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "1.1");
                    //设置上页边距
                    hkey_key = "margin_top";
                    RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "1.2");
                    //设置下页边距
                    hkey_key = "margin_bottom";
                    RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "1.001");
                }
            }
            catch (e) {
                alert("页面设置失败,请手动设置!");
            }
        }
</script>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值