public bool UseXModule { get; set; } @property (nonatomic, assign) BOOL useXModule; UseXModule # get and set (PharmaCodeBarcodeWriteOptions)
true to use XModule when writing barcodes of this type. Otherwise, false. The default value is false.
When the value of UseXModule is set to false, then the smallest module size is calculated from the size of the barcode data (BarcodeData.Bounds).
When the value of UseXModule is set to true, then the smallest module size is set in XModule and the barcode data size may be used as a "clipping" boundary.
For more information, refer to Writing Barcodes - Bounds and XModule.
using Leadtools;using Leadtools.Codecs;using Leadtools.Barcode;using Leadtools.ImageProcessing;public void BarcodeWriteOptions_Example(){// This example uses derived classes from the abstract class BarcodeWriteOptions to set the barcode write options.// For example: OneDBarcodeWriteOptions, GS1DatabarStackedBarcodeWriteOptions,// PatchCodeBarcodeWriteOptions, PostNetPlanetBarcodeWriteOptions are derived// from the abstract class BarcodeWriteOptions// Create a directory to store the images we will createstring outDir = Path.Combine(LEAD_VARS.ImagesDir, "MyBarcodes");if (Directory.Exists(outDir)){Directory.Delete(outDir, true);}Directory.CreateDirectory(outDir);int resolution = 300;// Create a Barcode engineBarcodeEngine engine = new BarcodeEngine();// Get the Barcode writerBarcodeWriter writer = engine.Writer;// All 1D options have the UseXModule set to false by default, we need to set it to true// so we can calculate the default size. We will change the default options so we can// pass null to CalculateBarcodeDataBounds and WriteBarcode below// For all Standard 1D.OneDBarcodeWriteOptions oneDWriteOptions = writer.GetDefaultOptions(BarcodeSymbology.UPCA) as OneDBarcodeWriteOptions;oneDWriteOptions.UseXModule = true;// All GS1 Databar StackedGS1DatabarStackedBarcodeWriteOptions gs1DatabarStackedWriteOptions = writer.GetDefaultOptions(BarcodeSymbology.GS1DatabarStacked) as GS1DatabarStackedBarcodeWriteOptions;gs1DatabarStackedWriteOptions.UseXModule = true;// Patch CodePatchCodeBarcodeWriteOptions patchCodeWriteOptions = writer.GetDefaultOptions(BarcodeSymbology.PatchCode) as PatchCodeBarcodeWriteOptions;patchCodeWriteOptions.UseXModule = true;// All PostNet/PlanetPostNetPlanetBarcodeWriteOptions postNetPlanetWriteOptions = writer.GetDefaultOptions(BarcodeSymbology.PostNet) as PostNetPlanetBarcodeWriteOptions;postNetPlanetWriteOptions.UseXModule = true;// Pharma codePharmaCodeBarcodeWriteOptions pharmaCodeBarcodeWriteOptions = writer.GetDefaultOptions(BarcodeSymbology.PharmaCode) as PharmaCodeBarcodeWriteOptions;pharmaCodeBarcodeWriteOptions.UseXModule = true;pharmaCodeBarcodeWriteOptions.XModule = 30;// We will use this object to save filesusing (RasterCodecs codecs = new RasterCodecs()){// Get all the available write symbologiesBarcodeSymbology[] symbologies = writer.GetAvailableSymbologies();foreach (BarcodeSymbology symbology in symbologies){Console.WriteLine("Processing {0}", symbology);// Create the default data for this symbologyBarcodeData data = BarcodeData.CreateDefaultBarcodeData(symbology);// Calculate its size with default optionswriter.CalculateBarcodeDataBounds(LeadRect.Empty, resolution, resolution, data, null);// Create an image to write the data toLeadRect pixels = data.Bounds;using (RasterImage image = RasterImage.Create(pixels.Width, pixels.Height, 1, resolution, RasterColor.FromKnownColor(RasterKnownColor.White))){// Write the barcode with default optionswriter.WriteBarcode(image, data, null);// Save itstring outFileName = Path.Combine(outDir, symbology + ".tif");codecs.Save(image, outFileName, RasterImageFormat.Tif, 1);}}}}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";}
import java.io.Console;import java.io.File;import java.io.IOException;import java.nio.file.Path;import java.time.LocalDateTime;import org.apache.lucene.store.Directory;import org.junit.*;import org.junit.runner.JUnitCore;import org.junit.runner.Result;import org.junit.runner.notification.Failure;import static org.junit.Assert.*;import leadtools.*;import leadtools.barcode.*;import leadtools.codecs.*;public void barcodeWriteOptionsExample() {// Create a directory to store the images we will createString LEAD_VARS_ImagesDir = "C:\\LEADTOOLS23\\Resources\\Images";String outDir = combine(LEAD_VARS_ImagesDir, "MyBarcodes");File dir = new File(outDir);if (dir.exists()) {dir.delete();}dir.mkdirs();int resolution = 300;// Create a Barcode engineBarcodeEngine engine = new BarcodeEngine();// Get the Barcode writerBarcodeWriter writer = engine.getWriter();// All 1D options have the UseXModule set to false by default, we need to set it// to true// so we can calculate the default size. We will change the default options so// we can// pass null to CalculateBarcodeDataBounds and WriteBarcode below// For all Standard 1D.OneDBarcodeWriteOptions oneDWriteOptions = (OneDBarcodeWriteOptions) writer.getDefaultOptions(BarcodeSymbology.UPC_A);oneDWriteOptions.setUseXModule(true);assertTrue(oneDWriteOptions.getUseXModule() == true);// All GS1 Databar StackedGS1DatabarStackedBarcodeWriteOptions gs1DatabarStackedWriteOptions = (GS1DatabarStackedBarcodeWriteOptions) writer.getDefaultOptions(BarcodeSymbology.GS1_DATA_BAR_STACKED);gs1DatabarStackedWriteOptions.setUseXModule(true);assertTrue(gs1DatabarStackedWriteOptions.getUseXModule() == true);// Patch CodePatchCodeBarcodeWriteOptions patchCodeWriteOptions = (PatchCodeBarcodeWriteOptions) writer.getDefaultOptions(BarcodeSymbology.PATCH_CODE);patchCodeWriteOptions.setUseXModule(true);assertTrue(patchCodeWriteOptions.getUseXModule() == true);// All PostNet/PlanetPostNetPlanetBarcodeWriteOptions postNetPlanetWriteOptions = (PostNetPlanetBarcodeWriteOptions) writer.getDefaultOptions(BarcodeSymbology.POST_NET);postNetPlanetWriteOptions.setUseXModule(true);assertTrue(postNetPlanetWriteOptions.getUseXModule() == true);// Pharma codePharmaCodeBarcodeWriteOptions pharmaCodeBarcodeWriteOptions = (PharmaCodeBarcodeWriteOptions) writer.getDefaultOptions(BarcodeSymbology.PHARMA_CODE);pharmaCodeBarcodeWriteOptions.setUseXModule(true);pharmaCodeBarcodeWriteOptions.setXModule(30);assertTrue(pharmaCodeBarcodeWriteOptions.getUseXModule() == true);// We will use this object to save filesRasterCodecs codecs = new RasterCodecs();// Get all the available write symbologiesBarcodeSymbology[] symbologies = writer.getAvailableSymbologies();assertTrue(symbologies != null);for (BarcodeSymbology symbology : symbologies) {assertTrue(symbology != null);System.out.printf("Processing %s%n", symbology);// Create the default data for this symbologyBarcodeData data = BarcodeData.createDefaultBarcodeData(symbology);// Calculate its size with default optionswriter.calculateBarcodeDataBounds(LeadRect.getEmpty(), resolution, resolution, data, null);// Create an image to write the data toLeadRect pixels = data.getBounds();RasterImage image = RasterImage.create(pixels.getWidth(), pixels.getHeight(), 1, resolution,RasterColor.fromKnownColor(RasterKnownColor.WHITE));// Write the barcode with default optionswriter.writeBarcode(image, data, null);// Save itString outFileName = combine(outDir, symbology + ".tif");codecs.save(image, outFileName, RasterImageFormat.TIF, 1);assertTrue((new File(outFileName)).exists());}}
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
