static void Main(string[] args)
        {
            try
            {
                if (args.Length != 3)
                {
                    Console.WriteLine("Usage: BarcodeGeneratorConsoleDemo outputfile.png BarcodeType BarcodeValue");
                    return;
                }
                try
                {
                    string fileName     = args[0];
                    string barcodeType  = args[1];
                    string barcodeValue = args[2];

#if NETCORE
                    // register custom encodings for QR and HanXin Code barcodes
                    // (System.Text.Encoding.CodePages package)
                    System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
#endif

                    // create barcode writer
                    BarcodeWriter writer = new BarcodeWriter();
                    writer.Settings.PixelFormat = BarcodeImagePixelFormat.Bgr24;

                    // set type of generating barcode
                    SetBarcodeType(writer.Settings, barcodeType);

                    // specify barcode value
                    writer.Settings.Value = barcodeValue;

                    // generate barcode as PNG file
                    writer.SaveBarcodeAsImage(fileName, BarcodeImageFormat.Png);

                    Console.WriteLine(string.Format("File '{0}' is created.", fileName));
                }
                catch (Exception ex)
                {
                    Console.WriteLine(string.Format("Error: {0}", ex.Message));
                }
            }
            finally
            {
                Console.WriteLine("Press any key...");
                Console.ReadKey();
            }
        }