/// <summary> /// 打印左右对齐的行 /// </summary> /// <param name="left"></param> /// <param name="right"></param> /// <returns></returns> private byte[] PrintLineLeftRight(string left, string right, int fontSize = 1) { var zhLeft = PrinterCmdUtils.CalcZhQuantity(left); // 左边文本的中文字符长度 var enLeft = left.Length - zhLeft; // 左边文本的其他字符长度 var zhRight = PrinterCmdUtils.CalcZhQuantity(right); // 右边文本的中文字符长度 var enRight = right.Length - zhRight; // 右边文本的其他字符长度 var len = FormatLen - ((zhLeft * 2 + enLeft + zhRight * 2 + enRight) * fontSize); // 缺少的字符长度 if (len > 0) { for (int i = 0; i < len / fontSize; i++) { left += " "; } } else { var times = 1; while (true) { if (FormatLen * times + len > 0) { break; } times++; } for (int i = 0; i < (FormatLen * times + len) / fontSize; i++) { left += " "; } } return(TextToByte(left + right)); }