/// <summary> /// 打印条码 /// </summary> /// <param name="pageWidth">页宽度</param> /// <param name="pageHeight">页高度</param> /// <param name="item">打印条码明细</param> public void DrawBarcode(int pageWidth, int pageHeight, DrawBarcode1DItem item) { var coordinate = Helper.GetBarcodeCoordinate(item); var cmd = Helper.GetBarcodeRotateCommand(item.Rotate); Writer.WriteLine( $"{cmd} {item.Type} {item.LineWidth} {item.Ratio} {item.Height} {coordinate.x} {coordinate.y} {item.Text}"); }
/// <summary> /// 打印一维条码 /// </summary> /// <param name="type">类型</param> /// <param name="x">条码起始x坐标</param> /// <param name="y">条码起始y坐标</param> /// <param name="text">条码内容</param> /// <param name="lineWidth">线宽</param> /// <param name="height">高度</param> /// <param name="rotate">旋转角度</param> /// <param name="ratio">宽条与窄条的比率</param> public ZicoxPrintClient DrawBarcode1D(string type, int x, int y, string text, int lineWidth, int height, int rotate, int ratio) { var item = new DrawBarcode1DItem() { Type = type, X = x, Y = y, Text = text, LineWidth = lineWidth, Height = height, Rotate = rotate, Ratio = ratio, }; this.BarcodeList.Add(item); return(this); }
/// <summary> /// 获取条码起始坐标 /// </summary> /// <param name="item">条码明细</param> public static (int x, int y) GetBarcodeCoordinate(DrawBarcode1DItem item) => GetBarcodeCoordinate(item.Rotate, item.X, item.Y, 0, item.Height);