XModuleAspectRatio Property (original) (raw)

Summary

Gets or sets a value that indicates the ratio between the width of the smallest element (XModule) to the height of a row of the PDF417 symbol to use when writing PDF417 barcodes.

Syntax

C#

Objective-C

C++/CLI

Java

Python

public int XModuleAspectRatio { get; set; } 
@property (nonatomic, assign) NSInteger xModuleAspectRatio; 

public int getXModuleAspectRatio() public void setXModuleAspectRatio(int value)

public: property int XModuleAspectRatio { int get(); void set ( int ); }

Property Value

An Int32 that indicates the ratio between the width of the smallest element (XModule) to the height of a row of the PDF417 symbol to use when writing. Must be a value greater than or equal to 1. The default value is 3.

Example

using Leadtools; using Leadtools.Codecs; using Leadtools.Barcode; using Leadtools.ImageProcessing; public void PDF417Barcode_Example() { string imageFileName = Path.Combine(LEAD_VARS.ImagesDir, "MyPDF417Barcodes.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 PDF417 barcodes WriteBarcode(engine.Writer, image, "DATA1", 10, 10, true); WriteBarcode(engine.Writer, image, "DATA2", 20, 20, 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, int rows, int columns, bool topLeft) { // Create the barcode data PDF417BarcodeData barcode = new PDF417BarcodeData(); barcode.Value = value; barcode.Group = 0; barcode.Symbology = BarcodeSymbology.PDF417; // 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 PDF417BarcodeWriteOptions options = new PDF417BarcodeWriteOptions(); if (topLeft) { options.HorizontalAlignment = BarcodeAlignment.Near; options.VerticalAlignment = BarcodeAlignment.Near; } else { options.HorizontalAlignment = BarcodeAlignment.Far; options.VerticalAlignment = BarcodeAlignment.Far; } options.Truncated = false; options.EnableGroupMode = false; options.SymbolWidthAspectRatio = 2; options.SymbolHeightAspectRatio = 1; options.LimitByRowsAndColumns = true; options.Rows = rows; options.Columns = columns; options.XModule = 30; options.XModuleAspectRatio = 3; options.ECCLevel = PDF417BarcodeECCLevel.Level0; options.ECCPercentage = 0; // Write it Console.WriteLine("Writing barcode with symbol rows/columns: {0}/{1} and Data: {2}", rows, columns, value); writer.WriteBarcode(image, barcode, options); } private void ReadBarcodes(BarcodeReader reader, RasterImage image) { // Setup read options PDF417BarcodeReadOptions options = new PDF417BarcodeReadOptions(); options.SearchDirection = BarcodeSearchDirection.Horizontal; options.EnableDoublePass = false; options.EnableFastMode = false; options.ReadMode = PDF417BarcodeReadMode.Mode0; options.ReturnCorruptedSymbolArea = false; 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.EnableNoIndicatorTrail = true; options.EnablePreprocessing = true; Console.WriteLine("Reading Barcodes"); BarcodeData[] barcodes = reader.ReadBarcodes(image, LeadRect.Empty, 0, new BarcodeSymbology[] { BarcodeSymbology.PDF417 }, new BarcodeReadOptions[] { options }); Console.WriteLine("{0} barcodes found:", barcodes.Length); foreach (PDF417BarcodeData 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:\LEADTOOLS22\Resources\Images"; }