public AustralianPost4StateBarcodeCIFEncoding AustralianPostCIFEncoding { get; set; }
An AustralianPost4StateBarcodeCIFEncoding enumeration member that indicates the table to use when decoding the Australian Post Customer Information Field (CIF). The default value is AustralianPost4StateBarcodeCIFEncoding.CTable.
The value of this property is only used when reading BarcodeSymbology.AustralianPost4State, it is ignored when reading the other symbologies supported by this class.
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";
}