BarcodeParameters

BarcodeParameters class

Container class for barcode parameters to pass-through to BarcodeGenerator.

To learn more, visit the Working with Fields documentation article.

public class BarcodeParameters

Constructors

NameDescription
BarcodeParameters()The default constructor.

Properties

NameDescription
AddStartStopChar { get; set; }Whether to add Start/Stop characters for barcode types NW7 and CODE39.
BackgroundColor { get; set; }Bar code background color (0x000000 - 0xFFFFFF)
BarcodeType { get; set; }Bar code type.
BarcodeValue { get; set; }Data to be encoded.
CaseCodeStyle { get; set; }Style of a Case Code for barcode type ITF14. The valid values are [STD|EXT|ADD]
DisplayText { get; set; }Whether to display barcode data (text) along with image.
ErrorCorrectionLevel { get; set; }Error correction level of QR Code. Valid values are [0, 3].
FacingIdentificationMark { get; set; }Type of a Facing Identification Mark (FIM).
FixCheckDigit { get; set; }Whether to fix the check digit if it’s invalid.
ForegroundColor { get; set; }Bar code foreground color (0x000000 - 0xFFFFFF)
IsBookmark { get; set; }Whether PostalAddress is the name of a bookmark.
IsUSPostalAddress { get; set; }Whether PostalAddress is a U.S. postal address.
PosCodeStyle { get; set; }Style of a Point of Sale barcode (barcode types UPCA|UPCE|EAN13|EAN8). The valid values (case insensitive) are [STD|SUP2|SUP5|CASE].
PostalAddress { get; set; }Barcode postal address.
ScalingFactor { get; set; }Scaling factor for the symbol. The value is in whole percentage points and the valid values are [10, 1000].
SymbolHeight { get; set; }Bar code image height (in twips - 1/1440 inches)
SymbolRotation { get; set; }Rotation of the barcode symbol. Valid values are [0, 3].

Remarks

The set of parameters are according to DISPLAYBARCODE field options. See the exact list at https://msdn.microsoft.com/en-us/library/hh745901(v=office.12).aspx

Examples

Shows how to use a barcode generator.

Document doc = new Document();
            DocumentBuilder builder = new DocumentBuilder(doc);
            // We can use a custom IBarcodeGenerator implementation to generate barcodes,
            // and then insert them into the document as images.
            doc.FieldOptions.BarcodeGenerator = new CustomBarcodeGenerator();

            // Below are four examples of different barcode types that we can create using our generator.
            // For each barcode, we specify a new set of barcode parameters, and then generate the image.
            // Afterwards, we can insert the image into the document, or save it to the local file system.
            // 1 -  QR code:
            BarcodeParameters barcodeParameters = new BarcodeParameters
            {
                BarcodeType = "QR",
                BarcodeValue = "ABC123",
                BackgroundColor = "0xF8BD69",
                ForegroundColor = "0xB5413B",
                ErrorCorrectionLevel = "3",
                ScalingFactor = "250",
                SymbolHeight = "1000",
                SymbolRotation = "0"
            };

            Image img = doc.FieldOptions.BarcodeGenerator.GetBarcodeImage(barcodeParameters);
#if NET461_OR_GREATER || JAVA
            img.Save(ArtifactsDir + "FieldOptions.BarcodeGenerator.QR.jpg");
#elif NET5_0_OR_GREATER
            using (SKFileWStream fs = new SKFileWStream(ArtifactsDir + "FieldOptions.BarcodeGenerator.QR.jpg"))
            {
                img.Encode(fs, SKEncodedImageFormat.Jpeg, 100);
            }
#endif
            builder.InsertImage(img);

            // 2 -  EAN13 barcode:
            barcodeParameters = new BarcodeParameters
            {
                BarcodeType = "EAN13",
                BarcodeValue = "501234567890",
                DisplayText = true,
                PosCodeStyle = "CASE",
                FixCheckDigit = true
            };

            img = doc.FieldOptions.BarcodeGenerator.GetBarcodeImage(barcodeParameters);
#if NET461_OR_GREATER || JAVA
            img.Save(ArtifactsDir + "FieldOptions.BarcodeGenerator.EAN13.jpg");
#elif NET5_0_OR_GREATER
            using (SKFileWStream fs = new SKFileWStream(ArtifactsDir + "FieldOptions.BarcodeGenerator.EAN13.jpg"))
            {
                img.Encode(fs, SKEncodedImageFormat.Jpeg, 100);
            }
#endif
            builder.InsertImage(img);

            // 3 -  CODE39 barcode:
            barcodeParameters = new BarcodeParameters
            {
                BarcodeType = "CODE39",
                BarcodeValue = "12345ABCDE",
                AddStartStopChar = true
            };

            img = doc.FieldOptions.BarcodeGenerator.GetBarcodeImage(barcodeParameters);
#if NET461_OR_GREATER || JAVA
            img.Save(ArtifactsDir + "FieldOptions.BarcodeGenerator.CODE39.jpg");
#elif NET5_0_OR_GREATER
            using (SKFileWStream fs = new SKFileWStream(ArtifactsDir + "FieldOptions.BarcodeGenerator.CODE39.jpg"))
            {
                img.Encode(fs, SKEncodedImageFormat.Jpeg, 100);
            }
#endif
            builder.InsertImage(img);

            // 4 -  ITF14 barcode:
            barcodeParameters = new BarcodeParameters
            {
                BarcodeType = "ITF14",
                BarcodeValue = "09312345678907",
                CaseCodeStyle = "STD"
            };

            img = doc.FieldOptions.BarcodeGenerator.GetBarcodeImage(barcodeParameters);
#if NET461_OR_GREATER || JAVA
            img.Save(ArtifactsDir + "FieldOptions.BarcodeGenerator.ITF14.jpg");
#elif NET5_0_OR_GREATER
            using (SKFileWStream fs = new SKFileWStream(ArtifactsDir + "FieldOptions.BarcodeGenerator.ITF14.jpg"))
            {
                img.Encode(fs, SKEncodedImageFormat.Jpeg, 100);
            }
#endif            
            builder.InsertImage(img);

            doc.Save(ArtifactsDir + "FieldOptions.BarcodeGenerator.docx");

See Also