如何从WPF控件打印发票

时间:2013-05-06 18:47:56

标签: wpf image barcode-printing

我正在WPF中创建一个销售点系统。我想在订单完成时打印发票。数据将从发票的文本框中提供:txtinvoicestxtQtytxtTotalPricetxtAmountPaidtxtDate是我想要在发票上打印的一些文本框。每张订单上都有一个条形码图像,可以在发票上打印。

我可以使用流文档打印所有内容。但是我无法打印这个条形码图像。

//InvoiceID Generate
txtInvoiceID.Text = DateTime.Now.ToString("sMMHHmyyyydd" + userId);
//Barcode Generation
BarcodeEncoder enc = new BarcodeEncoder();
WriteableBitmap image = enc.Encode(BarcodeFormat.Code39, txtInvoiceID.Text);
barCodeImage.Source = image; 

任何人都可以帮助我在WPF中打印吗?

1 个答案:

答案 0 :(得分:0)

从头顶开始,使用下面的代码(未经过测试)。

//InvoiceID Generate
txtInvoiceID.Text = DateTime.Now.ToString("sMMHHmyyyydd" + userId);
//Barcode Generation
BarcodeEncoder enc = new BarcodeEncoder();

System.Windows.Controls.Image imgBarCode = new System.Windows.Controls.Image();
System.Drawing.Bitmap bm = enc.Encode(BarcodeFormat.Code39, txtInvoiceID.Text);  

using (MemoryStream ms = new MemoryStream())
  {               
   bm.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
   byte[] byteImage = ms.ToArray();
   Convert.ToBase64String(byteImage);
   imgBarCode.ImageUrl = "data:image/png;base64," + Convert.ToBase64String(byteImage);
   } 

// do whatever you want with imgBarCode now.