Articles in this section
Category / Section

How to print barcode on a printer using C# and VB.NET

4 mins read

The Syncfusion Essential Barcode control is used to create various types of barcodes. Using this control, you can print barcode on a printer using C# and VB.NET.

Steps to print barcode on a printer programmatically:

  1. Create a new C# Windows Forms application project.

Create console application in visual studio

  1. Install the Syncfusion.SfBarcode.Windows NuGet package as reference to your .NET Framework application from NuGet.org.

Refer NuGet package to the project

  1. The SfBarcode control can be added to the application by dragging it from toolbox and dropping in designer. The required assembly references will be added automatically.

Added the application by dragging it from toolbox and dropping in designer.

  1. Use the following code snippet to load and print barcode on a printer.

       C#

public Form1()
{
    InitializeComponent();
    //Set text to the encode
    this.sfBarcode1.Text = "Syncfusion Essential Studio® Enterprise edition $995";
}
private void button1_Click(object sender, EventArgs e)
{
    //Create a PrintDocument object  
    PrintDocument pd = new PrintDocument();
    //Add PrintPage event handler  
    pd.PrintPage += new PrintPageEventHandler(this.PrintTextFileHandler);
    //Call Print Method  
    pd.Print();
}
private void PrintTextFileHandler(object sender, PrintPageEventArgs eventArgs)
{
    int size = eventArgs.MarginBounds.Width;
    //Create a graphics with the size of the printer page's width
    Bitmap imageToPr = new Bitmap(size, size);
    Graphics graphics = Graphics.FromImage(imageToPr);
    graphics.DrawImage(sfBarcode1.ToImage(sfBarcode1.Size), new Rectangle(0, 0, size, size));
    //Draw barcode image into the printer graphics
    eventArgs.Graphics.DrawImage(imageToPr, new Rectangle((int)eventArgs.MarginBounds.Left, (int)eventArgs.MarginBounds.Top, imageToPr.Width, imageToPr.Height), 0, 0, size, size, GraphicsUnit.Pixel);
}

 

       VB.NET

Sub New()
    InitializeComponent()
    sfBarcode1.Text = "http://www.google.com"
End Sub
Sub button1_Click(sender As Object, eventArgs As EventArgs)
    'Create a PrintDocument object
    Dim pd As New PrintDocument()
    'Add PrintPage event handler
    AddHandler pd.PrintPage, New PrintPageEventHandler(AddressOf PrintTextFileHandler)
    'Call Print Method
    pd.Print()
End Sub
Private Sub PrintTextFileHandler(sender As Object, eventArgs As PrintPageEventArgs)
    Dim size As Integer = eventArgs.MarginBounds.Width
    'Create a graphics with the size of the printer page's width
    Dim imageToPr As New Bitmap(size, size)
    Dim graphics__1 As Graphics = Graphics.FromImage(imageToPr)
    graphics__1.DrawImage(sfBarcode1.ToImage(sfBarcode1.Size), New Rectangle(0, 0, size, size))
    Dim rect As RectangleF = New Rectangle(CInt(eventArgs.MarginBounds.Left), CInt(eventArgs.MarginBounds.Top), imageToPr.Width, imageToPr.Height)
    'Draw barcode image into the printer graphics
    eventArgs.Graphics.DrawImage(imageToPr, rect, 0, 0, size, size,
GraphicsUnit.Pixel)
End Sub

 

A complete working sample can be downloaded from PrintBarcodeOnPrinter.zip.

Take a moment to peruse the documentation for Barcode, where you will find other options like creating one and two dimensional barcodes.

Refer here to explore the Syncfusion Essential Barcode control for Windows Forms.

An online sample link to create one and two dimensional barcode.

Note:

Starting with v16.2.0.x, if you reference Syncfusion assemblies from trial setup or from the NuGet feed, include a license key in your projects. Refer to link to learn about generating and registering Syncfusion license key in your application to use the components without trail message.

 

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (1)
Please  to leave a comment
RB
Rajasekaran Bose

I'm using visual studio 2010... Can u give me a idea to print barcode form with multiple entries?

RB
Ravikumar Baladhandapani

Hi Rajasekaran,

Thank you for contacting Syncfusion support.

Currently, we are analyzing your requirement with barcode in our end and we will update you the further details on December 24th, 2020.

Regards, Ravikumar.

GK
Gowthamraj Kumar

Hi Rajasekaran,

Thank you for your patience.

We have created a sample to print a barcode form with multiple entries by appending the text. Kindly please try the below sample on your end and let us know if it suits your requirement or not.

Sample: https://www.syncfusion.com/downloads/support/directtrac/general/ze/PrintBarcodeOnPrinter785329063

If it is not suites your requirement, please share more details such as an image, screenshot to check the requirement on our end. So, that it will be helpful for us to analyze and assist you further on this.

Regards,

Gowthamraj K

Access denied
Access denied