2013-05-06 3 views
0

Je crée un système de point de vente dans WPF. Je souhaite imprimer une facture lors de l'exécution d'une commande. Les données seront fournies à partir d'un TextBox for Invoice: txtinvoices, txtQty, txtTotalPrice, txtAmountPaid et txtDate sont des zones de texte que je veux imprimer sur les factures. Il y a également une image de code-barres pour chaque commande requise pour imprimer sur une facture.Comment imprimer une facture à partir de contrôles WPF

Je peux tout imprimer en utilisant un document de flux. Mais je suis incapable d'imprimer cette image de code-barres.

//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; 

Quelqu'un peut-il m'aider avec l'impression dans WPF?

Répondre

0

Du haut de la tête, utilisez le code ci-dessous (n'est pas testé).

//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. 
+0

Je ne sais pas pourquoi mais il me donne l'erreur Erreur: ne peut pas convertir implicitement le type « System.Windows.Media.Imaging.WriteableBitmap » à « System.Drawing.Bitmap » –