Window.print() 将默认副本设置为 2



我有一个要求,即通过单击按钮,打印机对话框将打开,份数设置为 2 而不是默认数字 1。

不,使用纯 javascript 和 window.print() 是不可能的。

但是,如果您愿意使用Java Applet,请查看qz-print又名jzebra。我个人在过去的一些项目中使用它来满足一些高级打印要求,结果非常令人满意。看看他们的printHTML()方法

***************************************************************************
    * Prototype function for printing plain HTML 1.0 to a PostScript capable 
    * printer.  Not to be used in combination with raw printers.
    * Usage:
    *    qz.appendHTML('<h1>Hello world!</h1>');
    *    qz.printPS();
    ***************************************************************************/ 
    function printHTML() {
        if (notReady()) { return; }
        // Preserve formatting for white spaces, etc.
        var colA = fixHTML('<h2>*  QZ Print Plugin HTML Printing  *</h2>');
        colA = colA + '<color=red>Version:</color> ' + qz.getVersion() + '<br />';
        colA = colA + '<color=red>Visit:</color> http://code.google.com/p/jzebra';
        // HTML image
        var colB = '<img src="' + getPath() + 'img/image_sample.png">';
                //qz.setCopies(3);
        qz.setCopies(parseInt(document.getElementById("copies").value));
        // Append our image (only one image can be appended per print)
        qz.appendHTML('<html><table face="monospace" border="1px"><tr height="6cm">' + 
        '<td valign="top">' + colA + '</td>' + 
        '<td valign="top">' + colB + '</td>' + 
        '</tr></table></html>');
        qz.printHTML();
    }

当然,如果您只想打印 2 份,这可能太过分了,实施起来也太复杂了。但我不知道任何其他方法可以帮助您干扰浏览器的打印。

相关内容

  • 没有找到相关文章

最新更新