我有一个基于Web的POS系统,需要从服务器获取信息并获得打印客户端。
我花了两天时间搜索,但仍然无法达到我想要的效果。
收银员会生成一个随机的序列号和密码,然后保存在数据库中,生成后应将收据打印到收银员默认打印机。每个收银员都有自己的默认打印机。
打印工作正是如此,但正在显示“打印”对话框,如何打印收据但不显示“打印”对话框?
我尝试了很多VB脚本,jquery和Javascripts。一切都失败了。 我正在打印iFrame的内容。
所有收银员都在使用Windows 7和Internet Explorer 10。
“关注”按钮显示iFrame。
protected void Generate_Click(object sender, EventArgs e)
{
myIFrame.Visible = true;
}
在iFrame中加载页面时,将运行Javascript打印帧内容
protected void Page_Load(object sender, EventArgs e)
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "Print", "PrintVoucher();", true);
}
的Javascript
<script type="text/javascript" language="javascript">
function PrintVoucher() {
window.focus();
window.print();
return;
}
</script>
答案 0 :(得分:0)
您应该能够使用已经编写的ActiveX控件。它包含在Windows中,因此可以免费使用。
<script language='VBScript'>
Sub Print()
OLECMDID_PRINT = 6
OLECMDEXECOPT_DONTPROMPTUSER = 2
OLECMDEXECOPT_PROMPTUSER = 1
call WB.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER,1)
End Sub
document.write "<object ID='WB' WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object>"
</script>
这将基本上覆盖您已使用的原始打印事件。因此,如果你想打印一些东西,你可以继续使用
window.print();
希望这有帮助。