C# 驱动打印 小票 下面总是多出一大截,找不到原因
///吧台打印
void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
{
DataRow[] rows = dt.Select("id=" + thisid);
if (rows == null)
{
return;
}
if (rows.Length < 1)
{
return;
}
e.Graphics.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
e.Graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
string eat_people = rows[0]["eat_people"].ToString();
string order_no = rows[0]["order_no"].ToString();
string mobile = rows[0]["mobile"].ToString();
string eat_time = rows[0]["eat_time"].ToString();
Font drawFont = new Font("Arial", 9);
SolidBrush drawBrush = new SolidBrush(Color.Black);
float x = 3; float y = 3;
StringBuilder sb = new StringBuilder();
sb.Append( "渔人码头\n");
sb.Append("结账单\n");
sb.Append(" \n");
sb.Append("单号:" + order_no + "\n");
sb.Append("开台时间:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " \n");
sb.Append("收款员:" + lib.pubhelper.accountname + " 客人数:1" + "\n");
sb.Append("________________________________________________\n");
sb.Append("菜品名 单价 数量 金额\n");
sb.Append("________________________________________________\n");
decimal allprice = 0;
foreach (DataRow row in rows)
{
decimal price = decimal.Parse(row["real_price"].ToString()) * int.Parse(row["goods_nums"].ToString()) * decimal.Parse(row["discounts"].ToString());
allprice += price;
sb.Append(row["goods_name"].ToString() + " " + row["real_price"].ToString() + "x" + row["discounts"].ToString() + " " + row["goods_nums"].ToString() + " " + price.ToString("0.00") + "\n");
}
sb.Append("________________________________________________\n");
sb.Append("合计 " + allprice.ToString("0.00") + "\n");
sb.Append("单号:" + order_no + "\n");
sb.Append("用餐时间:" + eat_time + "\n");
sb.Append("用餐人数:" + eat_people + "\n");
sb.Append("联系电话:" + mobile + "\n");
sb.Append("______________________________________________\n");
sb.Append("实收金额: " + allprice.ToString("0.00") + "\n");
sb.Append("______________________________________________\n");
sb.Append("微信支付:" + allprice.ToString("0.00") + "\n");
sb.Append("感谢您的光临");
e.Graphics.DrawString(sb.ToString(), drawFont, drawBrush, x, y);
}
private void btnPrint_Click(object sender, EventArgs e)
{
string fileName = "ToPrint.txt";
printDocument1.DocumentName = fileName;
string filePath = @"D:\";
byte[] cuff = System.Text.Encoding.Default.GetBytes("test");
foreach (byte item in cuff)
{
stringToPrint += item.ToString();
}
this.printDocument1.DefaultPageSettings.Margins.Bottom = 0;
this.printDocument1.DefaultPageSettings.Margins.Top = 0;
this.printDocument1.DefaultPageSettings.Margins.Left = 0;
this.printDocument1.DefaultPageSettings.Margins.Right = 0;
this.printDocument1.Print();
}