我有一个要求,即通过单击按钮,打印机对话框将打开,份数设置为 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 份,这可能太过分了,实施起来也太复杂了。但我不知道任何其他方法可以帮助您干扰浏览器的打印。