コード例 #1
0
        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);
        }
コード例 #2
0
 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");
     }
 }