基本信息
源码名称:web客户端打印源码 (不需要解压密码版,可以直接解压!)
源码大小:32.06M
文件格式:.zip
开发语言:C#
更新时间:2021-11-23
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

web客户端打印源码 

(https://w ww.hao lizi.net/example/view_8860 1.html)这个源代码需要解压密码,我看到很多人下载不知道解压密码,我这里上传一个没有解压密码的源代码,希望能解决大家的问题,给大家以帮助!!

简介:以前常规的思路是通过在浏览器中安装ActiveX插件以获得直接驱动打印机的能力。 随着浏览器的发展,越来越多的浏览器厂商禁止安装ActiveX,以避免因ActiveX组件导致的各种安全问题。 本打印系统是web客户端打印,不需要在浏览器安装任何插件,使用socket通信,跨网段,云打印(不限外网,不只是局域网打印哦,外网也可以),打印过程不会有弹窗,基于asp.net mvc,层次结构清楚,可在源码基础上进行扩展。 可同时打印多张标签,完美解决中文打印问题


  [AllowAnonymous]
        [HttpPost]
        public ActionResult ImageBase64ToImage(string imageBase64, string barcode)
        {
            try
            {
                imageBase64 = imageBase64.Substring(22);
                byte[] bt = Convert.FromBase64String(imageBase64);//获取图片base64             
                int totalBytes = 0;
                int rowBytes = 0;
                string hexImage = EHX.QrCode.ZebraUnity.BmpToZpl(bt, out totalBytes, out rowBytes);//图片转zpl命令
                var imageCommands = "~DGR:SAMPLE.GRF," totalBytes "," rowBytes "," hexImage;
                return Content(JsonConvert.SerializeObject(new { imageCommands }));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        /// <summary>
        /// 获取打印命令 
        /// </summary>
        /// <param name="barcode">扫描到的条码</param>
        /// <param name="templateId">打印模板ID</param>
        /// <param name="imageCommands">图片HEX编码命令</param>
        /// <returns>返回对象Json</returns>
        [AllowAnonymous]
        [HttpPost]
        public ActionResult GetPrinterCommands(string barcode, string imageCommands, string printNum)
        {
            StringBuilder printerCommands = new StringBuilder();
            printerCommands.AppendLine("^XA");
            printerCommands.AppendLine("^IDR:*.GRF^FS");
            printerCommands.AppendLine("^XZ");
            printerCommands.AppendLine(imageCommands);//图片打印的命令
            printerCommands.AppendLine("^XA");
            printerCommands.AppendLine("^MD30");
            printerCommands.AppendLine("^PW1000");
            printerCommands.AppendLine("^FO20,10^XGR:SAMPLE.GRF,1,1^FS");//图片打印
            printerCommands.AppendLine("^FO80,630");
            printerCommands.AppendLine("^BY1,3,100^BCN,,N,N,N");
            printerCommands.AppendLine("^FD" barcode "^FS");//条码打印命令
            printerCommands.AppendLine("^FO80,740");
            printerCommands.AppendLine("^A1N,15,10");
            printerCommands.AppendLine("^FD" barcode "^FS");//重新把条码打出来(由于条码过长,1倍打印条码字体太小,所以单独把条码当做字符串打印出来)
            printerCommands.AppendLine("^PQ" printNum ",0,1,Y");//一次打印的份数
            printerCommands.AppendLine("^XZ");
            printerCommands.ToString();
            string strCommands = "print_" printerCommands;
            return Content(JsonConvert.SerializeObject(new { strCommands }));