Javascript 如何在客户端不打印对话框的情况下打印收据

Javascript 如何在客户端不打印对话框的情况下打印收据,javascript,jquery,asp.net-mvc,printing,epson,Javascript,Jquery,Asp.net Mvc,Printing,Epson,我想在客户端打印收据没有打印对话框,我使用mvc这是我的解决方案,以实现我的问题。 EPSON printer已安装在我的系统中。当主机位于我的本地iis中时,此解决方案正常工作,但当主机位于服务器中并从我的本地系统访问时,此解决方案不起作用。出现“处理您的请求时出错”错误。在服务器中未安装打印机 $.ajax({ type: "POST", url: '../Service/print', cache: false, data: { iprintData: printDat

我想在客户端打印收据没有打印对话框,我使用mvc这是我的解决方案,以实现我的问题。 EPSON printer已安装在我的系统中。当主机位于我的本地iis中时,此解决方案正常工作,但当主机位于服务器中并从我的本地系统访问时,此解决方案不起作用。出现“处理您的请求时出错”错误。在服务器中未安装打印机

$.ajax({
type: "POST",
url: '../Service/print',
cache: false,
data: { iprintData: printData, iprinterName: sPrinterName },
success: function (data) {
// alert('print Send Successfully');
},
error: function (ex) {
   alert(ex.responseText);
// alert('error while Seding print');
}
});
这是我在控制器中的代码


有人能帮我吗?

设置System.Drawing.dll属性

Copy Local=true

设置System.Drawing.dll属性

Copy Local=true
  • 首先,您必须编写包含HttpListener的windows服务
  • 在服务中编写打印代码
  • 在客户端计算机中安装服务
  • 使用ajax调用该服务,如下所示
  • 函数printReceivement(){
    var PrintData=JSON.parse($(“#receiptData”).html()
    如果(PrintData.length>0){
    $.ajax({
    类型:“POST”,
    url:“http://localhost:41963/printOrder",
    data:JSON.stringify({“PrintData”:PrintData}),//接收数据
    跨域:是的,
    成功:功能(响应){
    },
    错误:函数(){
    }
    });
    }
    }
  • 首先,您必须编写包含HttpListener的windows服务
  • 在服务中编写打印代码
  • 在客户端计算机中安装服务
  • 使用ajax调用该服务,如下所示
  • 函数printReceivement(){
    var PrintData=JSON.parse($(“#receiptData”).html()
    如果(PrintData.length>0){
    $.ajax({
    类型:“POST”,
    url:“http://localhost:41963/printOrder",
    data:JSON.stringify({“PrintData”:PrintData}),//接收数据
    跨域:是的,
    成功:功能(响应){
    },
    错误:函数(){
    }
    });
    }
    
    }
    system.Drawing.dll位于bin中。单击引用,然后右键单击系统。Drawing take属性Drawing.dll具有相同的属性,并且在发布网站后随bin文件夹一起发布。system.Drawing.dll位于bin中。单击引用,然后右键单击系统。Drawing take属性Drawing.dll具有相同的属性,并且已发布发布网站后使用bin文件夹。