#region BarcodeStandard.dll
/*
*
* 使用说明
需要通过NuGet进行安装BarcodeLib.dll,必不可少
*/
string inputString;
/// <summary>
/// 获取所以打印机驱动名称
/// </summary>
private void getPrintDocumentlist()
{
PrintDocument print = new PrintDocument();
string sDefault = print.PrinterSettings.PrinterName;//默认打印机名
comboBox_drive.Items.Add(sDefault);
comboBox_drive.Text = sDefault;//显示默认驱动名称
foreach (string sPrint in PrinterSettings.InstalledPrinters)//获取所有打印机名称
{
if (sPrint != sDefault)
{
comboBox_drive.Items.Add(sPrint);
}
}
}
/// <summary>
/// 打印绘制
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
{
Font titleFont = new Font("宋体", 9, FontStyle.Bold);//标题字体
Font fntTxt = new Font("宋体", 9, FontStyle.Regular);//正文文字
Brush brush = new SolidBrush(Color.Black);//画刷
Pen pen = new Pen(Color.Black); //线条颜色
Point po = new Point(10, 10);
try
{
//画String
e.Graphics.DrawString(GetPrintSW().ToString(), titleFont, brush, po);//打印内容
//画横线
//Point[] point = { new Point(20, 50), new Point(200, 50) };//纵坐标不变
//e.Graphics.DrawLines(pen, point);
//画竖线
//Point[] points1 = { new Point(60, 70), new Point(60, 70 + 40) };//横坐标不变
//e.Graphics.DrawLines(pen, points1);
//画矩形
//e.Graphics.DrawRectangle(pen, 20, 70, 90, 90);
}
catch (Exception ex)
{
MessageBox.Show(this, "打印出错!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
/// <summary>
/// 获取打印内容
/// </summary>
/// <returns></returns>
public StringBuilder GetPrintSW()
{
StringBuilder sb = new StringBuilder();
string tou = "XXXXXX科技有限公司";
string address = "安徽省合肥市瑶海区";
string saleID = "100010000001"; //单号
string item = "项目";
decimal price = 25.00M;
int count = 5;
decimal total = 0.00M;
decimal fukuan = 500.00M;
sb.AppendLine(" " + tou + " \n");
sb.AppendLine("-----------------------------------------");
sb.AppendLine("日期:" + DateTime.Now.ToShortDateString() + " " + "单号:" + saleID);
sb.AppendLine("-----------------------------------------");
sb.AppendLine("项目" + " " + "数量" + " " + "单价" + " " + "小计");
for (int i = 0; i < count; i++)
{
decimal xiaoji = (i + 1) * price;
sb.AppendLine(item + (i + 1) + " " + (i + 1) + " " + price + " " + xiaoji);
total += xiaoji;
}
sb.AppendLine("-----------------------------------------");
sb.AppendLine("数量:" + count + " 合计: " + total);
sb.AppendLine("付款:" + fukuan);
sb.AppendLine("现金找零:" + (fukuan - total));
sb.AppendLine("-----------------------------------------");
sb.AppendLine("地址:" + address + "");
sb.AppendLine("电话:130000000000");
sb.AppendLine("谢谢惠顾欢迎下次光临!");
sb.AppendLine("-----------------------------------------");
return sb;
}
/// <summary>
/// 生成条形码
/// </summary>
/// <param name="content">内容</param>
/// <returns></returns>
public static Image GenerateBarCodeBitmap(string content)
{
using (var barcode = new Barcode()
{
IncludeLabel = true,
Alignment = AlignmentPositions.CENTER,
Width = 250,
Height = 100,
RotateFlipType = RotateFlipType.RotateNoneFlipNone,
BackColor = Color.White,
ForeColor = Color.Black,
})
{
return barcode.Encode(TYPE.CODE128B, content);
}
}
#endregion