在MVC .net中直接打印,无需热敏打印机的打印对话

时间:2016-05-20 09:27:12

标签: javascript jquery asp.net-mvc-5

我有一个MVC网络应用程序,我们要打印收据,但由于我们有POS系统和热敏打印机,我们不希望打印对话框和收据应该直接打印。

我们有以下代码,但正在弹出。有人可以帮忙解决这个问题吗?我们正在寻找完整的跨浏览器支持。

代码如下:

 <script type="text/javascript">
       // var q = jQuery.noConflict();
        $("#btnPrint").live("click", function () {
            var divContents = $("#dvContainer").html();
            var printWindow = window.open('', '', 'height=400,width=800');
            printWindow.document.write('<html><head><title>DIV Contents</title>');
            printWindow.document.write('</head><body >');
            printWindow.document.write(divContents);
            printWindow.document.write('</body></html>');
            printWindow.document.close();
            printWindow.print();
            q('.print default').trigger('click');

        });
    </script>

提前致谢。

2 个答案:

答案 0 :(得分:1)

这里有2个选项。

选项一

要从Microsoft .NET Framework将原始数据发送到打印机,您的程序必须使用Win32假脱机程序功能。但是,使用.NET Framework,您无法将预先格式化的打印机就绪数据发送到打印机。

了解更多here

选项二

WebClientPrint for ASP.NET。这里有更多信息。 Link

答案 1 :(得分:0)

在所有浏览器中执行此操作的唯一可靠方法是在后台运行一个特殊的守护程序,您可以调用AJAX请求来执行打印请求。这是一个这样的产品。

https://blog.kiosksimple.com/2015/04/30/how-to-print-in-javascript-without-displaying-the-print-dialog-box/