Scan and Read PDF417 Barcodes in C#

PSPDFKit GdPicture.NET Library enables you to recognize one-dimensional (1D or linear) and two-dimensional (2D) barcodes.

GdPicture.NET supports all 1D barcode formats and the following 2D barcode formats:

  • Aztec Code
  • Data Matrix
  • MaxiCode
  • Micro QR
  • PDF417
  • QR

To recognize PDF417 barcodes and then write their values to the console, follow these steps:

  1. Create a GdPictureImaging object.

  2. Select the image by passing its path to the CreateGdPictureImageFromFile method of the GdPictureImaging object.

  3. Scan the barcodes by passing the image as the parameter of the BarcodePDF417ReaderDoScan method.

  4. Determine the number of scanned barcodes and loop through them.

  5. Save the value of each barcode.

  6. Write the values to the console.

  7. Release unnecessary resources.

The example below scans PDF417 barcodes and then writes their values to the console:

using GdPictureImaging gdpictureImaging = new GdPictureImaging();
// Select the image to process.
int imageID = gdpictureImaging.CreateGdPictureImageFromFile(@"C:\temp\source.png");
// Scan the barcodes.
gdpictureImaging.BarcodePDF417ReaderDoScan(imageID);
// Determine the number of scanned barcodes.
int barcodeCount = gdpictureImaging.BarcodePDF417ReaderGetBarcodeCount();
string content = "";
if (barcodeCount > 0)
{
    content = "Number of barcodes scanned: " + barcodeCount.ToString();
    // Save the value of each barcode.
    for (int i = 1; i <= barcodeCount; i++)
    {
        content += $"\nBarcode Number: {i} Value: {gdpictureImaging.BarcodePDF417ReaderGetBarcodeValue(i)}";
    }
}
// Write the values to the console.
Console.WriteLine(content);
// Release unnecessary resources.
gdpictureImaging.BarcodePDF417ReaderClear();
gdpictureImaging.ReleaseGdPictureImage(imageID);
Using gdpictureImaging As GdPictureImaging = New GdPictureImaging()
    ' Select the image to process.
    Dim imageID As Integer = gdpictureImaging.CreateGdPictureImageFromFile("C:\temp\source.png")
    ' Scan the barcodes.
    gdpictureImaging.BarcodePDF417ReaderDoScan(imageID)
    ' Determine the number of scanned barcodes.
    Dim barcodeCount As Integer = gdpictureImaging.BarcodePDF417ReaderGetBarcodeCount()
    Dim content = ""
    If barcodeCount > 0 Then
        content = "Number of barcodes scanned: " & barcodeCount.ToString()
        ' Save the value of each barcode.
        For i = 1 To barcodeCount
            content = content & vbLf & "Barcode Number: " & i.ToString() & "    Value: " & gdpictureImaging.BarcodePDF417ReaderGetBarcodeValue(i).ToString()
        Next
    End If
    ' Write the values to the console.
    Console.WriteLine(content);
    ' Release unnecessary resources.
    gdpictureImaging.BarcodePDF417ReaderClear()
    gdpictureImaging.ReleaseGdPictureImage(imageID)
End Using
Used Methods and Properties

Related Topics

Additional Options

To determine the number of rows and columns in a barcode, pass the index of the barcode to the BarcodePDF417ReaderGetBarcodeRows and BarcodePDF417ReaderGetBarcodeColumns methods.