public bool ReadOptionalMacro79AndAZField { get; set; } @property (nonatomic, assign) BOOL readOptionalMacro79AndAZField; public boolean getReadOptionalMacro79AndAZField()public void setReadOptionalMacro79AndAZField(boolean value)
ReadOptionalMacro79AndAZField # get and set (PDF417BarcodeReadOptions)
true to retrieve the optional macro '7 to 9 and A to Z' field when reading PDF417 barcodes. Otherwise, false. The default value is false.
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 toint resolution = 300;using (RasterImage image = RasterImage.Create((int)(8.5 * resolution), (int)(11.0 * resolution), 1, resolution, RasterColor.FromKnownColor(RasterKnownColor.White))){// Write two PDF417 barcodesWriteBarcode(engine.Writer, image, "DATA1", 10, 10, true);WriteBarcode(engine.Writer, image, "DATA2", 20, 20, false);// Save the imageusing (RasterCodecs codecs = new RasterCodecs()){codecs.Save(image, imageFileName, RasterImageFormat.CcittGroup4, 1);}}// Now read the barcodes againusing (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 dataPDF417BarcodeData 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 imagebarcode.Bounds = new LeadRect(0, 0, image.ImageWidth, image.ImageHeight);// Set the write optionsPDF417BarcodeWriteOptions 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 itConsole.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 optionsPDF417BarcodeReadOptions 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:\LEADTOOLS23\Resources\Images";}
import static org.junit.Assert.assertTrue;import java.io.File;import java.io.IOException;import org.junit.*;import org.junit.runner.JUnitCore;import org.junit.runner.Result;import org.junit.runner.notification.Failure;import leadtools.*;import leadtools.barcode.*;import leadtools.codecs.*;public void pdf417Barcode_Example() {final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images";String imageFileName = combine(LEAD_VARS_IMAGES_DIR, "MyPDF417Barcodes.tif");BarcodeEngine engine = new BarcodeEngine();// Create the image to write the barcodes toint resolution = 300;RasterImage image = RasterImage.create((int) (8.5 * resolution), (int) (11.0 * resolution), 1, resolution,RasterColor.fromKnownColor(RasterKnownColor.WHITE));// Write two PDF417 barcodeswriteBarcode(engine.getWriter(), image, "DATA1", 10, 10, true);writeBarcode(engine.getWriter(), image, "DATA2", 20, 20, false);// Save the imageRasterCodecs codecs = new RasterCodecs();codecs.save(image, imageFileName, RasterImageFormat.CCITT_GROUP4, 1);assertTrue("image unsuccessfully saved", new File(imageFileName).exists());System.out.println("Command run and image saved to " + imageFileName);// Now read the barcodes againimage = codecs.load(imageFileName);readBarcodes(engine.getReader(), image);image.dispose();codecs.dispose();}// Create the barcode dataprivate void writeBarcode(BarcodeWriter writer, RasterImage image, String value, int rows, int columns, boolean topLeft) {PDF417BarcodeData barcode = new PDF417BarcodeData();barcode.setValue(value);barcode.setGroup(0);barcode.setSymbology(BarcodeSymbology.PDF417);// We will use the alignment to position the barcodes, so use all of the imagebarcode.setBounds(new LeadRect(0, 0, image.getImageWidth(), image.getImageHeight()));// Set the write optionsPDF417BarcodeWriteOptions options = new PDF417BarcodeWriteOptions();if (topLeft) {options.setHorizontalAlignment(BarcodeAlignment.NEAR);options.setVerticalAlignment(BarcodeAlignment.NEAR);} else {options.setHorizontalAlignment(BarcodeAlignment.FAR);options.setVerticalAlignment(BarcodeAlignment.FAR);}options.setTruncated(false);options.setEnableGroupMode(false);options.setSymbolWidthAspectRatio(2);options.setSymbolHeightAspectRatio(1);options.setLimitByRowsAndColumns(true);options.setRows(rows);options.setColumns(columns);options.setXModule(30);options.setXModuleAspectRatio(3);options.setECCLevel(PDF417BarcodeECCLevel.LEVEL0);options.setECCPercentage(0);// Write itSystem.out.printf("Writing barcode with symbol rows/columns: %1s/%2s and Data: %3s%n", rows, columns, value);writer.writeBarcode(image, barcode, options);}// Setup read optionsprivate void readBarcodes(BarcodeReader reader, RasterImage image) {PDF417BarcodeReadOptions options = new PDF417BarcodeReadOptions();options.setSearchDirection(BarcodeSearchDirection.HORIZONTAL);options.setEnableDoublePass(false);options.setEnableFastMode(false);options.setReadMode(PDF417BarcodeReadMode.MODE0);options.setReturnCorruptedSymbolArea(false);options.setReadOptionalMacroFileNameField(false);options.setReadOptionalMacroSegmentCountField(false);options.setReadOptionalMacroTimestampField(false);options.setReadOptionalMacroSenderField(false);options.setReadOptionalMacroAddresseeField(false);options.setReadOptionalMacroFileSizeField(false);options.setReadOptionalMacroChecksumField(false);options.setReadOptionalMacro79AndAZField(false);options.setEnableDoublePassIfSuccess(true);options.setEnablePreprocessing(true);System.out.println("Reading Barcodes");BarcodeData[] barcodes = reader.readBarcodes(image, LeadRect.getEmpty(), 0,new BarcodeSymbology[] { BarcodeSymbology.PDF417 }, new BarcodeReadOptions[] { options });System.out.printf("%s barcodes found:%n", barcodes.length);for (BarcodeData barcode : barcodes) {System.out.printf(" At %1s data: %2s and symbology: %3s", barcode.getBounds(), barcode.getValue(),barcode.getSymbology());}}public static String combine(String path1, String path2) {File file = new File(path1, path2);return file.getPath();}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document
