BarcodeWriter Class (original) (raw)

Summary

Main class for the LEADTOOLS support for writing barcodes.

Syntax

C#

Objective-C

C++/CLI

Java

Python

public sealed class BarcodeWriter 
@interface LTBarcodeWriter : NSObject 
public class BarcodeWriter 
public ref class BarcodeWriter sealed  

Example

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:\LEADTOOLS22\Resources\Images"; }