public void Print(PrintRequest request) { PrintRequest64 printRequest = new PrintRequest64(); if (request.images.Count > 0) { Bitmap bitmap = request.images[0]; MemoryStream ms = new MemoryStream(); bitmap.Save(ms, ImageFormat.Png); byte[] imgBytes = ms.ToArray(); string base64Image = Convert.ToBase64String(imgBytes); printRequest.setBase64Strings(base64Image); } else if (request.imageURLs.Count > 0) { printRequest.setImageUrls(request.imageURLs[0]); } else if (request.text.Count > 0) { printRequest.setText(request.text); } printRequest.externalPrintJobId = request.printRequestId; printRequest.printDeviceId = request.printDeviceId; Send("/Print", printRequest); }
public void Print(HttpListenerContext context) { try { PrintRequest64 message = ParseRequest <PrintRequest64>(context); PrintRequest request = null; if (message != null) { if (message.base64strings.Count > 0) { byte[] imgBytes = Convert.FromBase64String(message.base64strings[0]); MemoryStream ms = new MemoryStream(); ms.Write(imgBytes, 0, imgBytes.Length); Bitmap bp = new Bitmap(ms); ms.Close(); request = new PrintRequest(bp, message.externalPrintJobId, message.printDeviceId); } else if (message.imgUrls.Count > 0) { request = new PrintRequest(message.imgUrls[0], message.externalPrintJobId, message.printDeviceId); } else if (message.textLines.Count > 0) { request = new PrintRequest(message.textLines, message.externalPrintJobId, message.printDeviceId); } GetServer.CloverConnector.Print(request); this.SendTextResponse(context, ""); } } catch (Exception e) { context.Response.StatusCode = 400; context.Response.StatusDescription = e.Message; this.SendTextResponse(context, "error processing request"); } }