嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元微信扫码支付:2 元
请留下您的邮箱,我们将在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 }));