Main class for the LEADTOOLS support for writing barcodes.
public sealed class BarcodeWriter
Public NotInheritable Class BarcodeWriter
@interface LTBarcodeWriter : NSObject
public class BarcodeWriter
public ref class BarcodeWriter sealed
The BarcodeWriter class is used to write a barcode to an image. You cannot create an instance of BarcodeWriter directly, instead, you use the instance created for you inside BarcodeEngine and accessed through the BarcodeEngine.Writer property:
Dim engine As New BarcodeEngine()
Dim writer As BarcodeWriter = engine.Writer
' Use can use the writer now, for example, write a UPCA barcode to an image:
Dim data As New BarcodeData(BarcodeSymbology.UPCA,"01234567890")
data.Bounds = New LeadRect(0, 0, 400, 200)
writer.WriteBarcode(myImage, data, Nothing)
BarcodeEngine engine = new BarcodeEngine();
BarcodeWriter writer = engine.Writer;
// Use can use the writer now, for example, write a UPCA barcode to an image:
BarcodeData data = new BarcodeData(BarcodeSymbology.UPCA,"01234567890");
data.Bounds = new LeadRect(0, 0, 400, 200);
writer.WriteBarcode(myImage, data, null);
Or you can use the BarcodeWriter directly through the BarcodeEngine.Writer property:
Dim engine As New BarcodeEngine()
// Use the instance in BarcodeEngine directly, for example, write a UPCA barcode to an image:
Dim data As New BarcodeData(BarcodeSymbology.UPCA,"01234567890")
data.Bounds = New LeadRect(0, 0, 400, 200)
engine.Writer.WriteBarcode(myImage, data, Nothing)
BarcodeEngine engine = new BarcodeEngine();
// Use the instance in BarcodeEngine directly, for example, write a UPCA barcode to an image:
BarcodeData data = new BarcodeData(BarcodeSymbology.UPCA,"01234567890");
data.Bounds = new LeadRect(0, 0, 400, 200);
engine.Write.WriteBarcode(myImage, data, null);
This example creates a barcode for each symbology supported by LEADTOOLS. It will then save the barcodes as TIFF files.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Barcode;
using Leadtools.ImageProcessing;
public void BarcodeWriter_Example()
{
// Create a directory to store the images we will create
string outDir = Path.Combine(LEAD_VARS.ImagesDir, "MyBarcodes");
if (Directory.Exists(outDir))
{
Directory.Delete(outDir, true);
}
Directory.CreateDirectory(outDir);
int resolution = 300;
// Create a Barcode engine
BarcodeEngine engine = new BarcodeEngine();
// Get the Barcode writer
BarcodeWriter writer = engine.Writer;
// All 1D options have the UseXModule set to false by default, we need to set it to true
// so we can calculate the default size. We will change the default options so we can
// pass null to CalculateBarcodeDataBounds and WriteBarcode below
// For all Standard 1D
OneDBarcodeWriteOptions oneDWriteOptions = writer.GetDefaultOptions(BarcodeSymbology.UPCA) as OneDBarcodeWriteOptions;
oneDWriteOptions.UseXModule = true;
// All GS1 Databar Stacked
GS1DatabarStackedBarcodeWriteOptions gs1DatabarStackedWriteOptions = writer.GetDefaultOptions(BarcodeSymbology.GS1DatabarStacked) as GS1DatabarStackedBarcodeWriteOptions;
gs1DatabarStackedWriteOptions.UseXModule = true;
// Patch Code
PatchCodeBarcodeWriteOptions patchCodeWriteOptions = writer.GetDefaultOptions(BarcodeSymbology.PatchCode) as PatchCodeBarcodeWriteOptions;
patchCodeWriteOptions.UseXModule = true;
// All PostNet/Planet
PostNetPlanetBarcodeWriteOptions postNetPlanetWriteOptions = writer.GetDefaultOptions(BarcodeSymbology.PostNet) as PostNetPlanetBarcodeWriteOptions;
postNetPlanetWriteOptions.UseXModule = true;
// We will use this object to save files
using (RasterCodecs codecs = new RasterCodecs())
{
// Get all the available write symbologies
BarcodeSymbology[] symbologies = writer.GetAvailableSymbologies();
foreach (BarcodeSymbology symbology in symbologies)
{
Console.WriteLine("Processing {0}", symbology);
// Create the default data for this symbology
BarcodeData data = BarcodeData.CreateDefaultBarcodeData(symbology);
// Calculate its size with default options
writer.CalculateBarcodeDataBounds(LeadRect.Empty, resolution, resolution, data, null);
// Create an image to write the data to
LeadRect pixels = data.Bounds;
using (RasterImage image = RasterImage.Create(pixels.Width, pixels.Height, 1, resolution, RasterColor.FromKnownColor(RasterKnownColor.White)))
{
// Write the barcode with default options
writer.WriteBarcode(image, data, null);
// Save it
string outFileName = Path.Combine(outDir, symbology + ".tif");
codecs.Save(image, outFileName, RasterImageFormat.Tif, 1);
}
}
}
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.Barcode
Imports Leadtools.ImageProcessing
Public Sub BarcodeWriter_Example()
' Create a directory to store the images we will create
Dim outDir As String = Path.Combine(LEAD_VARS.ImagesDir, "MyBarcodes")
If Directory.Exists(outDir) Then
Directory.Delete(outDir, True)
End If
Directory.CreateDirectory(outDir)
Dim resolution As Integer = 300
' Create a Barcode engine
Dim engine As New BarcodeEngine()
' Get the Barcode writer
Dim writer As BarcodeWriter = engine.Writer
' All 1D options have the UseXModule set to false by default, we need to set it to true
' so we can calculate the default size. We will change the default options so we can
' pass null to CalculateBarcodeDataBounds and WriteBarcode below
' For all Standard 1D
Dim oneDWriteOptions As OneDBarcodeWriteOptions = DirectCast(writer.GetDefaultOptions(BarcodeSymbology.UPCA), OneDBarcodeWriteOptions)
oneDWriteOptions.UseXModule = True
' All GS1 Databar Stacked
Dim gs1DatabarStackedWriteOptions As GS1DatabarStackedBarcodeWriteOptions = DirectCast(writer.GetDefaultOptions(BarcodeSymbology.GS1DatabarStacked), GS1DatabarStackedBarcodeWriteOptions)
gs1DatabarStackedWriteOptions.UseXModule = True
' Patch Code
Dim patchCodeWriteOptions As PatchCodeBarcodeWriteOptions = DirectCast(writer.GetDefaultOptions(BarcodeSymbology.PatchCode), PatchCodeBarcodeWriteOptions)
patchCodeWriteOptions.UseXModule = True
' All PostNet/Planet
Dim postNetPlanetWriteOptions As PostNetPlanetBarcodeWriteOptions = DirectCast(writer.GetDefaultOptions(BarcodeSymbology.PostNet), PostNetPlanetBarcodeWriteOptions)
postNetPlanetWriteOptions.UseXModule = True
' We will use this object to save files
Using codecs As New RasterCodecs()
' Get all the available write symbologies
Dim symbologies() As BarcodeSymbology = writer.GetAvailableSymbologies()
For Each symbology As BarcodeSymbology In symbologies
Console.WriteLine("Processing {0}", symbology)
' Create the default data for this symbology
Dim data As BarcodeData = BarcodeData.CreateDefaultBarcodeData(symbology)
' Calculate its size with default options
writer.CalculateBarcodeDataBounds(LeadRect.Empty, resolution, resolution, data, Nothing)
' Create an image to write the data to
Dim pixels As LeadRect = data.Bounds
Using image As RasterImage = RasterImage.Create(pixels.Width, pixels.Height, 1, resolution, RasterColor.FromKnownColor(RasterKnownColor.White))
' Write the barcode with default options
writer.WriteBarcode(image, data, Nothing)
' Save it
Dim outFileName As String = Path.Combine(outDir, symbology.ToString() + ".tif")
codecs.Save(image, outFileName, RasterImageFormat.Tif, 1)
End Using
Next
End Using
End Sub
Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
c#[Silverlight C# Example]
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Forms;
using Leadtools.Barcode;
using Leadtools.ImageProcessing;
using Leadtools.Examples;
public void BarcodeWriter_Example()
{
int resolution = 300;
// Create a Barcode engine
BarcodeEngine engine = new BarcodeEngine();
// Get the Barcode writer
BarcodeWriter writer = engine.Writer;
// All 1D options have the UseXModule set to false by default, we need to set it to true
// so we can calculate the default size. We will change the default options so we can
// pass null to CalculateBarcodeDataBounds and WriteBarcode below
// For all Standard 1D
OneDBarcodeWriteOptions oneDWriteOptions = writer.GetDefaultOptions(BarcodeSymbology.UPCA) as OneDBarcodeWriteOptions;
oneDWriteOptions.UseXModule = true;
// All GS1 Databar Stacked
GS1DatabarStackedBarcodeWriteOptions gs1DatabarStackedWriteOptions = writer.GetDefaultOptions(BarcodeSymbology.GS1DatabarStacked) as GS1DatabarStackedBarcodeWriteOptions;
gs1DatabarStackedWriteOptions.UseXModule = true;
// Patch Code
PatchCodeBarcodeWriteOptions patchCodeWriteOptions = writer.GetDefaultOptions(BarcodeSymbology.PatchCode) as PatchCodeBarcodeWriteOptions;
patchCodeWriteOptions.UseXModule = true;
// All PostNet/Planet
PostNetPlanetBarcodeWriteOptions postNetPlanetWriteOptions = writer.GetDefaultOptions(BarcodeSymbology.PostNet) as PostNetPlanetBarcodeWriteOptions;
postNetPlanetWriteOptions.UseXModule = true;
// We will use this object to save files
RasterCodecs codecs = new RasterCodecs();
// Get all the available write symbologies
BarcodeSymbology[] symbologies = writer.GetAvailableSymbologies();
foreach (BarcodeSymbology symbology in symbologies)
{
Console.WriteLine("Processing {0}", symbology);
// Create the default data for this symbology
BarcodeData data = BarcodeData.CreateDefaultBarcodeData(symbology);
// Calculate its size with default options
writer.CalculateBarcodeDataBounds(LogicalRectangle.Empty, resolution, resolution, data, null);
// Create an image to write the data to
LeadRect pixels = data.Bounds.ToRectangle(resolution, resolution);
using (RasterImage image = RasterImage.Create(pixels.Width, pixels.Height, 1, resolution, RasterColor.FromKnownColor(RasterKnownColor.White)))
{
// Write the barcode with default options
writer.WriteBarcode(image, data, null);
// Save it
using (SampleImageStream outputStream = new SampleImageStream(symbology + ".tif"))
{
codecs.Save(image, outputStream, RasterImageFormat.Tif, 1);
}
}
}
}
vb[Silverlight VB Example]
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.Forms
Imports Leadtools.Barcode
Imports Leadtools.ImageProcessing
Public Sub BarcodeWriter_Example()
Dim resolution As Integer = 300
' Create a Barcode engine
Dim engine As BarcodeEngine = New BarcodeEngine()
' Get the Barcode writer
Dim writer As BarcodeWriter = engine.Writer
' All 1D options have the UseXModule set to false by default, we need to set it to true
' so we can calculate the default size. We will change the default options so we can
' pass null to CalculateBarcodeDataBounds and WriteBarcode below
' For all Standard 1D
Dim oneDWriteOptions As OneDBarcodeWriteOptions = TryCast(writer.GetDefaultOptions(BarcodeSymbology.UPCA), OneDBarcodeWriteOptions)
oneDWriteOptions.UseXModule = True
' All GS1 Databar Stacked
Dim gs1DatabarStackedWriteOptions As GS1DatabarStackedBarcodeWriteOptions = TryCast(writer.GetDefaultOptions(BarcodeSymbology.GS1DatabarStacked), GS1DatabarStackedBarcodeWriteOptions)
gs1DatabarStackedWriteOptions.UseXModule = True
' Patch Code
Dim patchCodeWriteOptions As PatchCodeBarcodeWriteOptions = TryCast(writer.GetDefaultOptions(BarcodeSymbology.PatchCode), PatchCodeBarcodeWriteOptions)
patchCodeWriteOptions.UseXModule = True
' All PostNet/Planet
Dim postNetPlanetWriteOptions As PostNetPlanetBarcodeWriteOptions = TryCast(writer.GetDefaultOptions(BarcodeSymbology.PostNet), PostNetPlanetBarcodeWriteOptions)
postNetPlanetWriteOptions.UseXModule = True
' We will use this object to save files
Dim codecs As RasterCodecs = New RasterCodecs()
' Get all the available write symbologies
Dim symbologies As BarcodeSymbology() = writer.GetAvailableSymbologies()
For Each symbology As BarcodeSymbology In symbologies
Console.WriteLine("Processing {0}", symbology)
' Create the default data for this symbology
Dim data As BarcodeData = BarcodeData.CreateDefaultBarcodeData(symbology)
' Calculate its size with default options
writer.CalculateBarcodeDataBounds(LogicalRectangle.Empty, resolution, resolution, data, Nothing)
' Create an image to write the data to
Dim pixels As LeadRect = data.Bounds.ToRectangle(resolution, resolution)
Using image As RasterImage = RasterImage.Create(pixels.Width, pixels.Height, 1, resolution, RasterColor.FromKnownColor(RasterKnownColor.White))
' Write the barcode with default options
writer.WriteBarcode(image, data, Nothing)
' Save it
Using outputStream As SampleImageStream = New SampleImageStream(symbology & ".tif")
codecs.Save(image, outputStream, RasterImageFormat.Tif, 1)
End Using
End Using
Next symbology
End Sub
Programming with LEADTOOLS Barcode
UPC / EAN Barcodes in LEADTOOLS
GS1 DataBar / RSS-14 Barcodes in LEADTOOLS
Code 128 Barcodes in LEADTOOLS
USPS and 4-State Barcodes in LEADTOOLS
MSI Barcodes (Pulse Width Modulated) in LEADTOOLS
Miscellaneous Barcodes in LEADTOOLS
Datamatrix Barcodes in LEADTOOLS
PDF417 and MicroPDF417 Barcodes in LEADTOOLS
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document