public override BarcodeSymbology Symbology { get; set; }
An BarcodeSymbology enumeration member that specifies the barcode symbology (type) associated with this MicroPDF417BarcodeData.
This property overrides the base BarcodeData.Symbology and will always return BarcodeSymbology.MicroPDF417. Attempting to set this property to any other symbology value is illegal and will result in an ArgumentException being thrown.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Barcode;
using Leadtools.ImageProcessing;
public void MicroPDF417Barcode_Example()
{
string imageFileName = Path.Combine(LEAD_VARS.ImagesDir, "MyMicroPDF417Barcodes.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 two MicroPDF417 barcodes
WriteBarcode(engine.Writer, image, "DATA1", MicroPDF417BarcodeSymbolSize.Smallest, true);
WriteBarcode(engine.Writer, image, "DATA2", MicroPDF417BarcodeSymbolSize.Size44X4, false);
// 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))
{
ReadBarcodes(engine.Reader, image);
}
}
}
private void WriteBarcode(BarcodeWriter writer, RasterImage image, string value, MicroPDF417BarcodeSymbolSize symbolSize, bool topLeft)
{
// Create the barcode data
MicroPDF417BarcodeData barcode = new MicroPDF417BarcodeData();
barcode.Value = value;
barcode.DataCode = 0;
barcode.Symbology = BarcodeSymbology.MicroPDF417;
// We will use the alignment to position the barcodes, so use all of the image
barcode.Bounds = new LeadRect(0, 0, image.ImageWidth, image.ImageHeight);
// Set the write options
MicroPDF417BarcodeWriteOptions options = new MicroPDF417BarcodeWriteOptions();
if (topLeft)
{
options.HorizontalAlignment = BarcodeAlignment.Near;
options.VerticalAlignment = BarcodeAlignment.Near;
}
else
{
options.HorizontalAlignment = BarcodeAlignment.Far;
options.VerticalAlignment = BarcodeAlignment.Far;
}
options.UseMode128Emulation = false;
options.IsLinked = false;
options.EnableGroupMode = false;
options.XModule = 30;
options.XModuleAspectRatio = 3;
options.LimitByRowsAndColumns = true;
options.SymbolSize = symbolSize;
// Write it
Console.WriteLine("Writing barcode with symbol size: {0} and Data: {1}", symbolSize, value);
writer.WriteBarcode(image, barcode, options);
}
private void ReadBarcodes(BarcodeReader reader, RasterImage image)
{
// Setup read options
MicroPDF417BarcodeReadOptions options = new MicroPDF417BarcodeReadOptions();
options.SearchDirection = BarcodeSearchDirection.Horizontal;
options.EnableDoublePass = false;
options.ReadMode = MicroPDF417BarcodeReadMode.Mode0;
options.ReadOptionalMacroFileNameField = false;
options.ReadOptionalMacroSegmentCountField = false;
options.ReadOptionalMacroTimestampField = false;
options.ReadOptionalMacroSenderField = false;
options.ReadOptionalMacroAddresseeField = false;
options.ReadOptionalMacroFileSizeField = false;
options.ReadOptionalMacroChecksumField = false;
options.ReadOptionalMacro79AndAZField = false;
options.EnableDoublePassIfSuccess = true;
options.EnablePreprocessing = true;
Console.WriteLine("Reading Barcodes");
BarcodeData[] barcodes = reader.ReadBarcodes(image, LeadRect.Empty, 0, new BarcodeSymbology[] { BarcodeSymbology.MicroPDF417 }, new BarcodeReadOptions[] { options });
Console.WriteLine("{0} barcodes found:", barcodes.Length);
foreach (MicroPDF417BarcodeData barcode in barcodes)
{
Console.WriteLine(" At {0} data: {1} and symbology: {2}", barcode.Bounds, barcode.Value, barcode.Symbology);
}
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";
}