示例#1
0
 private void DrawText(string text, int x, int y, int fontSize, int fontSpin, string font = "Arial")
 {
     PrinterApi.ZM_DrawTextTrueTypeW(x, y, fontSize, 0, font, fontSpin, 400, false, false, false, "A2", text);
 }
示例#2
0
        public void PrintByType(int type, string barCode, string productName, decimal price, string unit = "")
        {
            var name1 = string.Empty;
            var name2 = string.Empty;

            if (productName.Length <= 8)
            {
                name1 = productName;
            }
            else
            {
                name1 = productName.Substring(0, 8);
                name2 = productName.Substring(8, productName.Length - 8);
            }
            switch (type)
            {
            case 1:
                PrinterApi.ZM_DrawTextTrueTypeW(640, 100, 25, 0, "Arial", 8, 600, false, false, false, "A1", name1);
                PrinterApi.ZM_DrawTextTrueTypeW(615, 100, 25, 0, "Arial", 8, 600, false, false, false, "A2", name2);
                if (price >= 1000)
                {
                    PrinterApi.ZM_DrawTextTrueTypeW(580, 100, 25, 0, "Arial", 8, 600, false, false, false, "A3", "售价:" + price.ToString("f2"));
                }
                else
                {
                    PrinterApi.ZM_DrawTextTrueTypeW(580, 100, 30, 0, "Arial", 8, 600, false, false, false, "A3", "售价:" + price.ToString("f2"));
                }
                if (barCode.Length > 12)
                {
                    PrinterApi.ZM_DrawBarcode(470, 180, 3, "1", 1, 2, 50, 'B', barCode);
                }
                else if (barCode.Length > 8)
                {
                    PrinterApi.ZM_DrawBarcode(470, 180, 3, "1A", 1, 2, 50, 'B', barCode);
                }
                else
                {
                    PrinterApi.ZM_DrawBarcode(470, 180, 3, "1", 2, 2, 50, 'B', barCode);
                }
                break;

            case 2:
                if (price >= 1000)
                {
                    PrinterApi.ZM_DrawTextTrueTypeW(540, 10, 25, 0, "Arial", 7, 400, false, false, false, "A1", "售价:" + price.ToString("f2"));
                }
                else
                {
                    PrinterApi.ZM_DrawTextTrueTypeW(540, 10, 30, 0, "Arial", 7, 400, false, false, false, "A1", "售价:" + price.ToString("f2"));
                }
                PrinterApi.ZM_DrawTextTrueTypeW(525, 40, 24, 0, "Arial", 7, 400, false, false, false, "A2", name2);
                PrinterApi.ZM_DrawTextTrueTypeW(525, 65, 24, 0, "Arial", 7, 400, false, false, false, "A3", name1);
                if (barCode.Length > 12)
                {
                    PrinterApi.ZM_DrawBarcode(600, 175, 2, "1", 1, 2, 50, 'B', barCode);
                }
                else if (barCode.Length > 8)
                {
                    PrinterApi.ZM_DrawBarcode(600, 175, 2, "1A", 1, 2, 50, 'B', barCode);
                }
                else
                {
                    PrinterApi.ZM_DrawBarcode(600, 175, 2, "1", 2, 2, 50, 'B', barCode);
                }

                break;

            case 3:
                if (barCode.Length > 12)
                {
                    PrinterApi.ZM_DrawBarcode(520, 10, 0, "1", 1, 2, 40, 'B', barCode);
                }
                else if (barCode.Length > 8)
                {
                    PrinterApi.ZM_DrawBarcode(520, 10, 0, "1A", 1, 2, 40, 'B', barCode);
                }
                else
                {
                    PrinterApi.ZM_DrawBarcode(520, 10, 0, "1", 2, 2, 40, 'B', barCode);
                }
                PrinterApi.ZM_DrawTextTrueTypeW(600, 110, 25, 0, "Arial", 5, 400, false, false, false, "A1", name1);
                PrinterApi.ZM_DrawTextTrueTypeW(600, 135, 25, 0, "Arial", 5, 400, false, false, false, "A2", name2);
                if (price >= 1000)
                {
                    PrinterApi.ZM_DrawTextTrueTypeW(590, 160, 25, 0, "Arial", 5, 400, false, false, false, "A3", price.ToString("f2") + unit);
                }
                else
                {
                    PrinterApi.ZM_DrawTextTrueTypeW(590, 160, 30, 0, "Arial", 5, 400, false, false, false, "A3", price.ToString("f2") + unit);
                }


                break;
            }
        }