private void HandlerNormalConfig(string normalConfig) { List <string> itemArr = new List <string>(); MatchCollection mc = Regex.Matches(normalConfig, @"\[([^\]]*)\]"); foreach (Match m in mc) { itemArr.Add(m.Groups[1].Value); } //处理每一项 foreach (string str in itemArr) { if (str.Contains("Line")) { foreach (PrintLine line in _curPrintConfig.PrintLines.LineList) { if (line.LineName == str) { int startPX = 0, endPX = 0; if (line.StartPX.IndexOf('%') > 0) { string strAlign = line.StartPX; string number = strAlign.Substring(0, strAlign.Length - 1); startPX = Convert.ToInt32(float.Parse(number) / 100f * _curPrintConfig.TotalCharNum); } else { startPX = int.Parse(line.StartPX.Trim()); } if (line.EndPX.IndexOf('%') > 0) { string strAlign = line.EndPX; string number = strAlign.Substring(0, strAlign.Length - 1); endPX = Convert.ToInt32(float.Parse(number) / 100f * _curPrintConfig.TotalCharNum); } else { endPX = int.Parse(line.EndPX.Trim()); } string text = ArrangeLinePosition(line.LineText, startPX, endPX); //打印设置 _printHelper.SetFontSize(0, 0); //_printHelper.SetCharSpacing(0); _printHelper.Write(text); break; } } } else { foreach (NormalConfig item in _curPrintConfig.NormalConfigs.NormalConfigList) { if (item.Name == str) { string itemName = item.ValuePrefix + _printData.GetValue(item.Name); int width = 0; if (item.Width.IndexOf('%') > 0) { string strWidth = item.Width; string number = strWidth.Substring(0, strWidth.Length - 1); width = Convert.ToInt32(float.Parse(number) / 100f * _curPrintConfig.TotalCharNum); } else { width = int.Parse(item.Width.Trim()); } TextAlign align; if (item.Align.Equals("Left", StringComparison.InvariantCultureIgnoreCase)) { align = TextAlign.Left; } else if (item.Align.Equals("Center", StringComparison.InvariantCultureIgnoreCase)) { align = TextAlign.Center; } else if (item.Align.Equals("Right", StringComparison.InvariantCultureIgnoreCase)) { align = TextAlign.Right; } else { align = TextAlign.Left; } string[] times = item.FontSize.Split(','); int widthTimes = int.Parse(times[0]); int heightTimes = int.Parse(times[1]); //打印设置 _printHelper.SetFontSize(widthTimes, heightTimes); //_printHelper.SetCharSpacing(0); _printHelper.Write(itemName, align, width); break; } } } } _printHelper.PrintAndFeedLines(1); }