←Select platform

CreateDefaultBarcodeData Method

Summary

Returns an instance of BarcodeData suitable for writing containing default and valid values for the specified symbology .

Syntax

C#
VB
Java
Objective-C
WinRT C#
C++
public static BarcodeData CreateDefaultBarcodeData( 
   BarcodeSymbology symbology 
) 
Public Shared Function CreateDefaultBarcodeData( _ 
   ByVal symbology As Leadtools.Barcode.BarcodeSymbology _ 
) As Leadtools.Barcode.BarcodeData 
+ (nullable LTBarcodeData *)createDefaultBarcodeData:(LTBarcodeSymbology)symbology 
public static BarcodeData createDefaultBarcodeData(BarcodeSymbology symbology) 
 function Leadtools.Barcode.BarcodeData.CreateDefaultBarcodeData(  
   symbology  
) 

Parameters

symbology
Barcode symbology.

Return Value

An instance of BarcodeData or one of its derived classes filled with default and legal values of the symbology that can be used directly with BarcodeWriter.WriteBarcode.

Remarks

When writing barcodes, you must fill in a member of BarcodeData with legal values for the symbology based on the standard. This method can be used to quickly create a valid BarcodeData instance for the specified symbology and might be helpful for debugging.

The C# and VB Barcode demos use this method to obtain an initial BarcodeData for a symbology.

Note that if the symbology supports derived BarcodeData types, then an instance of the derived class will be returned instead. This includes DatamatrixBarcodeData, MicroPDF417BarcodeData, PDF417BarcodeData and QRBarcodeData for BarcodeSymbology.Datamatrix, BarcodeSymbology.MicroPDF417, BarcodeSymbology.PDF417 and BarcodeSymbology.QR respectively.

The GetBarcodeDataType method returns the Type of the derived class associated with a specified symbology or the BarcodeData type when the symbology does not have a specialized data class.

Note: In LEADTOOLS for Windows Runtime, the equivalent to BarcodeReadOptions is IBarcodeReadOptions, also the equivalent to BarcodeWriteOptions is IBarcodeWriteOptions.

Example

This example writes all the supported barcodes with LEADTOOLS using their default values.

C#
VB
Silverlight C#
Silverlight VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Forms; 
using Leadtools.Barcode; 
using Leadtools.ImageProcessing; 
 
public void BarcodeData_CreateDefaultBarcodeDataExample() 
{ 
   // 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(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 
            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.Forms 
Imports Leadtools.Barcode 
Imports Leadtools.ImageProcessing 
 
Public Sub BarcodeData_CreateDefaultBarcodeDataExample() 
   ' 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(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 
            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 
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Forms; 
using Leadtools.Barcode; 
using Leadtools.ImageProcessing; 
using Leadtools.Examples; 
 
public void BarcodeData_CreateDefaultBarcodeDataExample() 
{ 
   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); 
 
         using (SampleImageStream outputStream = new SampleImageStream(symbology + ".tif")) 
         { 
            // Save it 
            codecs.Save(image, outputStream, RasterImageFormat.Tif, 1); 
         } 
      } 
   } 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.Forms 
Imports Leadtools.Barcode 
Imports Leadtools.ImageProcessing 
 
Public Sub BarcodeData_CreateDefaultBarcodeDataExample() 
   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) 
 
         Using outputStream As SampleImageStream = New SampleImageStream(symbology & ".tif") 
            ' Save it 
            codecs.Save(image, outputStream, RasterImageFormat.Tif, 1) 
         End Using 
      End Using 
   Next symbology 
End Sub 

Requirements

Target Platforms

Help Version 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Barcode Assembly