我们的一个Intranet应用程序需要打印到非默认打印机。当然人们经常忘记选择正确的打印机。
我知道你不能通过JavaScript正常做到这一点,但鉴于浏览器是IE9,我可以将webapp添加到受信任的区域(并随意摆弄安全设置),有什么方法可以编写能够自动选择正确打印机的JavaScript吗?也许使用一些ActiveX或其他IE特定的东西。
答案 0 :(得分:6)
不,Javascript对象模型包含一个window.print()方法,可以激活Web浏览器的标准打印对话框,但就功能而言。 Javascript代码能够检查连接到计算机的打印机,查找打印机属性或任意配置其设置是不合适或安全的。
我建议在打印前添加一个弹出窗口,提醒用户选择合适的打印机。
答案 1 :(得分:3)
如果您的浏览器是基于IE的,您可以使用meadroid中的这个activeX:
http://www.meadroid.com/scriptx/index.asp
我过去曾使用它,它允许控制打印机属性。
以下是mmeadroid文档中的示例:
<script>
function printWindow() {
factory.printing.SetMarginMeasure(2); // set inches
factory.printing.header = "This is MeadCo";
factory.printing.footer = "Printing by ScriptX";
factory.printing.portrait = false;
factory.printing.leftMargin = 1.0;
factory.printing.topMargin = 1.0;
factory.printing.rightMargin = 1.0;
factory.printing.bottomMargin = 1.0;
factory.printing.copies = 1;
factory.printing.printBackground = true;
factory.printing.Print(false);
factory.printing.WaitForSpoolingComplete();
// navigate or close browser here //
}
</script>