Manual - PDF417

Introduction

PDF417 code comes from the 2D barcode family. You can encode a large amount of information within a single barcode.
All the ASCII characters from 0 to 255 are supported. PDF417 encodes the data differently based on the type of characters provided. Some characters are encoded with a higher compression level. See the compression level on the technical page.

This class inherits the BCGBarcode2D class.

Example

Methods

BCGpdf417's Methods

BCGBarcode2D's Methods

BCGBarcode's Methods

Code Example


var colorBlack = new BCGColor(Color.Black);
var colorWhite = new BCGColor(Color.White);

// Barcode Part
var code = new BCGpdf417();
code.SetScale(2);
code.SetForegroundColor(colorBlack);
code.SetBackgroundColor(colorWhite);
code.SetErrorLevel(2);
code.SetCompact(false);
code.SetQuietZone(true);
code.Parse("PDF417");

// Drawing Part
var drawing = new BCGDrawing(code, colorWhite);

var memoryStream = new MemoryStream();
await drawing
    .FinishAsync(BCGDrawing.ImageFormat.Png, memoryStream);

Method explanations

  • GetQuietZone() — Gets if the quiet zone will be drawn
    Returns
    bool - true if activated, false otherwise
  • SetQuietZone(bool quietZone) — Specifies to draw a quiet zone around the barcode
    Description
    To be read correctly, the PDF417 must have a quiet zone around the image. You can, however, turn this off.
    The default value is true.
  • GetCompact() — Gets if the barcode will be compact/truncated
    Description
    Gets if the barcode will be compact/truncated.
    Returns
    bool - true if compact/truncated
  • SetCompact(bool compact) — Specifies if the barcode must be compact/truncated
    Description
    Cuts the barcode by removing the 2 last columns on the right. Your barcode will be smaller but harder to read.
    The default value is false.
  • GetColumn() — Gets the number of data column
    Description
    Gets the number of columns.
    Returns
    int
  • SetColumn(int column) — Sets the number of data column
    Description
    Specifies the number of data columns you want to write. You can spread your data more horizontally than vertically by modifying this parameter.
    The number of columns must be between 1 and 30.
    Setting the value to -1 makes the barcode calculate this number automatically and optimize it.
    The default value is -1.
  • GetErrorLevel() — Gets the error correction level of the barcode
    Description
    Gets the error level.
    Returns
    int
  • SetErrorLevel(int level) — Sets the error correction level of the barcode
    Description
    This is the error correction level which allows you to detect and correct errors in the barcode.
    The level must be between 0 and 8.
    Setting this value calculates the error level automatically by trying to obtain optimal error detection.
    The number of keywords you write will be restricted depending on the error level you choose. See the technical page for more information.
    The default value is -1.
  • GetRatio() — Gets the ratio for printing
    Description
    Gets the ratio for printing.
    Returns
    int
  • SetRatio(int ratio) — Sets the ratio for printing
    Description
    Sets the ratio for printing. This is used only if the number of columns is chosen automatically since this parameter will affect the number of columns in your barcode.
    If the number is under 1, the barcode will be spread more horizontally.
    The default value is -1.
  • SetScaleX(int scaleX) — Sets the scaling X for the barcode
    Description
    The width in pixel of one module.
    The default value is 1.
    Note that this method is public.
  • SetScaleY(int scaleY) — Sets the scaling Y for the barcode
    Description
    The height in pixel of one module.
    The default value is 1.
    Note that this method is public.
  • Parse(string text) — Analyzes a text message to draw afterwards
    Description
    The data you pass to the text argument must be supported by the type of barcode you use.
    Check each barcode's introduction section to obtain more information on how to use this method within each symbology.
  • Draw(Graphics image) — Draws the barcode on the image
    Description
    The value of the image argument must be an image resource. The size of the image can be defined by the value received from GetDimension().
  • GetDimension(int width, int height) — Returns an array containing the required size for the image
    Description
    Returns an array in which the first index is the image width and the second index is the image height.
    The arguments are used to specify the starting point of the drawing. Should be 0 for both.
    The BCGDrawing class uses this method to create the image resource.
    Returns
    array(int, int) - [0] is the width, [1] is the height
  • GetScale() — Gets the scale of the barcode
    Description
    Gets the scale of the barcode. The value is the number of the "smallest" unit in pixel.
    Returns
    int - value in pixels
  • SetScale(int scale) — Sets the scale of the barcode
    Description
    The barcode will be x times bigger. Then a pixel will be x by x for its size.
  • GetForegroundColor() — Gets the color of the bars
    Description
    Gets the color of the bars of the barcode.
    Returns
  • SetForegroundColor(BCGColor color) — Sets the color of the bars
    Description
    Sets the color of the bars of the barcode. By default, the color is black. This argument can be a BCGColor class or any other argument that BCGColor can accept in its constructor.
  • GetBackgroundColor() — Gets the color of the spaces
    Description
    Gets the color of the spaces of the barcode.
    Returns
  • SetBackgroundColor(BCGColor color) — Sets the color of the spaces
    Description
    Sets the color of the spaces of the barcode. By default, the color is white. This argument can be a BCGColor class or any other argument that BCGColor can accept in its constructor.
  • SetColor(BCGColor foregroundColor, BCGColor backgroundColor) — Sets the color of the bars and spaces
    Description
    An easy and fast method to set the color of the bars and spaces. Check the SetForegroundColor() and SetBackgroundColor().
  • GetOffsetX() — Gets the X offset
    Description
    Gets the X offset of the barcode in pixels. The value isn't multiplied by the scale.
    Returns
    int - value in pixels
  • SetOffsetX(int value) — Sets the X offset
    Description
    Specifies the X offset of the barcode in pixels multiplied by the scale. The required size returned by GetDimension() will be modified accordingly.
  • GetOffsetY() — Gets the Y offset
    Description
    Gets the Y offset of the barcode in pixels. The value isn't multiplied by the scale.
    Returns
    int - value in pixels
  • SetOffsetY(int value) — Sets the Y offset
    Description
    Specifies the Y offset of the barcode in pixels multiplied by the scale. The required size returned by GetDimension() will be modified accordingly.
  • AddLabel(BCGLabel label) — Adds a label to the graphic
    Description
    Adds a BCGLabel object to the drawing.
  • RemoveLabel(BCGLabel label) — Removes a label from the graphic
    Description
    Removes a specific BCGLabel object from the drawing.
  • ClearLabels() — Removes the labels from the graphic
    Description
    Clears the BCGLabel objects from the drawing.