FourStateBarcodeWriteOptions Class (original) (raw)

Summary

Contains the extra options to use when writing 4-State post barcodes such as USPS, Royal Mail ,and Australian Post.

Syntax

C#

Objective-C

C++/CLI

Java

Python

@interface LTFourStateBarcodeWriteOptions : LTBarcodeWriteOptions 
public class FourStateBarcodeWriteOptions extends BarcodeWriteOptions 

[TypeConverterAttribute()] [SerializableAttribute()] public ref class FourStateBarcodeWriteOptions : public [BarcodeWriteOptions](barcodewriteoptions.html), System.ICloneable

class FourStateBarcodeWriteOptions(BarcodeWriteOptions): 

Example

using Leadtools; using Leadtools.Codecs; using Leadtools.Barcode; using Leadtools.ImageProcessing; public void FourStateBarcode_Example() { string imageFileName = Path.Combine(LEAD_VARS.ImagesDir, "MyFourStateBarcodes.tif"); BarcodeEngine engine = new BarcodeEngine(); // Create the image to write the barcodes to int resolution = 300; using (RasterImage image = RasterImage.Create((int)(8.5 * resolution), (int)(11.0 * resolution), 1, resolution, RasterColor.FromKnownColor(RasterKnownColor.White))) { // Write a few Four-State barcodes, a USPS, Royal Mail and Australian Post WriteBarcode(engine.Writer, image, BarcodeSymbology.USPS4State, "0123456709498765432101234567891", new LeadRect(10, 100, 400, 200)); WriteBarcode(engine.Writer, image, BarcodeSymbology.RoyalMail4State, "123456789", new LeadRect(10, 500, 400, 200)); WriteBarcode(engine.Writer, image, BarcodeSymbology.AustralianPost4State, "11-12345678", new LeadRect(10, 900, 400, 200)); // Save the image using (RasterCodecs codecs = new RasterCodecs()) { codecs.Save(image, imageFileName, RasterImageFormat.CcittGroup4, 1); } } // Now read the barcodes again using (RasterCodecs codecs = new RasterCodecs()) { using (RasterImage image = codecs.Load(imageFileName)) { // Read the USPS barcode ReadBarcodes(engine.Reader, image, BarcodeSymbology.USPS4State); // Read the Royal Mail barcode ReadBarcodes(engine.Reader, image, BarcodeSymbology.RoyalMail4State); // Read the Australian Post barcode ReadBarcodes(engine.Reader, image, BarcodeSymbology.AustralianPost4State); } } } private void WriteBarcode(BarcodeWriter writer, RasterImage image, BarcodeSymbology symbology, string value, LeadRect bounds) { // Create the barcode data BarcodeData barcode = new BarcodeData(symbology, value); barcode.Bounds = bounds; // Set the write options FourStateBarcodeWriteOptions options = new FourStateBarcodeWriteOptions(); options.TextPosition = BarcodeOutputTextPosition.Default; options.XModule = 30; options.AustralianPostCIFEncoding = AustralianPost4StateBarcodeCIFEncoding.CTable; // Write it Console.WriteLine("Writing {0} barcode with data: {1}", symbology, value); writer.WriteBarcode(image, barcode, options); } private void ReadBarcodes(BarcodeReader reader, RasterImage image, BarcodeSymbology symbology) { // Setup read options FourStateBarcodeReadOptions options = new FourStateBarcodeReadOptions(); options.SearchDirection = BarcodeSearchDirection.Horizontal; options.Granularity = 9; options.ReturnCheckDigit = BarcodeReturnCheckDigit.Default; options.AustralianPostCIFEncoding = AustralianPost4StateBarcodeCIFEncoding.CTable; Console.WriteLine("Reading {0} barcodes", symbology); BarcodeData barcode = reader.ReadBarcode(image, LeadRect.Empty, symbology, options); if (barcode != null) { Console.WriteLine(" At {0}, data: {1}", barcode.Bounds, barcode.Value); } else { Console.WriteLine(" Not found"); } } static class LEAD_VARS { public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; }