LEADTOOLS Barcode (Leadtools.Barcode assembly)
LEAD Technologies, Inc

CreateDefaultBarcodeData Method

Example 







Barcode symbology.
Returns an instance of BarcodeData suitable for writing containing default and valid values for the specified symbology . .NET support Silverlight support
Syntax
public static BarcodeData CreateDefaultBarcodeData( 
   BarcodeSymbology symbology
)
'Declaration
 
Public Shared Function CreateDefaultBarcodeData( _
   ByVal symbology As BarcodeSymbology _
) As BarcodeData
'Usage
 
Dim symbology As BarcodeSymbology
Dim value As BarcodeData
 
value = BarcodeData.CreateDefaultBarcodeData(symbology)
public static BarcodeData CreateDefaultBarcodeData( 
   BarcodeSymbology symbology
)
ObjectiveC Syntax
 function Leadtools.Barcode.BarcodeData.CreateDefaultBarcodeData( 
   symbology 
)
public:
static BarcodeData^ CreateDefaultBarcodeData( 
   BarcodeSymbology 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 System.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
Copy CodeCopy Code  
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
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";
}
[TestMethod]
public async Task 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
   using(RasterCodecs codecs = new RasterCodecs())
   {
      // Get all the available write symbologies
      BarcodeSymbology[] symbologies = writer.GetAvailableSymbologies();
      foreach(BarcodeSymbology symbology in symbologies)
      {
         Debug.WriteLine("Processing {0}", symbology);

         // Create the default data for this symbology
         BarcodeData data = BarcodeData.CreateDefaultBarcodeData(symbology);

         // Calculate its size with default options
         writer.CalculateBarcodeDataBounds(LeadRectHelper.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, RasterColorHelper.FromKnownColor(RasterKnownColor.White)))
         {
            // Write the barcode with default options
            writer.WriteBarcode(image, data, null);

            // Save it
            string outFileName = symbology.ToString() + ".tif";
            StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync(outFileName);
            await codecs.SaveAsync(image, LeadStreamFactory.Create(saveFile), RasterImageFormat.Tif, 1);
         }
      }
   }
}
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);
         }
      }
   }
}
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: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

BarcodeData Class
BarcodeData Members
GetBarcodeDataType Method
DatamatrixBarcodeData Class
MicroPDF417BarcodeData Class
PDF417BarcodeData Class
QRBarcodeData Class

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2012 All Rights Reserved. LEAD Technologies, Inc.

Leadtools.Barcode requires a Barcode Module license and unlock key. For more information, refer to: LEADTOOLS Toolkit Features