• js 打印指定页面部分打印


    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <script>
            
                function do_print(id_str){
                    //id-str 打印区域的id
                    var el = document.getElementById(id_str);
                    var iframe = document.createElement('IFRAME');
                    var doc = null;
                    iframe.setAttribute('style','position:absolute;0px;height:0px;left:-500px;top:-500px;');
                    document.body.appendChild(iframe);
                    doc = iframe.contentWindow.document;
                    // 引入打印的专有CSS样式,根据实际修改       
                    //doc.write("<LINK rel="stylesheet" type="text/css" href="css/print.css">");
                    doc.write('<div>' + el.innerHTML + '</div>');
                    doc.close();       
                    iframe.contentWindow.focus();
                    iframe.contentWindow.print();
                    if (navigator.userAgent.indexOf("MSIE") > 0){
                        document.body.removeChild(iframe);      
                    }
                }
            </script>
        </head>
        <body>
            <!--打印区域: -->
            <div id="print_box">
                <div style=" 500px; height: 500px; border: 5px solid #6b3906;">
                    <h1>hello kitty!</h1>
                </div>
            </div>
            <!--// 调用打印 -->
            <button onclick="javascript:do_print('print_box');">打印</button>
            
        </body>
    </html>

    实战项目中的使用

       $scope.do_print = function (id_str) {
            //id-str 打印区域的id
            var el = document.getElementById(id_str);
            var iframe = document.createElement('IFRAME');
            var doc = null;
            iframe.setAttribute('style', 'position:absolute;0px;height:0px;left:-500px;top:-500px;');
            document.body.appendChild(iframe);
            doc = iframe.contentWindow.document;
            // 引入打印的专有CSS样式,根据实际修改       
            //doc.write("<LINK rel="stylesheet" type="text/css" href="css/print.css">");
            if ($scope.orderinfo.inv==null) {
                var txt = "table{border-collapse:collapse;border-spacing:0;border-left:1px solid #000000;border-top:1px solid #000000;} td{border: 1px solid #000000;}th{border: 1px solid #000000;}#changefapiao{visibility: hidden;} .change{border-right: 0px solid #000000;}.change1{border-left: 0px solid #000000;} .title{text-align:center;} #fapiao{display:none;}";
            }
            else {
                var txt = "table{border-collapse:collapse;border-spacing:0;border-left:1px solid #000000;border-top:1px solid #000000;} td{border: 1px solid #000000;}th{border: 1px solid #000000;}#changefapiao{visibility: hidden;} .change{border-right: 0px solid #000000;}.change1{border-left: 0px solid #000000;} .title{text-align:center;}";
            }
            doc.write('<style>' + txt + '</style>');
            doc.write('<body>' + el.innerHTML + '</body>');
            doc.close();
            iframe.contentWindow.focus();
            iframe.contentWindow.print();
            if (navigator.userAgent.indexOf("MSIE") > 0) {
                document.body.removeChild(iframe);
            }
        }

  • 相关阅读:
    HTML网页基础知识
    velocity介绍及语法
    velocity中的表达式
    DecimalFormat 小数保留2位,金额千位分割
    UE.Editor下载
    Uncaught Could not find Flash element
    UE.Editor处理内容中含有多余图片问题
    vue路由
    vuejs基本结构
    vue.js组件的重要选项
  • 原文地址:https://www.cnblogs.com/zhangxiaolei521/p/5145671.html
Copyright © 2020-2023  润新知