我可以使用JavaScript选择打印机吗?

时间:2011-10-25 14:56:02

标签: javascript internet-explorer activex

  

可能重复:
  Printing to a specific printer from a web app

我们的一个Intranet应用程序需要打印到非默认打印机。当然人们经常忘记选择正确的打印机。

我知道你不能通过JavaScript正常做到这一点,但鉴于浏览器是IE9,我可以将webapp添加到受信任的区域(并随意摆弄安全设置),有什么方法可以编写能够自动选择正确打印机的JavaScript吗?也许使用一些ActiveX或其他IE特定的东西。

2 个答案:

答案 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>