Plugin.Maui.Barkoder 1.3.0

dotnet add package Plugin.Maui.Barkoder --version 1.3.0
NuGet\Install-Package Plugin.Maui.Barkoder -Version 1.3.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Plugin.Maui.Barkoder" Version="1.3.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Plugin.Maui.Barkoder --version 1.3.0
#r "nuget: Plugin.Maui.Barkoder, 1.3.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Plugin.Maui.Barkoder as a Cake Addin
#addin nuget:?package=Plugin.Maui.Barkoder&version=1.3.0

// Install Plugin.Maui.Barkoder as a Cake Tool
#tool nuget:?package=Plugin.Maui.Barkoder&version=1.3.0

barKoder Barcode Scanner SDK for mobile .NET Maui Apps

Ultimate software-based barcode scanning solution for .NET Maui

The barKoder Barcode Scanner SDK Maui plugin grants an easy to use .NET Maui solution with a great and option-rich interface that can be integrated in both iOS and Android apps. Integrating the barKoder Barcode Scanner SDK into your Enterprise or Consumer-facing mobile apps will instantly transform your user's smartphones and tablets into rugged barcode scanning devices without the need to procure and maintain expensive and sluggish hardware devices that have a very short life span.

Even though the barKoder barcode scanner SDK is a relatively new product, it is already more advanced than any competitor API's. Its robust barcode reading engine can be used to read the content of the most widely used barcodes with lightning fast speed and unprecedented recognition rate:

1D - Codabar, Code 11, Code 25, Code 39, Code 93, Code 128, DotCode, EAN-8, EAN-13, Interleaved 2 of 5, ITF-14, MSI Plessey, Pharmacode, Telepen, UPC-A & UPC-E 2D - Aztec Code, Aztec Compact, Data Matrix, DotCode,PDF417, Micro PDF417, QR Code & Micro QR Code

The barKoder SDK features multiple algorithms that handle a wide variety of barcode scanning scenarios with unprecedented performance in terms of speed and success rate:

  • DPM Mode - Specially designed scanning template for decoding Data Matrix barcodes engraved using any Direct Part Marking (DPM) technique;
  • MatrixSight - MatrixSight® is the ultimate 2D barcode recognition system. Its capabilities transcend beyond anything that a traditional barcode scanner, be that hardware or software-based, can achieve. Simply put, there's no QR Code or Data Matrix barcode that is safe from the barKoder MatrixSight® algorithm. They can have absolutely no finder, alignment or timing patters and can even miss entire data segments but that still won't keep their data safe from being read;
  • Segment Decoding - The advanced barcode localization logics that are part of the Segment Decoding® technique elevated the barKoder SDK into the most powerful scanning API when it comes to 1D barcode recognition, regardless whether the barcodes have been deformed, crumpled, wrinkled and otherwise altered. Even if it goes to a degree where a straight line can't pass through all its bars, a limitation that other decoders, including hardware ones can't alleviate. Segment Decoding® is unmatched in its performance levels and pattern matching capabilities, amortizing even the highest degree of barcode damages, including printing errors, label damage, scanner angles, low print quality, as well as various other levels of physical damage or environmental conditionings. The fact that the data can be extracted even from 1D barcodes that have significant deformations along their Z axis, makes barKoder especially handy when trying to recognize barcodes found on test tubes, bottles and other surfaces with rounded, curved, hollowed or otherwise irregular shapes;
  • VIN Barcode Scanning Mode - When you combine MatrixSight® & Segment Decoding®, the result is breathtaking and leads to the most advanced VIN barcode scanner on the market, able to capture the data even within the most stubborn & difficult to read VIN-powered Code 39, Code 128, Data Matrix & QR Codes;
  • DeBlur Mode - Whether there's lens, motion or focus blur present in EAN or UPC barcodes, the barKoder DeBlur Mode alleviates it fully and doesn't allow the scanning experience to suffer;
  • PDF417-LineSight - The robust PDF417 barcode scanner SDK that is offered by barKoder can detect even the most severely damaged PDF417 codes, including samples missing their start and stop patterns, stop row indicators or even entire data columns, making it the sublime choice for apps that need to reliably scan US or Canadian driver's licenses, South African vehicle license discs or driver's licenses, as well as various types of ID's such as Military, Argentinian, Colombian or South African Smart ID Cards.
  • Batch MultiScan - The Batch MultiScan feature of the barKoder Barcode Scanner SDK for mobile apps and websites, will enable your users to decode multiple barcodes regardless of their type or size in one go. The barKoder API covers all common 1D and 2D barcode symbologies, enabling intuitive and fast data capture while delivering an accuracy of at least 99%, even under the most difficult scanning conditions. Whether in inventory counting, on the last mile or in manufacturing, our fast and accurate Batch MultiScan algorithm greatly increases efficiency and helps create friction-less internal and external processes. The Batch MultiScan works with smartphones, tablets and industrial cameras, enabling true mobility wherever it’s applied.
  • DPM Recognition Mode - barKoder SDK's unique algorithms and features provided all the necessary conditions for creating a special mode for decoding even the most challenging Data Matrix barcodes, i.e. those engraved utilizing the Direct Part Marking (DPM) methods, something that previously was only possible with extremely expensive and specialized hardware scanners. Now all you need to achieve such barcode reading levels is your own personal smart device!

You can check out our free demo app Barcode Scanner by barKoder available both via Apple App Store & Google Play Store.

Trial License

If you run the barKoder Barcode Scanner SDK without a valid trial or production license, all results upon successful barcode scans will be partially masked by asterisks (*). You can get a trial license simply by registering on the barKoder Portal and utilizing the self-service for Evaluation License Generation! Each trial license will be good for an initial duration of 30 days and can be deployed to up to 25 devices. For any custom requirements, contact our sales team via sales@barkoder.com

Note that a trial license is only supposed to be utilized in a development or staging environment.

Free Developer Support

Our support is completely free for integration or testing purposes and granted through the barKoder Portal. After registering and logging into your account, you only need to submit a Support Issue form. Alternatively, you can contact us by email via support@barkoder.com.

Installation guide for barKoder's Maui Barcode Scanner SDK plugin

This is a guide for the Maui plugin powered by the barKoder Barcode Scanner SDK.

1. Add our Plugin.Maui.Barkoder nuget package.

2. Camera permission

Our SDK requires camera permission to be granted in order to use scanning features. For Android, the permission is set in the manifest from the package. For iOS you need to specify camera permission in Platforms/iOS/Info.plist file inside your project

<key>NSCameraUsageDescription</key>
<string>Camera permission</string>

4. Adding BarkoderView

4.1. Add Namespace Declaration

In your XAML file where you want to use the plugin, add a namespace declaration for the plugin assembly. This allows you to reference the controls provided by the plugin in your XAML markup. For example:

xmlns:barkoder="clr-namespace:Plugin.Maui.Barkoder.Controls;assembly=Plugin.Maui.Barkoder"

4.2. Add the View

Once you've added the namespace declaration, you can now use the controls provided by the plugin in your XAML markup. For example, to add a BarkoderView control, you can use the following markup:

<barkoder:BarkoderView
    x:Name="BKDView"
    barkoder:LicenseKey="YOUR_LICENSE_KEY"
    HeightRequest="200"/>

Replace "YOUR_LICENSE_KEY" with your actual license key provided by the plugin.

4.3. Adding configuration

In your code-behind (XAML.cs) file you can configure optional settings for the BarkoderView control. Here's how you can implement it:

private void SetBarkoderSettings() 
{
  // These are optional settings, otherwise default values will be used
  BKDView.SetImageResultEnabled(true);
  BKDView.SetLocationInImageResultEnabled(true);
  BKDView.SetRegionOfInterestVisible(true);
}

5. Ready to Scan Event

To begin scanning, ensure that you have implemented the IBarkoderDelegate interface and then call the StartScanning method from BKDView

public class YourPage : ContentPage, IBarkoderDelegate
{
    // Your existing methods and properties...

    // Method to start the scanning process
    private void StartScanning()
    {
        // Start scanning using the BarkoderView control and pass 'this' as the delegate
        BKDView.StartScanning(this);
    }

    // Implementing the DidFinishScanning method from IBarkoderDelegate
    public void DidFinishScanning(BarcodeResult[] result)
    {
        // Handle the scanned result here
        foreach (var barcode in result)
        {
            // Do something with each barcode result, for example:
            Console.WriteLine($"Scanned barcode: {barcode.TextualData}");
        }
    }
}

6. Licensing

The SDK will scan barcodes even without a valid license; however all results will be randomly masked with (*) Asterisk characters. By using our software you are agreeing to our End User License Agreement. To obtain a valid license, one should create an account here and either get a trial license (to test the software out) or procure a production license that can be used within a live app.

Product Compatible and additional computed target framework versions.
.NET net8.0-android34.0 is compatible.  net8.0-ios17.2 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.3.0 80 5/23/2024
1.2.8.23-beta 77 4/25/2024
1.2.8.17-beta 93 4/1/2024
1.2.8 117 4/1/2024
1.2.7 127 3/21/2024
1.0.3-beta 82 3/21/2024
1.0.2-beta 75 3/21/2024
1.0.1-beta 83 3/20/2024
1.0.0-beta 77 3/20/2024
0.2.12 119 3/19/2024
0.2.6 125 3/19/2024
0.1.9 127 3/18/2024
0.1.7 127 3/18/2024
0.1.6 118 3/18/2024
0.1.0 130 3/15/2024
0.0.33 123 3/13/2024
0.0.31 139 3/12/2024
0.0.30 135 3/11/2024
0.0.27 123 3/7/2024
0.0.26 127 3/7/2024
0.0.25 143 3/7/2024
0.0.24 125 3/7/2024
0.0.23 104 3/7/2024
0.0.22 126 3/7/2024
0.0.21 123 3/7/2024
0.0.20 137 3/7/2024
0.0.19 129 3/7/2024
0.0.18 136 3/5/2024
0.0.17 124 3/5/2024
0.0.16 163 2/29/2024
0.0.15 145 2/29/2024
0.0.6 226 2/27/2024
0.0.5 179 2/27/2024
0.0.4 129 2/27/2024
0.0.3 157 2/26/2024
0.0.2 147 2/26/2024
0.0.1 151 2/26/2024