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); }
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; } }