public static BarcodeData CreateDefaultBarcodeData(
BarcodeSymbology symbology
)
symbology
Barcode symbology.
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.
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# 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.
This example writes all the supported barcodes with LEADTOOLS using their default values.
using Leadtools;
using Leadtools.Codecs;
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)
{
// **Symbology** | **Return type**
// -------------------------------|------------------------
// BarcodeSymbology.Aztec | AztecBarcodeData
// BarcodeSymbology.Datamatrix | DatamatrixBarcodeData
// BarcodeSymbology.Maxi | MaxiBarcodeData
// BarcodeSymbology.MicroPDF417 | MicroPDF417BarcodeData
// BarcodeSymbology.MicroQR | MicroQRBarcodeData
// BarcodeSymbology.PDF417 | PDF417BarcodeData
// BarcodeSymbology.QR | QRBarcodeData
// Other BarcodeSymbology members | BarcodeData
//
// Get Data Type
var dataType = BarcodeData.GetBarcodeDataType(symbology);
Console.WriteLine("Processing {0} | Data Type: {1}", symbology, dataType.Name);
// 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:\LEADTOOLS23\Resources\Images";
}