C# 驱动打印 小票 下面总是多出一大截,找不到原因

a754992265 2017-12-19 10:50:24
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();
}
...全文
496 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
printDocument1 document也是有纸张设置的,你自己也要设置好。
  • 打赏
  • 举报
回复
引用 10 楼 a754992265 的回复:
[quote=引用 9 楼 xuzuning 的回复:] 真有趣!给了你正确的方法不用,却偏要走偏门 在设备设置里把打印后空走纸改小点或者是直接改成0,确认后就不会有空白出纸了。
没看到,我设置的是3mm? 还是有很大的空白呀。[/quote] 如果这个设置小了没变化,自己看看你打印输出的是什么,是不是有输出空行。
a754992265 2017-12-21
  • 打赏
  • 举报
回复
引用 9 楼 xuzuning 的回复:
真有趣!给了你正确的方法不用,却偏要走偏门 在设备设置里把打印后空走纸改小点或者是直接改成0,确认后就不会有空白出纸了。
没看到,我设置的是3mm? 还是有很大的空白呀。
xuzuning 2017-12-19
  • 打赏
  • 举报
回复
a754992265 2017-12-19
  • 打赏
  • 举报
回复
引用 2 楼 yangliu0512 的回复:
这是打印机设置的问题,打印机首选项里,设置一下纸张尺寸
我这个是调用的POS58小票打印机。需要怎么设置呢?
a754992265 2017-12-19
  • 打赏
  • 举报
回复
引用 1 楼 xomix 的回复:
打印机纸张设置看看
怎么设置呀,我是直接出单的,不是手动出单。
FainSheeg 2017-12-19
  • 打赏
  • 举报
回复
这是打印机设置的问题,打印机首选项里,设置一下纸张尺寸
  • 打赏
  • 举报
回复
打印机纸张设置看看
xuzuning 2017-12-19
  • 打赏
  • 举报
回复
真有趣!给了你正确的方法不用,却偏要走偏门
在设备设置里把打印后空走纸改小点或者是直接改成0,确认后就不会有空白出纸了。
a754992265 2017-12-19
  • 打赏
  • 举报
回复
引用 6 楼 xfcxujiang 的回复:
纸张设置的问题


设置的是这样,还是有一大块空白

杀马特丶蛮牛 2017-12-19
  • 打赏
  • 举报
回复
打印机有走纸指令的吧,连续纸应该有开始和结束指令 非连续纸的话有走纸到下一个标签起始处的指令的,问下厂家吧
xfcxujiang 2017-12-19
  • 打赏
  • 举报
回复
纸张设置的问题

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧