Avatar of Moti Mashiah
Moti Mashiah
Flag for Canada asked on

asp.net mvc - print bardcode

Hi Guys,

I'm trying to implement print barcode label for my MVC application and in order to do it I installed the nuget package "Neodynamic.WebControls.BarcodeProfessional" , after I installed the package I implemented this C# code:

 //Create a Barcode Professional object
            Neodynamic.WebControls.BarcodeProfessional.BarcodeProfessional bcp = new Neodynamic.WebControls.BarcodeProfessional.BarcodeProfessional();
            //Set the barcode symbology to Code 128
            bcp.Symbology = Neodynamic.WebControls.BarcodeProfessional.Symbology.Code128;
            //Set the value to encode
            bcp.Code = "1234567890";
            bcp.CodeFormatPattern = DateTime.Today.ToString();
            //Barcode dimensions settings
            bcp.BarHeight = 1.0f;
            bcp.BarWidth = 0.01f;
            //Resolution
            float dpi = 300.0f;
            //Target size in inches
            System.Drawing.SizeF targetArea = new System.Drawing.SizeF(1.0f, 0.5f);
            //Get the barcode image fitting the target area
            System.Drawing.Image imgBarcode = bcp.GetBarcodeImage(dpi, targetArea);
            //Save it on disk in PNG format
            imgBarcode.Save(@"D:\temp\barcode128.png", System.Drawing.Imaging.ImageFormat.Png);
            imgBarcode.Dispose();

Open in new window


My question:
How can I Print the barcode directly to the printer instead of saving to png file and then print? I'm wondering if there is a way to do it.
I was trying to do it, but there is no print function in this DLL reference.

Note:
I would like to know if there is better way to print barcode labels.


thanks ,
ASP.NETC#

Avatar of undefined
Last Comment
Moti Mashiah

8/22/2022 - Mon
Ioannis Paraskevopoulos

Hi,

One way i had done it in the past was by embeding the image data in the html.

The base idea was to achieve the following:

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA
AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO
9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="Red dot" />

Open in new window


You only need to get the base64 string of the image you have created.

You may get an idea of how to convert the Image to Base64 here.

Giannis
Moti Mashiah

ASKER
Hi,

Thanks for your respond and it was very helpful, but now I change a bit the logic as I would like to popup the image after I save and then print.

I was trying to go with bitmap and I didn't know how to complete the code in order to open the file after I saved.

 imgBarcode.Save(@"D:\temp\barcode128.png", System.Drawing.Imaging.ImageFormat.Png);
            imgBarcode.Dispose();
            Bitmap image1 = (Bitmap)Image.FromFile(@"D:\temp\barcode128.png", true);

Open in new window

ASKER CERTIFIED SOLUTION
Ioannis Paraskevopoulos

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
Moti Mashiah

ASKER
Thx
Your help has saved me hundreds of hours of internet surfing.
fblack61