public bool ReadOptionalMacroSegmentCountField { get; set; }
@property (nonatomic, assign) BOOL readOptionalMacroSegmentCountField;
public boolean getReadOptionalMacroSegmentCountField()
public void setReadOptionalMacroSegmentCountField(boolean value)
ReadOptionalMacroSegmentCountField # get and set (PDF417BarcodeReadOptions)
true to retrieve the optional macro 'Segment Count' 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 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:\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 to
int resolution = 300;
RasterImage image = RasterImage.create((int) (8.5 * resolution), (int) (11.0 * resolution), 1, resolution,
RasterColor.fromKnownColor(RasterKnownColor.WHITE));
// Write two PDF417 barcodes
writeBarcode(engine.getWriter(), image, "DATA1", 10, 10, true);
writeBarcode(engine.getWriter(), image, "DATA2", 20, 20, false);
// Save the image
RasterCodecs 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 again
image = codecs.load(imageFileName);
readBarcodes(engine.getReader(), image);
image.dispose();
codecs.dispose();
}
// Create the barcode data
private 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 image
barcode.setBounds(new LeadRect(0, 0, image.getImageWidth(), image.getImageHeight()));
// Set the write options
PDF417BarcodeWriteOptions 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 it
System.out.printf("Writing barcode with symbol rows/columns: %1s/%2s and Data: %3s%n", rows, columns, value);
writer.writeBarcode(image, barcode, options);
}
// Setup read options
private 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