Link Search Menu Expand Document

Set Barcode Decoding Profiles - C#

BarCode Reader SDK sample in C# demonstrating ‘Set Barcode Decoding Profiles’

Program.cs
using System;
using Bytescout.BarCodeReader;

namespace Profiles
{
    /// <summary>
    /// This example demonstrates the use of profiles. Profiles are set of properties 
    /// allowing to apply them to Reader in any combination quickly. You can use 
    /// predefined profiles or create you own in JSON format like in this example.
    /// </summary>
	class Program
	{
		static void Main(string[] args)
		{
            // Create Bytescout.BarCodeReader.Reader instance
            using (Reader reader = new Reader())
            {
                reader.RegistrationName = "demo";
                reader.RegistrationKey = "demo";

                // Apply predefined profiles:
                // enable Code39;
                // enable EAN-13;
                // render PDF at 150 DPI resoultion.
                reader.Profiles = "code39, ean13, pdf150dpi";

                /* -----------------------------------------------------------------------
                NOTE: We can read barcodes from specific page to increase performance.
                For sample please refer to "Decoding barcodes from PDF by pages" program.
                ----------------------------------------------------------------------- */

                // Decode and show barcodes from sample1.pdf
                reader.ReadFrom("sample1.pdf");
                foreach (FoundBarcode foundBarcode in reader.FoundBarcodes)
                    Console.WriteLine("Found \"{0}\" barcode with value \"{1}\"", foundBarcode.Type, foundBarcode.Value);
            }

		    using (Reader reader = new Reader())
		    {
		        reader.RegistrationName = "demo";
		        reader.RegistrationKey = "demo";

		        // Load and apply custom profiles
		        reader.LoadProfiles("profiles.json");
		        reader.Profiles = "negative-distorted-datamatrix";

		        // Decode and show barcodes from sample2.png
		        reader.ReadFrom("sample2.png");
		        foreach (FoundBarcode foundBarcode in reader.FoundBarcodes)
		            Console.WriteLine("Found \"{0}\" barcode with value \"{1}\"", foundBarcode.Type, foundBarcode.Value);
		    }

		    Console.WriteLine("Press any key to exit...");
		    Console.ReadKey();
		}
	}
}

profiles.json
{
    "profiles": [
        {
            "distorted-pdf": {
                "PDFRenderingResolution": "300",
				"ImagePreprocessingFilters": "AddMedian()"
            }
        },
        {
            "negative-distorted-datamatrix": {
                "BarcodeTypesToFind.DataMatrix": "true",
                "SearchNegative": "true",
				"HeuristicMode": "true"
            }
        }
    ]
}


Download Source Code (.zip)

Return to the previous page Explore BarCode Reader SDK


Copyright © 2016 - 2021 ByteScout