From 305e2990bb2161177e87ab7711f9dfb205762bcd Mon Sep 17 00:00:00 2001
From: kingno <30263@KINGNO>
Date: 星期一, 09 六月 2025 15:52:42 +0800
Subject: [PATCH] 优化数据传递

---
 src/Bro.M141.Process/UI/UIPrinter.cs |  271 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 262 insertions(+), 9 deletions(-)

diff --git a/src/Bro.M141.Process/UI/UIPrinter.cs b/src/Bro.M141.Process/UI/UIPrinter.cs
index c17e2cf..949bd0d 100644
--- a/src/Bro.M141.Process/UI/UIPrinter.cs
+++ b/src/Bro.M141.Process/UI/UIPrinter.cs
@@ -2,6 +2,7 @@
 using Bro.Common.Helper;
 using Bro.Common.Interface;
 using Bro.UI.Model.Winform;
+using Sunny.UI;
 using System;
 using System.Collections.Generic;
 using System.ComponentModel;
@@ -15,6 +16,7 @@
 using System.Windows.Forms;
 using ZXing;
 using ZXing.Common;
+using static System.Windows.Forms.AxHost;
 
 //using System.Printing;
 
@@ -83,8 +85,6 @@
             Process141.PlcwritePrinter(1510, 1);
 
         }
-
-
         private void printDocument_Print(object sender, PrintPageEventArgs e)
         {
             Font fntTxt = new Font("榛戜綋", 15, System.Drawing.FontStyle.Bold);//姝f枃鏂囧瓧               
@@ -92,14 +92,153 @@
             try
             {
                 string numvalue = message;
-                Bitmap bitmap = CreateCode(numvalue);
 
-                int with = (ttwith - bitmap.Width) / 2 - 20;
-                int heih = (ttheigh - bitmap.Height) / 2;
+                float Scale = (float)0.95;
+                int startX = 10;
+                int startY = 25;
+
+                //int length = 320 * Scale;
+                //int height = 160 * Scale;
+                var g = e.Graphics;
+
+                Font font = new Font("Arial", 8 * Scale);//璁剧疆瀛椾綋棰滆壊
+                Font font2 = new Font("Arial", 11 * Scale);//璁剧疆瀛椾綋棰滆壊
+                Font font3 = new Font("Arial", 36 * Scale);//璁剧疆瀛椾綋棰滆壊
+                Font font4 = new Font("Arial", 12 * Scale);//璁剧疆瀛椾綋棰滆壊
+
+
+                Pen p = new Pen(Color.Black, Scale);//瀹氫箟浜嗕竴涓粦鑹�,瀹藉害涓�1鐨勭敾绗�
+                g.Clear(Color.White);
+                g.DrawRectangle(p, startX * Scale, startY * Scale, 70 * Scale, 20 * Scale);//鍦ㄧ敾鏉夸笂鐢荤煩褰�,璧峰鍧愭爣涓�(10,10),瀹戒负80,楂樹负20
+                g.DrawRectangle(p, startX * Scale, startY * Scale, 280 * Scale, 20 * Scale);//鍦ㄧ敾鏉夸笂鐢荤煩褰�,璧峰鍧愭爣涓�(90,10),瀹戒负80,楂樹负20
+                g.DrawString("鍘傚晢", font, brush, (startX + 20) * Scale, (startY + 5) * Scale);//
+                g.DrawString("鍢夊桨绉戞妧", font2, brush, (startX + 140) * Scale, (startY + 4) * Scale);
+
+
+                //绗簩琛屾暟鎹�
+                g.DrawRectangle(p, startX * Scale, (startY + 20) * Scale, 70 * Scale, 20 * Scale);
+                g.DrawRectangle(p, startX * Scale, (startY + 20) * Scale, 280 * Scale, 20 * Scale);
+                g.DrawString("鍝佸悕", font, brush, (startX + 20) * Scale, (startY + 25) * Scale);
+                g.DrawString(@"COVER LG208H-RC100 #2", font4, brush, (startX + 71) * Scale, (startY + 22) * Scale);
+
+                //绗笁琛屾暟鎹�
+                g.DrawRectangle(p, startX * Scale, (startY + 40) * Scale, 70 * Scale, 20 * Scale);
+                g.DrawRectangle(p, startX * Scale, (startY + 40) * Scale, 280 * Scale, 20 * Scale);
+                g.DrawString("鏂欏彿", font, brush, (startX + 20) * Scale, (startY + 45) * Scale);
+                g.DrawString(@"436LG208I000", font2, brush, (startX + 130) * Scale, (startY + 43) * Scale);
+
+                //绗洓琛屾暟鎹�
+                g.DrawRectangle(p, startX * Scale, (startY + 60) * Scale, 70 * Scale, 20 * Scale);
+                g.DrawRectangle(p, startX * Scale, (startY + 60) * Scale, 210 * Scale, 20 * Scale);
+                g.DrawString("鏁伴噺", font, brush, (startX + 20) * Scale, (startY + 65) * Scale);
+                g.DrawString(@"50PCS", font2, brush, (startX + 120) * Scale, (startY + 62) * Scale);
+
+                //绗簲琛屾暟鎹�
+                g.DrawRectangle(p, startX * Scale, (startY + 80) * Scale, 70 * Scale, 20 * Scale);
+                g.DrawRectangle(p, startX * Scale, (startY + 80) * Scale, 210 * Scale, 20 * Scale);
+                g.DrawString("鐢熶骇鏃ユ湡", font, brush, (startX + 10) * Scale, (startY + 85) * Scale);
+                g.DrawString($"{DateTime.Now.ToString("yyyy.MM.dd")}", font2, brush, (startX + 105) * Scale, (startY + 82) * Scale);
+
+                //绗叚琛屾暟鎹�
+                g.DrawRectangle(p, startX * Scale, (startY + 100) * Scale, 70 * Scale, 20 * Scale);
+                g.DrawRectangle(p, startX * Scale, (startY + 100) * Scale, 140 * Scale, 20 * Scale);
+                g.DrawRectangle(p, startX * Scale, (startY + 100) * Scale, 210 * Scale, 20 * Scale);
+                g.DrawString("MARK1", font, brush, (startX + 15) * Scale, (startY + 104) * Scale);
+                g.DrawString("MARK2", font, brush, (startX + 155) * Scale, (startY + 104) * Scale);
+
+
+                //渚ч潰
+                g.DrawRectangle(p, (startX + 210) * Scale, (startY + 60) * Scale, 70 * Scale, 60 * Scale);
+                g.DrawString(@"#2", font3, brush, (startX + 210) * Scale, (startY + 62) * Scale);
+            }
+            catch (Exception ee)
+            {
+                MessageBox.Show(ee.Message);
+            }
+        }
+
+        private void printDocument_Print222(object sender, PrintPageEventArgs e)
+        {
+            Font fntTxt = new Font("榛戜綋", 15, System.Drawing.FontStyle.Bold);//姝f枃鏂囧瓧               
+            System.Drawing.Brush brush = new SolidBrush(System.Drawing.Color.Black);//鐢诲埛           
+            try
+            {
+                string numvalue = message;
+                //Bitmap bitmap = getexcel();// CreateCode(numvalue);
+
+                //int with = (ttwith - bitmap.Width) / 2 - 20;
+                //int heih = (ttheigh - bitmap.Height) / 2;
                 //姊濈⒓鐨勪綅缃�
-                e.Graphics.DrawImage(bitmap, new System.Drawing.Point(with, heih));
+                //e.Graphics.DrawImage(bitmap, new System.Drawing.Point(0, 0));
                 //姊濈⒓淇℃伅鏁稿瓧鐨勪綅缃�
-                e.Graphics.DrawString(numvalue, fntTxt, brush, new System.Drawing.Point(bitmap.Width / 4 + with - 10, heih + bitmap.Height + 5));
+                //e.Graphics.DrawString(numvalue, fntTxt, brush, new System.Drawing.Point(bitmap.Width / 4 + with - 10, heih + bitmap.Height + 5));
+
+
+                //e.Graphics.DrawImage(img, new Rectangle(25, 25, bmpwidth, bmpheight), new Rectangle(0, 0, img.Width, img.Height), GraphicsUnit.Pixel);
+                int Scale = 1;
+                int startX = 10;
+                int startY = 25;
+
+                int length = 320 * Scale;
+                int height = 160 * Scale;
+                var g = e.Graphics;
+
+                Font font = new Font("Arial", 8 * Scale);//璁剧疆瀛椾綋棰滆壊
+                Font font2 = new Font("Arial", 11 * Scale);//璁剧疆瀛椾綋棰滆壊
+                Font font3 = new Font("Arial", 36 * Scale);//璁剧疆瀛椾綋棰滆壊
+                Font font4 = new Font("Arial", 12 * Scale);//璁剧疆瀛椾綋棰滆壊
+
+
+                //SolidBrush brush = new SolidBrush(Color.Black);//鏂板缓涓�涓敾鍒�,鍒拌繖閲屼负姝�,鎴戜滑宸茬粡鍑嗗濂戒簡鐢绘澘銆佺敾鍒枫�佸拰鏁版嵁
+
+
+                Pen p = new Pen(Color.Black, Scale);//瀹氫箟浜嗕竴涓粦鑹�,瀹藉害涓�1鐨勭敾绗�
+                g.Clear(Color.White); //璁剧疆鐧借壊鑳屾櫙
+                                      //绗竴琛屾暟鎹�
+                g.DrawRectangle(p, startX * Scale, startY * Scale, 70 * Scale, 20 * Scale);//鍦ㄧ敾鏉夸笂鐢荤煩褰�,璧峰鍧愭爣涓�(10,10),瀹戒负80,楂樹负20
+                g.DrawRectangle(p, startX * Scale, startY * Scale, 280 * Scale, 20 * Scale);//鍦ㄧ敾鏉夸笂鐢荤煩褰�,璧峰鍧愭爣涓�(90,10),瀹戒负80,楂樹负20
+                g.DrawString("鍘傚晢", font, brush, (startX + 20) * Scale, (startY + 5) * Scale);//
+                g.DrawString("鍢夊桨绉戞妧", font2, brush, (startX + 140) * Scale, (startY + 4) * Scale);
+
+
+                //绗簩琛屾暟鎹�
+                g.DrawRectangle(p, startX * Scale, (startY + 20) * Scale, 70 * Scale, 20 * Scale);
+                g.DrawRectangle(p, startX * Scale, (startY + 20) * Scale, 280 * Scale, 20 * Scale);
+                g.DrawString("鍝佸悕", font, brush, (startX + 20) * Scale, (startY + 25) * Scale);
+                g.DrawString(@"COVER LG208H-RC100 #2", font4, brush, (startX + 71) * Scale, (startY + 22) * Scale);
+
+                //绗笁琛屾暟鎹�
+                g.DrawRectangle(p, startX * Scale, (startY + 40) * Scale, 70 * Scale, 20 * Scale);
+                g.DrawRectangle(p, startX * Scale, (startY + 40) * Scale, 280 * Scale, 20 * Scale);
+                g.DrawString("鏂欏彿", font, brush, (startX + 20) * Scale, (startY + 45) * Scale);
+                g.DrawString(@"436LG208I000", font2, brush, (startX + 130) * Scale, (startY + 43) * Scale);
+
+                //绗洓琛屾暟鎹�
+                g.DrawRectangle(p, startX * Scale, (startY + 60) * Scale, 70 * Scale, 20 * Scale);
+                g.DrawRectangle(p, startX * Scale, (startY + 60) * Scale, 210 * Scale, 20 * Scale);
+                g.DrawString("鏁伴噺", font, brush, (startX + 20) * Scale, (startY + 65) * Scale);
+                g.DrawString(@"50PCS", font2, brush, (startX + 120) * Scale, (startY + 62) * Scale);
+
+                //绗簲琛屾暟鎹�
+                g.DrawRectangle(p, startX * Scale, (startY + 80) * Scale, 70 * Scale, 20 * Scale);
+                g.DrawRectangle(p, startX * Scale, (startY + 80) * Scale, 210 * Scale, 20 * Scale);
+                g.DrawString("鐢熶骇鏃ユ湡", font, brush, (startX + 10) * Scale, (startY + 85) * Scale);
+                g.DrawString($"{DateTime.Now.ToString("yyyy.MM.dd")}", font2, brush, (startX + 105) * Scale, (startY + 82) * Scale);
+
+                //绗叚琛屾暟鎹�
+                g.DrawRectangle(p, startX * Scale, (startY + 100) * Scale, 70 * Scale, 20 * Scale);
+                g.DrawRectangle(p, startX * Scale, (startY + 100) * Scale, 140 * Scale, 20 * Scale);
+                g.DrawRectangle(p, startX * Scale, (startY + 100) * Scale, 210 * Scale, 20 * Scale);
+                g.DrawString("MARK1", font, brush, (startX + 15) * Scale, (startY + 104) * Scale);
+                g.DrawString("MARK2", font, brush, (startX + 155) * Scale, (startY + 104) * Scale);
+
+
+                //渚ч潰
+                g.DrawRectangle(p, (startX + 210) * Scale, (startY + 60) * Scale, 70 * Scale, 60 * Scale);
+                g.DrawString(@"#2", font3, brush, (startX + 210) * Scale, (startY + 62) * Scale);
+
+
+
 
             }
             catch (Exception ee)
@@ -153,11 +292,125 @@
             PrintPreviewDialog printPreviewDialog1 = new PrintPreviewDialog();
             this.printDocument1.DefaultPageSettings.PrinterSettings.PrinterName = "Honeywell PX240S (300 dpi)";
             this.printDocument1.DefaultPageSettings.PaperSize = new PaperSize("Custum", ttwith, ttheigh);
-            this.printDocument1.PrintPage += new PrintPageEventHandler(this.printDocument_Print);
+            //this.printDocument1.PrintPage += new PrintPageEventHandler(this.printDocument_Print);
             printPreviewDialog1.Document = printDocument1;
             DialogResult res = printPreviewDialog1.ShowDialog();
             printPreviewDialog1.Document.Dispose();
         }
+
+
+
+        public Bitmap getexcel()
+        {
+
+
+            int startX = 10;
+            int startY = 25;
+
+            int Scale = 1;
+
+            int length = 320 * Scale;
+            int height = 160 * Scale;
+
+            Bitmap bmp = new Bitmap(length, height);//, System.Drawing.Imaging.PixelFormat.Format32bppArgb);//鏂板缓涓�涓浘鐗囧璞�
+
+            //bmp.SetResolution(320, 160);
+
+            Graphics g = Graphics.FromImage(bmp);//鍒╃敤璇ュ浘鐗囧璞$敓鎴愨�滅敾鏉库��
+
+            Font font = new Font("Arial", 8 * Scale);//璁剧疆瀛椾綋棰滆壊
+            Font font2 = new Font("Arial", 11 * Scale);//璁剧疆瀛椾綋棰滆壊
+            Font font3 = new Font("Arial", 36 * Scale);//璁剧疆瀛椾綋棰滆壊
+            Font font4 = new Font("Arial", 12 * Scale);//璁剧疆瀛椾綋棰滆壊
+
+
+            SolidBrush brush = new SolidBrush(Color.Black);//鏂板缓涓�涓敾鍒�,鍒拌繖閲屼负姝�,鎴戜滑宸茬粡鍑嗗濂戒簡鐢绘澘銆佺敾鍒枫�佸拰鏁版嵁
+
+            //g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
+            //g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
+            //g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
+
+
+            //g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor;
+            //g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
+            //g.PixelOffsetMode = PixelOffsetMode.Half;
+
+
+            Pen p = new Pen(Color.Black, Scale);//瀹氫箟浜嗕竴涓粦鑹�,瀹藉害涓�1鐨勭敾绗�
+            g.Clear(Color.White); //璁剧疆鐧借壊鑳屾櫙
+            //绗竴琛屾暟鎹�
+            g.DrawRectangle(p, startX * Scale, startY * Scale, 70 * Scale, 20 * Scale);//鍦ㄧ敾鏉夸笂鐢荤煩褰�,璧峰鍧愭爣涓�(10,10),瀹戒负80,楂樹负20
+            g.DrawRectangle(p, startX * Scale, startY * Scale, 280 * Scale, 20 * Scale);//鍦ㄧ敾鏉夸笂鐢荤煩褰�,璧峰鍧愭爣涓�(90,10),瀹戒负80,楂樹负20
+            g.DrawString("鍘傚晢", font, brush, (startX + 20) * Scale, (startY + 5) * Scale);//
+            g.DrawString("鍢夊桨绉戞妧", font2, brush, (startX + 140) * Scale, (startY + 4) * Scale);
+
+
+            //绗簩琛屾暟鎹�
+            g.DrawRectangle(p, startX * Scale, (startY + 20) * Scale, 70 * Scale, 20 * Scale);
+            g.DrawRectangle(p, startX * Scale, (startY + 20) * Scale, 280 * Scale, 20 * Scale);
+            g.DrawString("鍝佸悕", font, brush, (startX + 20) * Scale, (startY + 25) * Scale);
+            g.DrawString(@"COVER LG208H-RC100 #2", font4, brush, (startX + 71) * Scale, (startY + 22) * Scale);
+
+            //绗笁琛屾暟鎹�
+            g.DrawRectangle(p, startX * Scale, (startY + 40) * Scale, 70 * Scale, 20 * Scale);
+            g.DrawRectangle(p, startX * Scale, (startY + 40) * Scale, 280 * Scale, 20 * Scale);
+            g.DrawString("鏂欏彿", font, brush, (startX + 20) * Scale, (startY + 45) * Scale);
+            g.DrawString(@"436LG208I000", font2, brush, (startX + 130) * Scale, (startY + 43) * Scale);
+
+            //绗洓琛屾暟鎹�
+            g.DrawRectangle(p, startX * Scale, (startY + 60) * Scale, 70 * Scale, 20 * Scale);
+            g.DrawRectangle(p, startX * Scale, (startY + 60) * Scale, 210 * Scale, 20 * Scale);
+            g.DrawString("鏁伴噺", font, brush, (startX + 20) * Scale, (startY + 65) * Scale);
+            g.DrawString(@"50PCS", font2, brush, (startX + 120) * Scale, (startY + 62) * Scale);
+
+            //绗簲琛屾暟鎹�
+            g.DrawRectangle(p, startX * Scale, (startY + 80) * Scale, 70 * Scale, 20 * Scale);
+            g.DrawRectangle(p, startX * Scale, (startY + 80) * Scale, 210 * Scale, 20 * Scale);
+            g.DrawString("鐢熶骇鏃ユ湡", font, brush, (startX + 10) * Scale, (startY + 85) * Scale);
+            g.DrawString($"{DateTime.Now.ToString("yyyy.MM.dd")}", font2, brush, (startX + 105) * Scale, (startY + 82) * Scale);
+
+            //绗叚琛屾暟鎹�
+            g.DrawRectangle(p, startX * Scale, (startY + 100) * Scale, 70 * Scale, 20 * Scale);
+            g.DrawRectangle(p, startX * Scale, (startY + 100) * Scale, 140 * Scale, 20 * Scale);
+            g.DrawRectangle(p, startX * Scale, (startY + 100) * Scale, 210 * Scale, 20 * Scale);
+            g.DrawString("MARK1", font, brush, (startX + 15) * Scale, (startY + 104) * Scale);
+            g.DrawString("MARK2", font, brush, (startX + 155) * Scale, (startY + 104) * Scale);
+
+
+            //渚ч潰
+            g.DrawRectangle(p, (startX + 210) * Scale, (startY + 60) * Scale, 70 * Scale, 60 * Scale);
+            g.DrawString(@"#2", font3, brush, (startX + 210) * Scale, (startY + 62) * Scale);
+
+
+
+
+
+            //Font font22 = new Font("Arial", 6);//璁剧疆瀛椾綋棰滆壊
+            //for (int i = 0; i < 32;i++) 
+            //{
+            //    g.DrawString(i.ToString(), font22, brush, 0, i*10);
+            //    g.DrawString(i.ToString(), font22, brush, i * 10, 0);
+            //}
+
+            //bmp.Save("E:/test.bmp");//淇濆瓨涓鸿緭鍑烘祦锛屽惁鍒欓〉闈笂鏄剧ず涓嶅嚭鏉�
+            g.Dispose();//閲婃斁鎺夎璧勬簮
+
+            bmp.SetResolution(105 * Scale, 105 * Scale);
+
+
+            return bmp;
+        }
+
+
+
+
+
+
+
+
+
+
+
 
         #region 
         [DllImport("winspool.drv", CharSet = CharSet.Auto, SetLastError = true)]
@@ -389,7 +642,7 @@
             int statuscode = GetPrinterStatusCodeInt();
             string status = GetPrinterStatusMessage(statuscode);
             //鍙湁鍦ㄦ墦鍗版満寮傚父鏃跺啀娆′笅鍙戞墦鍗颁换鍔″悗锛屾墠鑳借幏鍙栧埌鎵撳嵃鏈虹姸鎬併�傝繖鏄洜涓烘墦鍗版満椹卞姩绋嬪簭閫氬父鍙湪澶勭悊鎵撳嵃璇锋眰鏃舵洿鏂板叾鐘舵�佷俊鎭�傚鏋滄墦鍗版満娌℃湁鎺ユ敹鍒版柊鐨勬墦鍗颁换鍔★紝鍙兘鏃犳硶绔嬪嵆鍙嶆槧鍑虹湡瀹炵姸鎬併��
-            textBox2.Text = "taskNum:" + taskNum+ ",statuscode:"+ statuscode+",status:"+status;
+            textBox2.Text = "taskNum:" + taskNum + ",statuscode:" + statuscode + ",status:" + status;
         }
     }
 }

--
Gitblit v1.8.0