Barcode Professional for XAML WinRT Windows Store Apps just released!

Barcode Pro for XAML WinRT (Windows Store Apps)

Today is great day! We’re proud to announce that our new Barcode Professional for XAML WinRT is now available!

You can start using Barcode Professional for XAML WinRT in your Windows Store Apps for adding barcode printing and generation capabilities. Barcode Pro for XAML WinRT can be used within Windows Store Apps developed with VB, C# or C++ in Visual Studio 2012 or the Expression edition for Windows 8!

Feel free to contact our experts for any kind of questions on our products.

Advertisements

Porting Barcode Professional to Windows 8 WinRT API

Our team has not stopped since the WebClientPrint product release and this time they are working on porting our first-class Barcode Professional product to the new Windows 8 WinRT API.

Neodynamic is the only company specialized in barcode technologies which provides GS1/ISO-IEC/AIM-compliance linear (1D), postal, 2D, stacked and composite barcode symbols to .NET developers and the new Windows Store applications market will need a first-class barcode solution for sure.

Let’s say you need to create high quality QR Code to stamp it on gift cards, invoices, etc within your Windows Store app. Or maybe you need to create and print barcode labels within your Windows Store app. Or the business reports need some kind of barcode being there. For any barcode needs you might have when developing your Windows Store apps, you can safely leverage them to Neodynamic’s Barcode Professional for XAML WinRT product.

The product will be available shortly so stay tuned!

Need to add barcodes in SQL Reporting Services 2012?

We’re proud to announce the availability of Barcode Professional 7.0 for the latest Microsoft SQL Server Reporting Services 2012! Barcode Professional for SSRS is the first third-party barcode solution supporting RS 2012 version.

Barcode Professional for RS brings you a new Barcode CRI (Custom Report Item) for supporting SQL Server Reporting Services 2012 edition which you can use within Visual Studio 2010 or the new SQL Server Data Tools 2012 (formerly Business Intelligent Development Studio a.k.a. BIDS) for adding high quality barcode images into your RDL server reports.

Barcode Professional supports most popular Linear (1D), Postal, MICR & 2D Symbologies/Standards all-in-one solution including Code 39, Code 128, GS1-128, GS1 DataBar (RSS-14), EAN 13 & UPC, Postal (USPS, British Royal Mail, Australia Post, DHL, etc.), Data Matrix, QR Code, PDF 417, Aztec Code, UPS MaxiCode, MICR E-13-B Characters, ALL EAN/UPC Composite Barcodes (CC-A, CC-B & CC-C) and many more barcode standards.

How to get it? Just download the installer from http://www.neodynamic.com/ND/Downloads.aspx?tabid=79&prodid=7

NOTE: Customers who bought Barcode Pro 7.0 for RS will get this update for free i.e. at no extra costs!!!

How to print barcode labels to Thermal printers from Silverlight

Silverlight 4 provides printing capabilities which allows you to print any visual element to the client’s machine installed printers. Although the printing capabilities in Silverlight 4 are somewhat limited (mainly because it only supports bitmap output printings) you can easly print barcode labels from your Silverlight app.

In this post, we’ll try to provide some guidelines about particular printers based on Thermal transfer technologies. To print barcode labels from your Silverlight app you need the following:

  • Code in your app the label design which can contain Texts, Shapes like rects, ovals, etc. and barcodes. Texts & Shapes are already available from Silverlight framework through TextBlock, Rectangle, Ellipse, Paths, etc classes. However, barcodes are not and you will need a third-party component for such task or write your own encoder. Neodynamic launched the first barcode component for Silverlight platform which fully leverages the vector engine and produce high quality barcodes for all symbologies used today like linears (Code 39, Code 128, EAN-13/UPC-A, ISBN, GS1-128 formerlly UCC-EAN/128, GS1 DataBar, etc), postals (USPS Intelligent Mail, Royal Mail Barcode, etc), 2D (Data Matrix, QR Code, Aztec Code, PDF417, MaxiCode, etc) and MICR (E-13-B)
  • You need a Thermal printer. Any printer brand (Zebra, Datamax, Sato, Intermec, Samsung-Bixolon, Toshiba TEC, Wasp, Citizen, Printronix, Avery-Dennison, CognitiveTPG, Dymo, Epson, Ithaca, Monarch, O-Neil, Primera, TSC, Unitech) can be used if the manufacturer provides you a Windows driver which must be installed on the client machine.

The following simple Silverlight app displays a “static” barcode label design and allows the user to print it to their thermal printer. The label design is static for simplicity but you can create dynamic barcode labels based on your business/dev needs.

One important thing you need to keep in mind is the physical size of your labels. You must translate it to the visual element which in this case is the Canvas class of Silvelright framework. Canvas size must be specified in DIU (device independent unit) while real labels are measure in Inches, Millimiters or Centimeters. The conversion from real units to DIU is very straightforward. In Silverlight, 1 DIU = 1/96 inch. So if your labels are 4in x 3in, then the Canvas element must be set up to 384 (Width) and 288 (Height). The code below uses this label size but you can change it if needed.

Another important thing is the Thermal printer calibration. If your printer is not correctly calibrated, then is possible that your labels be printed outisde of the available area or cut off somehow. Most printer drivers provide you an option for doing printer calibration. After calibration, the printer can automatically recognize the label size currently loaded on the media roll and your printings from Silverlight will be fine.

This is the screenshot of the “static” label on the Silverlight app sample:
Visual Studio 2010 Silverlight app for printing barcode labels to thermal printers

This is a screenshot of the Silverlight page in VS 2010 showing the barcode label design. It contains some TextBlock and Shapes objects as well as two instances of Barcode Professional for Silverlight, one for a simple Code 39 linear barcode and the other one for a 2D Data Matrix.

There’s also a Print button which allows printing the barcode label to the printer. Remember that in Silverlight, all printing job must be user-instantiated.

To reproduce this sample:

  • Download/install Barcode Professional for Silverlight
  • Open VS 2010 and create a new Silverlight 4 Application project (C#) naming it PrintingBarcodeLabelsCS NOTE: The following sample was made in C# bu can be easily translated to VB if needed.
  • Add a reference to Neodynamic.Silverlight.Barcode.dll
  • Open the MainPage.xaml file and paste the following XAML markup

    <UserControl xmlns:my="clr-namespace:Neodynamic.Silverlight;assembly=Neodynamic.Silverlight.Barcode"  x:Class="PrintingBarcodeLabelsCS.MainPage"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        mc:Ignorable="d"
        d:DesignHeight="368" d:DesignWidth="508">
    
        <Grid x:Name="LayoutRoot" Background="White">
            <Grid.RowDefinitions>
                <RowDefinition Height="40*" />
                <RowDefinition Height="260*" />
            </Grid.RowDefinitions>
            <StackPanel Orientation="Horizontal">
                <TextBlock Text="Printing Barcode Labels" FontSize="16" FontWeight="Bold" Margin="10"></TextBlock>
                <Button Name="btnPrint" Height="30" Width="50" Click="btnPrint_Click">Print</Button>
            </StackPanel>
            <Border Grid.Row="1" BorderBrush="Gray" BorderThickness="2" Background="Silver">
                <Canvas Name="myLabel" Width="384" Height="288" Background="White">
                    <my:BarcodeProfessional Canvas.Left="17" Canvas.Top="60" />
                    <my:BarcodeProfessional Symbology="DataMatrix" Code="A 2D barcode here" Canvas.Left="257" Canvas.Top="184" />
                    <TextBlock Canvas.Left="17" Canvas.Top="16" Height="23" Name="textBlock1" Text="This is a sample text" FontSize="14" FontWeight="Bold" />
                    <TextBlock Canvas.Left="17" Canvas.Top="133" Height="23" Name="textBlock2" Text="More text here and some shapes below" />
                    <Rectangle Canvas.Left="17" Canvas.Top="162" Height="49" Name="rectangle1" Stroke="Black" StrokeThickness="1" Width="113" />
                    <Ellipse Canvas.Left="97" Canvas.Top="178" Height="78" Name="ellipse1" Stroke="Black" StrokeThickness="1" Width="133" />
                </Canvas>
            </Border>
        </Grid>
    </UserControl>
    

  • Open the MainPage.xaml.cs file and paste the following code

    using System;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Shapes;
    using System.Windows.Printing;
    
    namespace PrintingBarcodeLabelsCS
    {
        public partial class MainPage : UserControl
        {
            public MainPage()
            {
                InitializeComponent();
            }
    
            PrintDocument pd;
            private void btnPrint_Click(object sender, RoutedEventArgs e)
            {
                pd = new PrintDocument();            
                pd.PrintPage += new EventHandler<PrintPageEventArgs>(pd_PrintPage);
                pd.Print("BarcodeLabel");
            }
    
            void pd_PrintPage(object sender, PrintPageEventArgs e)
            {
                e.PageVisual = myLabel;
            }
        }
    }
    

We tested it with a Zebra thermal printer and the output printing was the following label.
A barcode label printed from Silverlight to a Zebra thermal printer

If you had any question just contact our tech support

Barcode Professional 2.0 for Silverlight just released!

We’re very proud to announce the availability of Barcode Professional 2.0 for Silverlight. This new major release added support for GS1 Data Matrix, MICR E-13-B, all the EAN.UCC Composite family as well as some enhancements to QR Code, Aztec Code & Data Matrix which now support ECI (Extended Channel Interpretation) & FNC1 (For further details, please refer to our post GS1 Data Matrix, MICR E-13-B and EAN.UCC Composite added to Barcode Professional product lines)

Barcode Professional 2.0 targets Silverlight 4.0 and will target the recently announced Silverlight 5.0 (when it becomes available to the market in 2011)

Regarding the future features on Silverlight 5.0, one particulary interesting for our product is the “Postscript vector printing” which will allow LOB apps to take full advantage of it for generating high quality output report printings.

Download now Barcode Professional 2.0 for Silverlight and give it a try!

GS1 Data Matrix, MICR E-13-B and EAN.UCC Composite added to Barcode Professional product lines

We are finishing the launch of our Barcode Professional product lines in all platforms (ASP.NET, Windows Forms, Reporting Services, WPF & Silverlight). This time, these major releases added support for GS1 Data Matrix, MICR E-13-B, all the EAN.UCC Composite family as well as some enhancements to QR Code, Aztec Code & Data Matrix which now support ECI (Extended Channel Interpretation) & FNC1

With these new versions, our Barcode Professional is one of the most complete packages out there supporting all Linear, Postal, MICR and 2D barcode standards.

Regarding the new symbologies, one that was interested to design and develop was MICR E-13-B (Magnetic Ink Character Recognition). In fact, this “barcode” is not made of bars but are specially designed characters and symbols intended to be used in financial markets and the like.

You will see that most MICR E-13-B offers from competitors are just font files (TrueType TTF, Open Type, etc) a.k.a. fontware products. And this could sound logic based on the fact that MICR E-13-B is mainly a set characters and symbols. However, we went for another approach and the MICR E-13-B solution you will find in our Barcode Professional product is ALL rendered/drew by using .NET Drawing classes!!!

Why did Neodynamic choose drawing each character/symbol with .NET Drawing classes and not just pick up a font for it?

The answer is because we know about the .NET dev needs our customers face every day. The barcode font file approach has the following cons:

  • Fonts require registration in the Windows Fonts folder. You need to consider this when deploying your app. In addition, users can delete the font and break your app functionality.
  • Fonts do not scale well
  • Fonts do not support rotation

Sincerely, write the routines for drawing EACH character/symbol of MICR E-13-B was a big task using .NET System.Drawing (GDI+) for Windows Forms & ASP.NET editions of Barcode Professional, and not to mention for WPF & Silverlight where they are rendered using geometries available in those vector-based platforms. Anyway, we’re very happy with the end result and hope it helps you with your dev needs.

To conclude, here is the list of new additions for all Barcode Professional editions:

  • New! Barcode Symbologies added:
    • GS1 DataMatrix (You can now use Data Matrix for encoding GS1 GTINs and any other number of Application Identifiers (AI))
    • MICR E-13-B (It’s not a font! All characters are generated using .NET drawing engine)
    • ALL EAN.UCC Composite Barcodes:
      • EAN-13 with CC-A/CC-B
      • EAN-8 with CC-A/CC-B
      • UPC-A with CC-A/CC-B
      • UPC-E with CC-A/CC-B
      • GS1 128 (UCC/EAN-128) with CC-A/CC-B/CC-C
      • GS1 DataBar Omnidirectional (RSS14) with CC-A/CCB
      • GS1 DataBar Truncated (RSS14 Truncated) with CC-A/CCB
      • GS1 DataBar Stacked (RSS14 Stacked) with CC-A/CCB
      • GS1 DataBar Stacked Omnidirectional (RSS14 Stacked Omnidirectional) with CC-A/CCB
      • GS1 DataBar Limited (RSS Limited) with CC-A/CCB
      • GS1 DataBar Expanded (RSS Expanded) with CC-A/CCB
      • GS1 DataBar Expanded Stacked (RSS Expanded Stacked) with CC-A/CCB
    • USPS Intelligent Mail Container Barcode
    • Australia Post Domestic eParcel Barcode
    • Kodak Patch Code
  • Improved! Data Matrix:
    • Fixed some bugs when using Auto encoding, ECI (Extended Channel Interpretation) and Structured Append features.
    • Added three new properties for Structured Append feature.
  • Improved! QR Code:
    • Added support for FNC1. You can now use QR Code for encoding GS1 GTINs and any other number of Application Identifiers (AI)
    • Added support for ECI (Extended Channel Interpretation)
    • Added new way for encoding data using tilde char. This allows you to easily specify byte values in dec/hex notations as well as Kanji double byte chars, ECI and FNC1.
  • Improved! Aztec Code:
    • Added support for FNC1. You can now use Aztec Code for encoding GS1 GTINs and any other number of Application Identifiers (AI)
    • Added support for ECI (Extended Channel Interpretation)
    • Added new way for encoding data using tilde char. This allows you to easily specify byte values in dec/hex notations, ECI as well as FNC1.
  • Improved! UPC-A and UPC-E:
    • Now you can specify 6-digits for UPC-E codes that will also be automatically converted back to UPC-A when using that barcode symbology.
  • New!
    BarcodeUtils class offering different methods for calculating most popular Checksum/Check-digit available on barcode symbologies

Available in: