الأربعاء، 25 يناير 2012

Printing BarCodes in Silverlight

Well I tought this was gonna be more difficult, but no. The Silverlight community is great and there are tons of
of  code out there.

So I found a great project in codeplex called obviously http://silverlightbarcode.codeplex.com/

And printing barcode with that library is a peace of cake.

Just do something like this:

 

private void button1_Click(object sender, RoutedEventArgs e) {     var p = new PrintDocument();     p.PrintPage += new EventHandler<PrintPageEventArgs>(p_PrintPage);     p.Print("NuevoDocument"); }  void p_PrintPage(object sender, PrintPageEventArgs e) {     Canvas canvasBarCode = new Canvas();     canvasBarCode.Width = 200;     canvasBarCode.Height = 200;     Me.BarcodeSoftware.Barcode.Barcodes barcode =             new Me.BarcodeSoftware.Barcode.Barcodes();     barcode.BarcodeType =                           Me.BarcodeSoftware.Barcode.Barcodes.BarcodeEnum.Code39;     barcode.Data = "123456";     barcode.encode();     string encodedData = barcode.EncodedData;     //if you want to put the barcode number          // add a label to canvas and set text to barcode.HumanText;      int encodedLength = 0;     for (int x = 0; x < encodedData.Length; x++)     {         if (encodedData[x] == 't')             encodedLength++;         else if (encodedData[x] == 'w')             encodedLength = encodedLength + 3;     }      float barWidth = (float)(canvasBarCode.Width / encodedLength);      if (barWidth < 1) barWidth = 1;     float thickWidth = barWidth * 3;     double incrementWidth = 0;      int swing = 0;     for (int x = 0; x < encodedData.Length; x++)     {         Brush brush;         if (swing == 0)             brush = new SolidColorBrush(Colors.Black);         else             brush = new SolidColorBrush(Colors.White);          if (encodedData[x] == 't')         {             Rectangle r = new Rectangle();             r.Fill = brush;             r.Width = barWidth;             r.Height = canvasBarCode.Height;             r.SetValue(Canvas.LeftProperty, incrementWidth);             r.SetValue(Canvas.TopProperty, 0.0);             canvasBarCode.Children.Add(r);             incrementWidth = incrementWidth + ((barWidth));         }         else if (encodedData[x] == 'w')         {             Rectangle r = new Rectangle();             r.Fill = brush;             r.Width = 3 * barWidth;             r.Height = canvasBarCode.Height;             r.SetValue(Canvas.LeftProperty, incrementWidth);             r.SetValue(Canvas.TopProperty, 0.0);             canvasBarCode.Children.Add(r);             incrementWidth = incrementWidth + (3 * (barWidth));         }          if (swing == 0)            swing = 1;         else            swing = 0;     }     e.PageVisual = canvasBarCode;     e.HasMorePages = false;  } 

Source: http://blogs.artinsoft.net/Mrojas/archive/2012/01/19/Printing-BarCodes-in-Silverlight.aspx

how to make a forum how to make forums how to make a signature for forums how to make your own forums how to program a forum how to program forum rock band forums are forum how to find email addresses how to email large files

ليست هناك تعليقات:

إرسال تعليق