这个打印页面是调用document.all.WebBrowser.ExecWB(6,1)来做打印的,但是无论是多张打印还是单张打印,最后都会多出一张空白页面,经检查不会是第一张中的空白打印到下一张的情况。打印机的型号为:EPSON LQ-1600KIII。操作系统为XP,浏览器IE6\IE7都是同样的情况。求砖家,求指导。

解决方案 »

  1.   

    打印单张也会吗。设置里难道设置错误了?CSS里有没有设置meida="print"或者CSS有没有设置一些空白部分,具体可以百度或GOOGLE找一下CSS打印设置相关问题。
      

  2.   

    多出一张的原因是:设置了.PageNext {
    page-break-before: always;
    }   但是这是为了分页,要是不设置这个的话,多张打印的时候,就不会分页,而是连续的。
      

  3.   


    好长时间了,忘记结贴了。
    问题自己解决了:
    PageNext {
    page-break-before: always;
    }这个page-break-before属性可以写在js中,然后循环控制,最后一页的前面才置为always
    function printFrameTest(cls, type) {
    var tabs = getElementsByClassName(cls);
    for ( var i = 0; i < tabs.length; i++) {
    tabs[i].style.display = '';
    if(i < tabs.length-1) {
    tabs[i].style.pageBreakAfter='always';
    }
    }
    if (type == 'print') {
    document.all.WebBrowser.ExecWB(6, 1);
    }
    if (type == 'printset') {
    document.all.WebBrowser.ExecWB(8, 1);
    }
    if (type == 'view') {
    document.all.WebBrowser.ExecWB(7, 1);
    }
    for ( var i = 0; i < tabs.length; i++) {
    tabs[i].style.display = 'none';
    }
    }