Browse Source

UAS_PRINT代码提交

caosy 6 years ago
parent
commit
cb7a52bd5d
2 changed files with 38 additions and 24 deletions
  1. 22 14
      UAS_PRINT/Form2.cs
  2. 16 10
      UAS_PRINT/PrintHandler.cs

+ 22 - 14
UAS_PRINT/Form2.cs

@@ -33,11 +33,26 @@ namespace UAS_PRINT
             rk2.Close();
             rk.Close();
             httpPostRequest.Prefixes.Add("http://localhost:9100/");
-            httpPostRequest.Start();
+           httpPostRequest.Start();
 
             ThrednHttpPostRequest = new Thread(new ThreadStart(httpPostRequestHandle));
             ThrednHttpPostRequest.Start();
-            提示.ShowBalloonTip(30,"提示","程序启动",ToolTipIcon.Info);
+            提示.ShowBalloonTip(30, "提示", "程序启动", ToolTipIcon.Info);
+
+            //string req = File.ReadAllText(@"C:\Users\Hcsy\Documents\Tencent Files\814802334\FileRecv\4.txt", Encoding.UTF8);
+            //if (req.Contains("\"" + "chooseprintername" + "\""))
+            //{
+            //    req = req.Remove(req.IndexOf("device"), req.IndexOf("data") - 3);
+            //    lock ("A")
+            //    {
+            //        PrintHandler.vendorZplPrint(req);
+            //    }
+            //}
+            //else
+            //{
+            //    PrintHandler.zplprint(req);
+            //}
+
         }
 
 
@@ -65,17 +80,10 @@ namespace UAS_PRINT
                     if (requestContext.Request.Url.PathAndQuery == "/write")
                     {
                         Stream stream = requestContext.Request.InputStream;
-                        var memoryStream = new MemoryStream();
-                        //将基础流写入内存流
-                        const int bufferLength = 2 * 1024 * 1024;
-                        byte[] buffera = new byte[bufferLength];
-                        int actual = stream.Read(buffera, 0, bufferLength);
-                        if (actual > 0)
-                        {
-                            memoryStream.Write(buffera, 0, actual);
-                        }
-                        memoryStream.Position = 0;
-                        string req = System.Text.Encoding.UTF8.GetString(buffera);
+                        StreamReader sr = new StreamReader(stream);
+                        string req = sr.ReadToEnd();
+                        sr.Close();
+
                         if (req.Contains("\"" + "chooseprintername" + "\""))
                         {
                             req = req.Remove(req.IndexOf("device"), req.IndexOf("data") - 2);
@@ -86,7 +94,7 @@ namespace UAS_PRINT
                         }
                         else
                         {
-                            PrintHandler.zplprint(req);
+                           PrintHandler.zplprint(req);
                         }
                     }
                     else if (requestContext.Request.Url.PathAndQuery == "/default?type=printer")

+ 16 - 10
UAS_PRINT/PrintHandler.cs

@@ -120,14 +120,12 @@ namespace UAS_PRINT
             {
                 Report.Load(System.AppDomain.CurrentDomain.BaseDirectory + label_name+".frx");
             }
-            catch
+            catch(Exception ex)
             {
-                MessageBox.Show("未找到可使用的标签文件");
+                MessageBox.Show("未找到可使用的标签文件"+ex.Message);
                 return;
             }
 
-            int la_width = int.Parse(parameter.First()["LA_WIDTH"].ToString());
-            int la_height = int.Parse(parameter.First()["LA_HEIGHT"].ToString());
 
             foreach (var item in barcode)
             {
@@ -217,16 +215,24 @@ namespace UAS_PRINT
             }
             try
             {
-                Report.PrintSettings.ShowDialog = false;
-                Report.PrintSettings.Printer = chooseprintername.Replace("\\\\", "\\");
-                foreach (DataRow dr in dt.Rows)
+                string logout_confirm = MessageBox.Show("打印"+dt.Rows.Count+"张条码,是否继续", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly).ToString();
+                if (logout_confirm == "Yes")
                 {
-                    DataTable dta = dt.Clone();
-                    dta.Rows.Add(dr.ItemArray);
-                    Report.RegisterData(dta, label_type);
+                    Report.PrintSettings.ShowDialog = false;
+                    Report.PrintSettings.Printer = chooseprintername.Replace("\\\\", "\\");
+                    //foreach (DataRow dr in dt.Rows)
+                    //{
+                    //    DataTable dta = dt.Clone();
+                    //    dta.Rows.Add(dr.ItemArray);
+                    //    Report.RegisterData(dta, label_type);
+                    //    Report.GetDataSource(label_type).Enabled = true;
+                    //    Report.Print();
+                    //}
+                    Report.RegisterData(dt, label_type);
                     Report.GetDataSource(label_type).Enabled = true;
                     Report.Print();
                 }
+               
             }
             catch(Exception ex)
             {