zoukankan      html  css  js  c++  java
  • web页面的单页打印以及批量打印实现方法

    本文主要和大家分享web页面的单页打印以及批量打印实现方法,希望能帮助到大家。
    打印事件:window.print()

    1.单页打印(布局打印):

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    function printCnt(){

        //1.获取当前页的html代码 

        var body = window.document.body.innerHTML;

        //2.要打印的部分(#print里面的内容就是要打印的内容)

        window.document.body.innerHTML =document.getElementById("print").innerHTML;

        window.print();

        window.document.body.innerHTML = body;

        //重新载入当前文档:

        location.reload();

    }

    注意:location.reload();要加,因可解决JS window.print()第二次点击事件失效问题

    2.批量打印

    注意点:

    (1).控制网页的分页:page-break-after:always

    注意:避免在表格、浮动元素、带有边框的块元素中使用分页属性

    (2).给每个分页的内容要加一个高度,防止变样

    1

    2

    3

    4



        
    报告单1



        
    报告单2





    (3)如果css的样式没有载入打印中,请加入:var printStr='';

    1

    2

    3

    4

    var printHead = ""

                +"";

    var printCnt='打印的内容';

    printStr = printHead + printCnt;

    (4).如果使用window.open("showPrint.html","print"); 打印预览页面的话

    1

    2

    3

    4

    5

    6

    printStr = printHead + printCnt; 

    //如果是本地测试,需要先新建Print.html,如果是在域中使用,则不需要

    var pwin=window.open("showPrint.html","print");

    pwin.document.write(printStr);

    pwin.document.close();//这个是必须的

    注意:pwin.document.close(); 可以关闭showPrint.html的页面,使其第二次打印的时候不会跳转到showPrint.html

  • 相关阅读:
    ExtJs之Grid
    [java]转:String Date Calendar之间的转换
    SQL Server脚本备份
    Java实现文件夹的复制(包括子文件夹与文件)
    Android webview使用详解
    zxing条码扫描横屏修改
    Genymotion的安装与eclipse配置教程
    开发中遇到的问题
    sql中COUNT()+GROUP BY +HAVING的组合使用
    由于包名与引用的库名相同导致的报错
  • 原文地址:https://www.cnblogs.com/apolloren/p/15008480.html
Copyright © 2011-2022 走看看