实例介绍
【实例简介】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 }));
标签: 15969
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论