最近項目中發現Web前端通過javascript是無法實現調用LPT1端口進行特定格式的打印的。而直接采用瀏覽器的打印會導致打印的全部為亂碼。
后經查閱各方資料可以采用調用ActiveX方法實現小票機特定格式的打印。
下面為具體方法:
<script type="text/javascript" language="javascript"> function print() { try { var objfs=new ActiveXObject("Scripting.FileSystemObject"); var objprinter = objfs.CreateTextFile("LPT1:", true); }catch(Error) { alert("無法獲取Active插件,或者LPT1端口未連接打印機。錯誤信息:"+Error.Message); return; } objprinter.Writeline(""); objprinter.Writeline(" 小票 "); objprinter.Writeline("———————————————————————————————"); objprinter.Writeline('<%=Model.NumberID %>'); objprinter.Writeline('門店編碼:<%=Model.StoreCode%>'); objprinter.Writeline('門店名稱:<%=ViewData["werks"]%>'); 。 。 。 。 。
}
</script>
注意:因為需要創建ActiveX控件,所以需要對IE的安全級別進行調整。默認IE對不安全的ActiveX控件是不允許創建的。
具體設置如下:IE——》工具——》Internet選項——》安全——》Inertnet——》自定義級別 ,找到如下選項默認為禁用,改為啟用,然后保存。

