Extract barcodes from document page

GroupDocs.Parser provides the functionality to extract barcodes from documents by the GetBarcodes method:

IEnumerable<PageBarcodeArea> GetBarcodes(int pageIndex);

This method returns a collection of PageBarcodeArea objects:

MemberDescription
PageThe page that contains the text area.
RectangleThe rectangular area on the page that contains the text area.
ValueA string value that represents a value of the barcode page area.
CodeTypeNameA string value than represents a type name of the barcode.

Here are the steps to extract all barcodes from the whole document:

  • Instantiate Parser object for the initial document;
  • Check if the document supports barcodes extraction;
  • Call GetBarcodes method with the page index and obtain collection of PageBarcodeArea objects;
  • Iterate through the collection and get a barcode value.

The following example shows how to extract barcodes from a document page:

// Create an instance of Parser class
using (Parser parser = new Parser(Constants.SamplePdfWithBarcodes))
{
    // Check if the document supports barcodes extraction
    if (!parser.Features.Barcodes)
    {
        Console.WriteLine("Document doesn't support barcodes extraction.");
        return;
    }

    // Extract barcodes from the second document page.
    IEnumerable<PageBarcodeArea> barcodes = parser.GetBarcodes(1);

    // Iterate over barcodes
    foreach (PageBarcodeArea barcode in barcodes)
    {
        // Print the page index
        Console.WriteLine("Page: " + barcode.Page.Index.ToString());
        // Print the barcode value
        Console.WriteLine("Value: " + barcode.Value);
    }
}

More resources

GitHub examples

You may easily run the code above and see the feature in action in our GitHub examples:

Free online Barcode Scanner App

Along with full featured .NET library we provide simple, but powerfull free APPs.

You are welcome to scan barcode from your files or mobile phone camera with our free online GroupDocs Scanner App which is build with GroupDocs.Parser .Net.