PDF barcode is mainly used in commodity transaction which, to a large extent, increases efficiency and escapes human errors. The most frequently case we use barcode is that when we go shopping in the supermarket, the operator only needs to scan the barcodes, the price of the goods will automatically show. Obviously, all the information has been input in the customer data table system. Through barcode, people can easily find the details of a good in a short time. Since barcode is so wonderful, let me share a solution to draw barcode in PDF document.
Spire.PDF for WPF enables users to easily draw barcode in PDF document with C#, VB.NET for WPF. Before you start, please freely Download Spire.PDF (Spire.Office) and install it with .NET Framework 2.0 (or above) together on your system. The detail procedure can be shown below.
Step 1: Create a new project
- Create a new project in WPF Application
- Add a button in MainWindow and set the button Content property to be "Run".
- Add Spire.Pdf.Wpf.dll and System.Drawing as references. After adding the namespaces, you can view the below codes.
using System.Drawing;
using Spire.Pdf;
using Spire.Pdf.Graphics;
using Spire.Pdf.Barcode;
namespace PDFWPFbarcode
{
///
/// Interaction logic for MainWindow.xaml
///
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void button1_Click(object sender, RoutedEventArgs e)
{
}
}
}
Imports System.Drawing Imports Spire.Pdf Imports Spire.Pdf.Graphics Imports Spire.Pdf.Barcode Namespace PDFWPFbarcode ''' ''' Interaction logic for MainWindow.xaml ''' Public Partial Class MainWindow Inherits Window Public Sub New() InitializeComponent() End Sub Private Sub button1_Click(sender As Object, e As RoutedEventArgs) End Sub End Class End Namespace
Step 2: Draw barcodes in PDF document
Create a PDF document, set its margin and add one page in it
//Create a pdf document.
PdfDocument doc = new PdfDocument();
//margin
PdfUnitConvertor unitCvtr = new PdfUnitConvertor();
PdfMargins margin = new PdfMargins();
margin.Top = unitCvtr.ConvertUnits(2.54f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point);
margin.Bottom = margin.Top;
margin.Left = unitCvtr.ConvertUnits(3.17f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point);
margin.Right = margin.Left;
PdfSection section = doc.Sections.Add();
section.PageSettings.Margins = margin;
section.PageSettings.Size = PdfPageSize.A4;
// Create one page
PdfPageBase page = section.Pages.Add();
float y = 10;
PdfTrueTypeFont font1 = new PdfTrueTypeFont(new Font("Arial", 12f, System.Drawing.FontStyle.Bold), true);
'Create a pdf document.
Dim doc As New PdfDocument()
'margin
Dim unitCvtr As New PdfUnitConvertor()
Dim margin As New PdfMargins()
margin.Top = unitCvtr.ConvertUnits(2.54F, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point)
margin.Bottom = margin.Top
margin.Left = unitCvtr.ConvertUnits(3.17F, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point)
margin.Right = margin.Left
Dim section As PdfSection = doc.Sections.Add()
section.PageSettings.Margins = margin
section.PageSettings.Size = PdfPageSize.A4
' Create one page
Dim page As PdfPageBase = section.Pages.Add()
Dim y As Single = 40
Dim font1 As New PdfTrueTypeFont(New Font("Arial", 12F, System.Drawing.FontStyle.Bold), True)
Draw barcodes in PDF document
//draw Codebar
PdfTextWidget text = new PdfTextWidget();
text.Font = font1;
text.Text = "Codebar:";
PdfLayoutResult result = text.Draw(page, 0, y);
page = result.Page;
y = result.Bounds.Bottom + 2;
PdfCodabarBarcode barcode1 = new PdfCodabarBarcode("00:12-3456/7890");
barcode1.BarcodeToTextGapHeight = 1f;
barcode1.EnableCheckDigit = true;
barcode1.ShowCheckDigit = true;
barcode1.TextDisplayLocation = TextLocation.Bottom;
barcode1.TextColor = System.Drawing.Color.Blue;
barcode1.Draw(page, new PointF(0, y));
y = barcode1.Bounds.Bottom + 5;
//draw Code11Barcode
text.Text = "Code11:";
result = text.Draw(page, 0, y);
page = result.Page;
y = result.Bounds.Bottom + 2;
PdfCode11Barcode barcode2 = new PdfCode11Barcode("123-4567890");
barcode2.BarcodeToTextGapHeight = 1f;
barcode2.TextDisplayLocation = TextLocation.Bottom;
barcode2.TextColor = System.Drawing.Color.Blue;
barcode2.Draw(page, new PointF(0, y));
y = barcode2.Bounds.Bottom + 5;
//draw Code128-A
text.Text = "Code128-A:";
result = text.Draw(page, 0, y);
page = result.Page;
y = result.Bounds.Bottom + 2;
PdfCode128ABarcode barcode3 = new PdfCode128ABarcode("HELLO 00-123");
barcode3.BarcodeToTextGapHeight = 1f;
barcode3.TextDisplayLocation = TextLocation.Bottom;
barcode3.TextColor = System.Drawing.Color.Blue;
barcode3.Draw(page, new PointF(0, y));
y = barcode3.Bounds.Bottom + 5;
//draw Code128-B
text.Text = "Code128-B:";
result = text.Draw(page, 0, y);
page = result.Page;
y = result.Bounds.Bottom + 2;
PdfCode128BBarcode barcode4 = new PdfCode128BBarcode("Hello 00-123");
barcode4.BarcodeToTextGapHeight = 1f;
barcode4.TextDisplayLocation = TextLocation.Bottom;
barcode4.TextColor = System.Drawing.Color.Blue;
barcode4.Draw(page, new PointF(0, y));
y = barcode4.Bounds.Bottom + 5;
//draw Code32
text.Text = "Code32:";
result = text.Draw(page, 0, y);
page = result.Page;
y = result.Bounds.Bottom + 2;
PdfCode32Barcode barcode5 = new PdfCode32Barcode("16273849");
barcode5.BarcodeToTextGapHeight = 1f;
barcode5.TextDisplayLocation = TextLocation.Bottom;
barcode5.TextColor = System.Drawing.Color.Blue;
barcode5.Draw(page, new PointF(0, y));
y = barcode5.Bounds.Bottom + 5;
page = section.Pages.Add();
y = 10;
//draw Code39
text.Text = "Code39:";
result = text.Draw(page, 0, y);
page = result.Page;
y = result.Bounds.Bottom + 2;
PdfCode39Barcode barcode6 = new PdfCode39Barcode("16-273849");
barcode6.BarcodeToTextGapHeight = 1f;
barcode6.TextDisplayLocation = TextLocation.Bottom;
barcode6.TextColor = System.Drawing.Color.Blue;
barcode6.Draw(page, new PointF(0, y));
y = barcode6.Bounds.Bottom + 5;
//draw Code39-E
text.Text = "Code39-E:";
result = text.Draw(page, 0, y);
page = result.Page;
y = result.Bounds.Bottom + 2;
PdfCode39ExtendedBarcode barcode7 = new PdfCode39ExtendedBarcode("16-273849");
barcode7.BarcodeToTextGapHeight = 1f;
barcode7.TextDisplayLocation = TextLocation.Bottom;
barcode7.TextColor = System.Drawing.Color.Blue;
barcode7.Draw(page, new PointF(0, y));
y = barcode7.Bounds.Bottom + 5;
//draw Code93
text.Text = "Code93:";
result = text.Draw(page, 0, y);
page = result.Page;
y = result.Bounds.Bottom + 2;
PdfCode93Barcode barcode8 = new PdfCode93Barcode("16-273849");
barcode8.BarcodeToTextGapHeight = 1f;
barcode8.TextDisplayLocation = TextLocation.Bottom;
barcode8.TextColor = System.Drawing.Color.Blue;
barcode8.QuietZone.Bottom = 5;
barcode8.Draw(page, new PointF(0, y));
y = barcode8.Bounds.Bottom + 5;
//draw Code93-E
text.Text = "Code93-E:";
result = text.Draw(page, 0, y);
page = result.Page;
y = result.Bounds.Bottom + 2;
PdfCode93ExtendedBarcode barcode9 = new PdfCode93ExtendedBarcode("16-273849");
barcode9.BarcodeToTextGapHeight = 1f;
barcode9.TextDisplayLocation = TextLocation.Bottom;
barcode9.TextColor = System.Drawing.Color.Blue;
barcode9.Draw(page, new PointF(0, y));
y = barcode9.Bounds.Bottom + 5;
'draw Codebar
Dim text As New PdfTextWidget()
text.Font = font1
text.Text = "Codebar:"
Dim result As PdfLayoutResult = text.Draw(page, 0, y)
page = result.Page
y = result.Bounds.Bottom + 2
Dim barcode1 As New PdfCodabarBarcode("00:12-3456/7890")
barcode1.BarcodeToTextGapHeight = 1F
barcode1.EnableCheckDigit = True
barcode1.ShowCheckDigit = True
barcode1.TextDisplayLocation = TextLocation.Bottom
barcode1.TextColor = System.Drawing.Color.Blue
barcode1.Draw(page, New PointF(0, y))
y = barcode1.Bounds.Bottom + 5
'draw Code11Barcode
text.Text = "Code11:"
result = text.Draw(page, 0, y)
page = result.Page
y = result.Bounds.Bottom + 2
Dim barcode2 As New PdfCode11Barcode("123-4567890")
barcode2.BarcodeToTextGapHeight = 1F
barcode2.TextDisplayLocation = TextLocation.Bottom
barcode2.TextColor = System.Drawing.Color.Blue
barcode2.Draw(page, New PointF(0, y))
y = barcode2.Bounds.Bottom + 5
'draw Code128-A
text.Text = "Code128-A:"
result = text.Draw(page, 0, y)
page = result.Page
y = result.Bounds.Bottom + 2
Dim barcode3 As New PdfCode128ABarcode("HELLO 00-123")
barcode3.BarcodeToTextGapHeight = 1F
barcode3.TextDisplayLocation = TextLocation.Bottom
barcode3.TextColor = System.Drawing.Color.Blue
barcode3.Draw(page, New PointF(0, y))
y = barcode3.Bounds.Bottom + 5
'draw Code128-B
text.Text = "Code128-B:"
result = text.Draw(page, 0, y)
page = result.Page
y = result.Bounds.Bottom + 2
Dim barcode4 As New PdfCode128BBarcode("Hello 00-123")
barcode4.BarcodeToTextGapHeight = 1F
barcode4.TextDisplayLocation = TextLocation.Bottom
barcode4.TextColor = System.Drawing.Color.Blue
barcode4.Draw(page, New PointF(0, y))
y = barcode4.Bounds.Bottom + 5
'draw Code32
text.Text = "Code32:"
result = text.Draw(page, 0, y)
page = result.Page
y = result.Bounds.Bottom + 2
Dim barcode5 As New PdfCode32Barcode("16273849")
barcode5.BarcodeToTextGapHeight = 1F
barcode5.TextDisplayLocation = TextLocation.Bottom
barcode5.TextColor = System.Drawing.Color.Blue
barcode5.Draw(page, New PointF(0, y))
y = barcode5.Bounds.Bottom + 5
page = section.Pages.Add()
y = 10
'draw Code39
text.Text = "Code39:"
result = text.Draw(page, 0, y)
page = result.Page
y = result.Bounds.Bottom + 2
Dim barcode6 As New PdfCode39Barcode("16-273849")
barcode6.BarcodeToTextGapHeight = 1F
barcode6.TextDisplayLocation = TextLocation.Bottom
barcode6.TextColor = System.Drawing.Color.Blue
barcode6.Draw(page, New PointF(0, y))
y = barcode6.Bounds.Bottom + 5
'draw Code39-E
text.Text = "Code39-E:"
result = text.Draw(page, 0, y)
page = result.Page
y = result.Bounds.Bottom + 2
Dim barcode7 As New PdfCode39ExtendedBarcode("16-273849")
barcode7.BarcodeToTextGapHeight = 1F
barcode7.TextDisplayLocation = TextLocation.Bottom
barcode7.TextColor = System.Drawing.Color.Blue
barcode7.Draw(page, New PointF(0, y))
y = barcode7.Bounds.Bottom + 5
'draw Code93
text.Text = "Code93:"
result = text.Draw(page, 0, y)
page = result.Page
y = result.Bounds.Bottom + 2
Dim barcode8 As New PdfCode93Barcode("16-273849")
barcode8.BarcodeToTextGapHeight = 1F
barcode8.TextDisplayLocation = TextLocation.Bottom
barcode8.TextColor = System.Drawing.Color.Blue
barcode8.QuietZone.Bottom = 5
barcode8.Draw(page, New PointF(0, y))
y = barcode8.Bounds.Bottom + 5
'draw Code93-E
text.Text = "Code93-E:"
result = text.Draw(page, 0, y)
page = result.Page
y = result.Bounds.Bottom + 2
Dim barcode9 As New PdfCode93ExtendedBarcode("16-273849")
barcode9.BarcodeToTextGapHeight = 1F
barcode9.TextDisplayLocation = TextLocation.Bottom
barcode9.TextColor = System.Drawing.Color.Blue
barcode9.Draw(page, New PointF(0, y))
y = barcode9.Bounds.Bottom + 5
Step 3: Save and Launch
//Save pdf file.
doc.SaveToFile("Barcode.pdf");
doc.Close();
//Launching the Pdf file.
System.Diagnostics.Process.Start("Barcode.pdf");
'Save pdf file.
doc.SaveToFile("Barcode.pdf")
doc.Close()
'Launching the Pdf file.
System.Diagnostics.Process.Start("Barcode.pdf")
Effective Screeshot:

