js与css实现全局与局部打印、缩放打印、去除页眉页脚打印

js实现全局与局部打印

  • js调用打印函数
    在这里插入图片描述
  • HTML样例
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>测试案例</title>
    <script type="text/javascript">
        <!--打印用户表-->
        function printUser(obj) {
            <!--获取网页整体内容-->
            var old_html = document.body.innerHTML

            <!--获取用户表网页内容-->
            var new_ele = obj.parentElement.innerHTML

            <!--将用户表网页内容赋值给网页整体内容-->
            document.body.innerHTML = new_ele

            <!--打印-->
            window.print()

            <!--还原网页整体内容-->
            document.body.innerHTML = old_html
        }

        <!--打印当前页面-->
        function printFuc(obj) {
            window.print()
        }
    </script>
</head>
<body>
<ul>
    <li>
        <h3>用户管理</h3><br>
        <table border="2">
            <tr>
                <td>用户名</td>
                <td>年龄</td>
                <td>住址</td>
            </tr>
            <tr>
                <td>JACK</td>
                <td>20</td>
                <td>武汉</td>
            </tr>
            <tr>
                <td>JOHN</td>
                <td>30</td>
                <td>北京</td>
            </tr>
            <tr>
                <td>MARY</td>
                <td>40</td>
                <td>上海</td>
            </tr>
        </table>
        <br>
        <button onclick="printUser(this)">局部打印用户表</button>
    </li>
    <li>
        <h3>组织管理</h3><br>
        <table border="2">
            <tr>
                <td>一级部</td>
                <td>二级部</td>
                <td>三级部</td>
            </tr>
            <tr>
                <td>河北银行</td>
                <td>石家庄分行</td>
                <td>新华区支行</td>
            </tr>
            <tr>
                <td>河北银行</td>
                <td>唐山分行</td>
                <td>路北区支行</td>
            </tr>
            <tr>
                <td>河北银行</td>
                <td>廊坊</td>
                <td>固安县支行</td>
            </tr>
        </table>
        <br>
    </li>
</ul>
<button onclick="printFuc(this)" style="margin: 0 5ex">全局打印当前页面</button>
</body>
</html>

js实现缩放打印

在这里插入图片描述

  • HTML样例
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>测试案例</title>
    <script type="text/javascript">
        <!--打印用户表-->
        function printUser(obj) {
            <!--获取网页整体内容-->
            var old_html = document.body.innerHTML

            <!--获取用户表网页内容-->
            var new_ele = obj.parentElement.innerHTML

            <!--将用户表网页内容赋值给网页整体内容-->
            document.body.innerHTML = new_ele

            <!--zoom 设置或检索对象的缩放比例-->
            document.getElementsByTagName('body')[0].style.zoom = 0.5

            <!--打印-->
            window.print()

            <!--还原对象的缩放比例-->
            document.getElementsByTagName('body')[0].style.zoom = 1
            <!--还原网页整体内容-->
            document.body.innerHTML = old_html
        }

        <!--打印当前页面-->
        function printFuc(obj) {
            <!--zoom 设置或检索对象的缩放比例-->
            document.getElementsByTagName('body')[0].style.zoom = 1.5

            window.print()

            document.getElementsByTagName('body')[0].style.zoom = 1
        }
    </script>
</head>
<body>
<ul>
    <li>
        <h3>用户管理</h3><br>
        <table border="2">
            <tr>
                <td>用户名</td>
                <td>年龄</td>
                <td>住址</td>
            </tr>
            <tr>
                <td>JACK</td>
                <td>20</td>
                <td>武汉</td>
            </tr>
            <tr>
                <td>JOHN</td>
                <td>30</td>
                <td>北京</td>
            </tr>
            <tr>
                <td>MARY</td>
                <td>40</td>
                <td>上海</td>
            </tr>
        </table>
        <br>
        <button onclick="printUser(this)">局部打印用户表-缩放比例为0.5</button>
    </li>
    <li>
        <h3>组织管理</h3><br>
        <table border="2">
            <tr>
                <td>一级部</td>
                <td>二级部</td>
                <td>三级部</td>
            </tr>
            <tr>
                <td>河北银行</td>
                <td>石家庄分行</td>
                <td>新华区支行</td>
            </tr>
            <tr>
                <td>河北银行</td>
                <td>唐山分行</td>
                <td>路北区支行</td>
            </tr>
            <tr>
                <td>河北银行</td>
                <td>廊坊</td>
                <td>固安县支行</td>
            </tr>
        </table>
        <br>
    </li>
</ul>
<button onclick="printFuc(this)" style="margin: 0 5ex">全局打印当前页面-缩放比例为1.5</button>
</body>
</html>

css实现打印时去除页眉页脚

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>测试案例</title>
    <!--media="print" 代表控制打印时的样式:去除打印时的页眉页脚-->
    <style media="print">
        @page {
            size: auto;
            margin: 0mm; /* 影响打印机设置中的边距 */
        }
    </style>
    <script type="text/javascript">
        <!--打印用户表-->
        function printUser(obj) {
            <!--获取网页整体内容-->
            var old_html = document.body.innerHTML

            <!--获取用户表网页内容-->
            var new_ele = obj.parentElement.innerHTML

            <!--将用户表网页内容赋值给网页整体内容-->
            document.body.innerHTML = new_ele

            <!--zoom 设置或检索对象的缩放比例-->
            document.getElementsByTagName('body')[0].style.zoom = 0.5

            <!--打印-->
            window.print()

            <!--还原对象的缩放比例-->
            document.getElementsByTagName('body')[0].style.zoom = 1

            <!--还原网页整体内容-->
            document.body.innerHTML = old_html
        }

        <!--打印当前页面-->
        function printFuc(obj) {
            <!--zoom 设置或检索对象的缩放比例-->
            document.getElementsByTagName('body')[0].style.zoom = 1.5

            window.print()

            document.getElementsByTagName('body')[0].style.zoom = 1
        }
    </script>
</head>
<body>
<ul>
    <li>
        <h3>用户管理</h3><br>
        <table border="2">
            <tr>
                <td>用户名</td>
                <td>年龄</td>
                <td>住址</td>
            </tr>
            <tr>
                <td>JACK</td>
                <td>20</td>
                <td>武汉</td>
            </tr>
            <tr>
                <td>JOHN</td>
                <td>30</td>
                <td>北京</td>
            </tr>
            <tr>
                <td>MARY</td>
                <td>40</td>
                <td>上海</td>
            </tr>
        </table>
        <br>
        <button onclick="printUser(this)">局部打印用户表-缩放比例0.5</button>
    </li>
    <li>
        <h3>组织管理</h3><br>
        <table border="2">
            <tr>
                <td>一级部</td>
                <td>二级部</td>
                <td>三级部</td>
            </tr>
            <tr>
                <td>河北银行</td>
                <td>石家庄分行</td>
                <td>新华区支行</td>
            </tr>
            <tr>
                <td>河北银行</td>
                <td>唐山分行</td>
                <td>路北区支行</td>
            </tr>
            <tr>
                <td>河北银行</td>
                <td>廊坊</td>
                <td>固安县支行</td>
            </tr>
        </table>
        <br>
    </li>
</ul>
<button onclick="printFuc(this)" style="margin: 0 5ex">全局打印当前页面-缩放比例为1.5</button>
</body>
</html>
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值