Przejdź do treści stopki
KORZYSTANIE Z IRONBARCODE

Generator kodów kreskowych Xamarin: Generuj kody kreskowe w C# używając IronBarcode

Tworzenie BARCODE-ów w aplikacjach Xamarin nie musi być skomplikówane ani czasochłonne. Dzięki IronBarcode programiści mogą generować profesjonalnej jakości kody kreskowe i kody QR na platformach Android i iOS, używając zaledwie kilku wierszy kodu C#. Ta biblioteka BarCode eliminuje potrzebę implementacji specyficznych dla platformy, zapewniając jednocześnie funkcje klasy Enterprise, które działają spójnie na wszystkich urządzeniach mobilnych w projektach Xamarin Forms lub natywnych projektach Xamarin.

W tym artykułe pokazano, jak zaimplementować system generowania kodów kreskowych w wielopłatformowej aplikacji mobilnej przy użyciu IronBarcode. Dowiesz się, jak zainstalować bibliotekę za pomocą NuGet, generować różne formaty BarCode'ów, w tym kody QR, dostosowywać wygląd za pomocą kolorów i adnotacji oraz eksportować wyniki w wielu formatach plików — a wszystko to przy zachowaniu przejrzystego, łatwego w utrzymaniu kodu C#, który działa na systemach Android i iOS.

Dłączego potrzebujesz profesjonalnej biblioteki BarCode dla Xamarin Forms?

Wdrożenie generowania BarCode od podstaw w Xamarin.Forms wymaga obsługi złożonych algorytmów kodowania, zarządzania różnicami w renderowaniu specyficznymi dla platformy oraz zapewnienia dokładnego wyniku dla różnych symboli BarCode. Profesjonalna biblioteka kodów kreskowych .NET, taka jak IronBarcode, eliminuje te wyzwania, zapewniając ujednolicony interfejs API, który wewnętrznie obsługuje wszystkie techniczne złożoności za pomocą prostych metod C#.

IronBarcode obsługuje ponad 30 formatów kodów kreskowych, w tym kody QR, Kod 128, Code 39, EAN-13, UPC-A, Data Matrix, PDF 417 i kody Aztec. Każdy format jest zoptymalizowany pod kątem konkretnych zastosowań. Na przykład kody QR doskonale nadają się do przechowywania adresów URL i dużych zbiorów danych tekstowych, EAN-13 służy do oznaczania produktów detalicznych, a Kod 128 zapewnia kodowanie alfanumeryczne o dużej gęstości. Biblioteka automatycznie oblicza sumy kontrolne, stosuje odpowiednie poziomy korekcji błędów i zapewnia zgodność ze standardami GS1 dla zastosowań komercyjnych.

Wielopłatformowy charakter IronBarcode gwarantuje, że kod generujący kody kreskowe pozostaje identyczny niezależnie od tego, czy tworzysz aplikację na Androida, czy na iOS. Ta spójność wykracza poza aplikacje Xamarin — ten sam kod działa w aplikacjach internetowych ASP.NET, oprogramowaniu desktopowym i kontenerach Docker, co czyni go idealnym rozwiązaniem dla Enterprise o zróżnicowanych wymaganiach wdrożeniowych. Dowiedz się więcej o możliwościach wielopłatformowych IronBarcode.

Xamarin a .NET MAUI: zrozumieniuiuiuiuie kontekstu

Xamarin od wielu lat jest głównym frameworkiem Microsoftu do tworzenia aplikacji mobilnych na wiele platform dla programistów C#. Chociaż firma Microsoft przeszła obecnie na .NET MAUI jako nowoczesnego następcę, wiele aplikacji produkcyjnych nadal działa na Xamarin.Forms oraz Xamarin.Android/iOS. IronBarcode współpracuje z obydwoma frameworkami, więc wzorce przedstawione w tym artykułe mają zastosowanie niezależnie od tego, czy prowadzisz projekt Xamarin, czy migrujesz do .NET MAUI.

Jeśli rozpoczynasz dziś zupełnie nowy projekt mobilny, rozważ użycie .NET MAUI z IronBarcode. Dokumentacja IronBarcode .NET MAUI obejmuje te same funkcje, co tutaj, wraz z instrukcjami konfiguracji projektu specyficznymi dla .NET MAUI.

Dłączego nie stworzyć logiki BarCode od podstaw?

Pisanie niestandardowej logiki kodowania BarCode wiąże się z kilkoma zagrożeniami związanymi z utrzymaniem. Należy uwzględnić algorytmy sum kontrolnych specyficzne dla danego formatu, obliczenia szerokości kresek, wymagania dotyczące strefy ciszy oraz kompatybilność skanerów różnych producentów sprzętu. IronBarcode abstrahuje to wszystko za pomocą przejrzystego interfejsu API. Dokumentacja API IronBarcode opisuje każdą metodę i parametr, dzięki czemu Twój zespół może szybko znaleźć odpowiednie narzędzie do każdego scenariusza.

Jak zainstalować IronBarcode w projekcie Xamarin?

Instalacja IronBarcode w projekcie Xamarin.Forms zajmuje zaledwie kilka minut za pomocą menedżera pakietów NuGet. Otwórz rozwiązanie Visual Studio zawierające projekty mobilne na wiele platform i wykonaj poniższe czynności.

Kliknij prawym przyciskiem myszy na swoje rozwiązanie w Eksploratorze rozwiązań i wybierz "Zarządzaj pakietami NuGet dla rozwiązania". W zakładce Przeglądaj wyszukaj "IronBarcode". Wybierz oficjalny pakiet IronBarcode firmy Iron Software i zainstaluj go we wszystkich projektach w swoim rozwiązaniu, w tym w projekcie współdzielonym oraz w obu projektach specyficznych dla danej platformy. Możesz zapoznać się ze szczegółowymi informacjami o pakiecie NuGet, aby sprawdzić historię wersji i zależności.

Alternatywnie można użyć konsoli menedżera pakietów, wprowadzając następujące polecenie:

Install-Package BarCode
Install-Package BarCode
SHELL

W przypadku projektów na Androida do podstawowego tworzenia BARCODE nie są wymagańe żadne dodatkowe uprawnienia. Jeśli jednak planujesz zapisywać wygenerowane BARCODES na nośniku zewnętrznym, dodaj uprawnienie WRITE_EXTERNAL_STORAGE do swojego AndroidManifest.xml. Zapoznaj się z przewodnikiem konfiguracji dla systemu Android, aby uzyskać szczegółowe informacje dotyczące platformy.

W przypadku projektów na iOS, jeśli zapisujesz kody QR lub BARCODE-y w bibliotece zdjęć, dodaj klucz NSPhotoLibraryAddUsageDescription do swojego Info.plist wraz z odpowiednim opisem dla użytkownika. Dokumentacja dotycząca konfiguracji BarCode w systemie iOS zawiera kompletne instrukcje.

Konfiguracja klucza licencyjnego

Aby korzystać z pełnej funkcjonalności IronBarcode bez znaków wodnych, potrzebny jest klucz licencyjny. Można uzyskać bezpłatną licencję próbną, która zapewnia pełny dostęp do wszystkich funkcji generowania kodów kreskowych w celu oceny. Ustaw klucz licencyjny jednorazowo w kodzie uruchamiającym aplikację:

IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";
IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";
Imports IronBarCode

IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY-HERE"
$vbLabelText   $csharpLabel

Bez klucza licencyjnego IronBarcode działa w trybie testowym, umieszczając znaki wodne na generowanych BarCodes. W przypadku aplikacji produkcyjnych firma Iron Software oferuje różne poziomy licencji, w tym licencje na pojedynczy projekt, licencje dla całej organizacji oraz licencje dystrybucyjne SaaS przeznaczone do wdrażania aplikacji mobilnych.

Jak wygenerować swój pierwszy BarCode za pomocą IronBarcode?

Utworzenie pierwszego BARCODE-a za pomocą IronBarcode w aplikacji Xamarin.Forms wymaga minimalnej ilości kodu C#. Poniższy przykład generuje BARCODE Kod 128, zapisuje go jako plik PNG i dodaje etykietę tekstową czytelną dla człowieka:

using IronBarCode;
using System.IO;

string filePath = Path.Combine(
    Environment.GetFolderPath(Environment.SpecialFolder.Personal),
    "barcode.png");

var myBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com", BarcodeEncoding.Code128);
myBarcode.ResizeTo(500, 200);
myBarcode.AddBarcodeValueTextBelowBarcode();
myBarcode.SaveAsPng(filePath);
using IronBarCode;
using System.IO;

string filePath = Path.Combine(
    Environment.GetFolderPath(Environment.SpecialFolder.Personal),
    "barcode.png");

var myBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com", BarcodeEncoding.Code128);
myBarcode.ResizeTo(500, 200);
myBarcode.AddBarcodeValueTextBelowBarcode();
myBarcode.SaveAsPng(filePath);
Imports IronBarCode
Imports System.IO

Dim filePath As String = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), "barcode.png")

Dim myBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com", BarcodeEncoding.Code128)
myBarcode.ResizeTo(500, 200)
myBarcode.AddBarcodeValueTextBelowBarcode()
myBarcode.SaveAsPng(filePath)
$vbLabelText   $csharpLabel

Metoda BarcodeWriter.CreateBarcode() jest głównym punktem wejścia do generowania BARCODE-ów. Przyjmuje dwa argumenty: dane do zakodowania oraz format BARCODE z wyliczenia BarcodeEncoding. Metoda zwraca obiekt GeneratedBarcode, który zapewnia szerokie możliwości dostosowywania za pomocą płynnego interfejsu API.

Metoda ResizeTo() dostosowuje wymiary BARCODE, zachowując odpowiednie proporcje i wymagania dotyczące szerokości kresek dla wybranej symboliki. AddBarcodeValueTextBelowBarcode() dodaje tekst czytelny dla człowieka poniżej pasków, co jest wymagańe w wielu scenariuszach związanych ze sprzedażą detaliczną i zarządzaniem zapasami. Zapoznaj się z pełną dokumentacją API BarcodeWriter, aby poznać zaawansowane funkcje.

Wynik

Jak generować BarCodes w Xamarin przy użyciu IronBarcode: Rysunek 10 – Wynik PDF417

Generowanie kodów QR dla aplikacji mobilnych

Aby wygenerować kod QR w aplikacji skanującej kody kreskowe Xamarin, użyj specjalnej klasy QRCodeWriter. Kody QR są idealne dla aplikacji mobilnych, ponieważ aparaty w urządzeniach mogą je szybko skanować bez specjalistycznego sprzętu:

using IronBarCode;

var qrCode = QRCodeWriter.CreateQrCode("SKU-12345|Batch-789|Exp-2025", 500);
qrCode.ChangeBarCodeColor(IronSoftware.Drawing.Color.DarkBlue);

byte[] barcodeBytes = qrCode.ToPngBinaryData();
using IronBarCode;

var qrCode = QRCodeWriter.CreateQrCode("SKU-12345|Batch-789|Exp-2025", 500);
qrCode.ChangeBarCodeColor(IronSoftware.Drawing.Color.DarkBlue);

byte[] barcodeBytes = qrCode.ToPngBinaryData();
Imports IronBarCode
Imports IronSoftware.Drawing

Dim qrCode = QRCodeWriter.CreateQrCode("SKU-12345|Batch-789|Exp-2025", 500)
qrCode.ChangeBarCodeColor(Color.DarkBlue)

Dim barcodeBytes As Byte() = qrCode.ToPngBinaryData()
$vbLabelText   $csharpLabel

Metoda QRCodeWriter.CreateQrCode() specjalizuje się w tworzeniu kodów QR z obsługą osadzania logo i dostosowywania kolorów. Drugi parametr określa rozmiar kodu QR w pikselach. Metoda ToPngBinaryData() konwertuje wygenerowany kod QR na tablicę bajtów, co jest przydatne do przechowywania w bazie danych lub przesyłania przez sieć. Zapoznaj się z dodatkowymi przykładami generowania kodów QR dla zaawansowanych konfiguracji, w tym z osadzonymi logo.

Jak pracować z różnymi formatami BarCode?

Szeroka obsługa formatów przez IronBarcode pozwala wygenerować dokładnie taki typ kodu kreskowego, jakiego wymaga Twoja aplikacja Xamarin.Forms. Poniższy przykład pokazuje, jak utworzyć BARCODE-y EAN-13, UPC-A, DataMatrix i PDF417 na podstawie pojedynczego ciągu znaków kodu produktu:

using IronBarCode;

string productCode = "012345678905";

// EAN-13 for European retail
var ean13 = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.EAN13);
ean13.SaveAsPng("product_ean13.png");

// UPC-A for North American retail
var upcA = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.UPCA);
upcA.SaveAsJpeg("product_upca.jpg");

// DataMatrix for small items with high data density
var dataMatrix = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.DataMatrix);
dataMatrix.SaveAsPdf("product_datamatrix.pdf");

// PDF417 for driver licenses and ID cards
var pdf417 = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.PDF417);
pdf417.SaveAsTiff("product_pdf417.tiff");
using IronBarCode;

string productCode = "012345678905";

// EAN-13 for European retail
var ean13 = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.EAN13);
ean13.SaveAsPng("product_ean13.png");

// UPC-A for North American retail
var upcA = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.UPCA);
upcA.SaveAsJpeg("product_upca.jpg");

// DataMatrix for small items with high data density
var dataMatrix = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.DataMatrix);
dataMatrix.SaveAsPdf("product_datamatrix.pdf");

// PDF417 for driver licenses and ID cards
var pdf417 = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.PDF417);
pdf417.SaveAsTiff("product_pdf417.tiff");
Imports IronBarCode

Dim productCode As String = "012345678905"

' EAN-13 for European retail
Dim ean13 = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.EAN13)
ean13.SaveAsPng("product_ean13.png")

' UPC-A for North American retail
Dim upcA = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.UPCA)
upcA.SaveAsJpeg("product_upca.jpg")

' DataMatrix for small items with high data density
Dim dataMatrix = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.DataMatrix)
dataMatrix.SaveAsPdf("product_datamatrix.pdf")

' PDF417 for driver licenses and ID cards
Dim pdf417 = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.PDF417)
pdf417.SaveAsTiff("product_pdf417.tiff")
$vbLabelText   $csharpLabel

Każda symbolika BarCode ma specyficzne cechy i zastosowania. Kody EAN-13 i UPC-A wymagają wprowadzania wyłącznie cyfr i automatycznie obliczają cyfry kontrolne w celu zapewnienia dokładności skanowania w handlu detalicznym. DataMatrix doskonale sprawdza się w kodowaniu dużych ilości danych na minimalnej przestrzeni, co czyni go idealnym rozwiązaniem do śledzenia komponentów elektronicznych i farmaceutyków. PDF417 obsługuje przechowywanie dużych ilości danych z wbudowaną korekcją błędów, co jest powszechnie stosowane w transporcie i dokumentach identyfikacyjnych.

Biblioteka automatycznie sprawdza dane wejściowe pod kątem zgodności z wymaganiami formatowymi i generuje opisowe wyjątki w przypadku nieprawidłowych danych wejściowych. Ta walidacja gwarantuje, że wygenerowane kody kreskowe są zgodne z międzynarodowymi normami ISO i można je niezawodnie skanować za pomocą komercyjnych czytników BarCode używanych w handlu detalicznym i logistyce. Dowiedz się więcej o wyborze odpowiedniego formatu BARCODE do konkretnego zastosowania.

Wynik

Jak generować BarCodes w Xamarin przy użyciu IronBarcode: Rysunek 9 — Wynik PDF417

Porównanie formatów BarCode

Poniższa tabela zawiera zestawienie najczęściej używanych formatów BarCode oraz ich typowych zastosowań w projektach mobilnych:

Porównanie formatów BarCode dla aplikacji mobilnych
Format Typ danych Typowy przypadek użycia Wartość kodowania kodów kreskowych
Kod QR Znaki alfanumeryczne, binarne, adresy URL Linki do produktów, wizytówki, procesy płatności QRCode
Kod 128 Alfanumeryczny Etykiety wysyłkowe, zapasy Code128
EAN-13 Liczba (13 cyfr) Europejskie produkty detaliczne EAN13
UPC-A Liczbowe (12 cyfr) Produkty detaliczne w Ameryce Północnej UPCA
DataMatrix Alfanumeryczne, binarne Elektronika, farmaceutyka, małe etykiety DataMatrix
PDF417 Alfanumeryczne, binarne Dokumenty tożsamości, karty pokładowe, transport PDF417

Jak dostosować i wyeksportować BarCodes do interfejsów użytkownika urządzeń mobilnych?

IronBarcode oferuje szerokie możliwości dostosowania do wymagań wizualnych aplikacji Xamarin. Poniższy przykład pokazuje, jak zastosować kolory, dodać adnotacje tekstowe i zapisać pliki w lokalizacjach specyficznych dla danej platformy:

using IronBarCode;
using System.IO;
using Xamarin.Forms;

var barcode = BarcodeWriter.CreateBarcode("CUSTOM-2024", BarcodeEncoding.Code128);

// Apply styling to match your mobile UI
barcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.Navy);
barcode.ChangeBackgroundColor(IronSoftware.Drawing.Color.LightGray);
barcode.SetMargins(10);

// Add human-readable annotations
barcode.AddAnnotationTextAboveBarcode("Product ID");
barcode.AddBarcodeValueTextBelowBarcode(new IronSoftware.Drawing.Font("Arial", 12));

// Determine platform-specific save path
string documentsPath;
if (Device.RuntimePlatform == Device.iOS)
{
    documentsPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
}
else // Android
{
    documentsPath = Android.OS.Environment
        .GetExternalStoragePublicDirectory(Android.OS.Environment.DirectoryDownloads)
        .AbsolutePath;
}

// Export in multiple formats
barcode.SaveAsPng(Path.Combine(documentsPath, "barcode.png"));
barcode.SaveAsPdf(Path.Combine(documentsPath, "barcode.pdf"));
using IronBarCode;
using System.IO;
using Xamarin.Forms;

var barcode = BarcodeWriter.CreateBarcode("CUSTOM-2024", BarcodeEncoding.Code128);

// Apply styling to match your mobile UI
barcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.Navy);
barcode.ChangeBackgroundColor(IronSoftware.Drawing.Color.LightGray);
barcode.SetMargins(10);

// Add human-readable annotations
barcode.AddAnnotationTextAboveBarcode("Product ID");
barcode.AddBarcodeValueTextBelowBarcode(new IronSoftware.Drawing.Font("Arial", 12));

// Determine platform-specific save path
string documentsPath;
if (Device.RuntimePlatform == Device.iOS)
{
    documentsPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
}
else // Android
{
    documentsPath = Android.OS.Environment
        .GetExternalStoragePublicDirectory(Android.OS.Environment.DirectoryDownloads)
        .AbsolutePath;
}

// Export in multiple formats
barcode.SaveAsPng(Path.Combine(documentsPath, "barcode.png"));
barcode.SaveAsPdf(Path.Combine(documentsPath, "barcode.pdf"));
Imports IronBarCode
Imports System.IO
Imports Xamarin.Forms
Imports IronSoftware.Drawing

Dim barcode = BarcodeWriter.CreateBarcode("CUSTOM-2024", BarcodeEncoding.Code128)

' Apply styling to match your mobile UI
barcode.ChangeBarCodeColor(Color.Navy)
barcode.ChangeBackgroundColor(Color.LightGray)
barcode.SetMargins(10)

' Add human-readable annotations
barcode.AddAnnotationTextAboveBarcode("Product ID")
barcode.AddBarcodeValueTextBelowBarcode(New Font("Arial", 12))

' Determine platform-specific save path
Dim documentsPath As String
If Device.RuntimePlatform = Device.iOS Then
    documentsPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
Else ' Android
    documentsPath = Android.OS.Environment.GetExternalStoragePublicDirectory(Android.OS.Environment.DirectoryDownloads).AbsolutePath
End If

' Export in multiple formats
barcode.SaveAsPng(Path.Combine(documentsPath, "barcode.png"))
barcode.SaveAsPdf(Path.Combine(documentsPath, "barcode.pdf"))
$vbLabelText   $csharpLabel

Metody stylizacji zapewniają pełną kontrolę nad wyglądem BARCODE-ów w interfejsie mobilnym. Kolory można określić za pomocą wartości RGB lub predefiniowanych stałych kolorów, aby dopasować je do motywu aplikacji. Metoda SetMargins() dodaje wypełnienie wokół BarCoda, zapobiegając problemom ze skanowaniem, które pojawiają się, gdy BarCodes są umieszczone blisko krawędzi obrazu.

Obsługa plików w wielopłatformowym programowaniu Xamarin wymaga znajomości platform. Aplikacje na iOS powinny zapisywać pliki w katalogu dokumentów lub bibliotece zdjęć. Aplikacje na Androida zazwyczaj korzystają z zewnętrznych katalogów pamięci masowej lub wewnętrznego katalogu danych aplikacji. Biblioteka obsługuje wszystkie główne formaty obrazów — PNG, JPEG, GIF, TIFF, BMP — Plus PDF w celu integracji dokumentów. W przypadku bardziej złożonych scenariuszy zapoznaj się z dokumentacją dotyczącą eksportu BarCode, aby uzyskać informacje o dodatkowych opcjach wyjściowych.

Wyświetlanie BarCode bezpośrednio w widokach Xamarin

Oprócz zapisywania w plikach, BarCodes można wyświetlać bezpośrednio na stronie Xamarin, konwertując wygenerowany BarCode na StreamImageSource. Pozwala to uniknąć niepotrzebnego odczytu i zapisu na dysku w scenariuszach przeznaczonych wyłącznie do wyświetlania:

using IronBarCode;
using System.IO;
using Xamarin.Forms;

var barcode = BarcodeWriter.CreateBarcode("ORDER-99812", BarcodeEncoding.QRCode, 300);
byte[] pngBytes = barcode.ToPngBinaryData();

barcodeImage.Source = ImageSource.FromStream(() => new MemoryStream(pngBytes));
using IronBarCode;
using System.IO;
using Xamarin.Forms;

var barcode = BarcodeWriter.CreateBarcode("ORDER-99812", BarcodeEncoding.QRCode, 300);
byte[] pngBytes = barcode.ToPngBinaryData();

barcodeImage.Source = ImageSource.FromStream(() => new MemoryStream(pngBytes));
Imports IronBarCode
Imports System.IO
Imports Xamarin.Forms

Dim barcode = BarcodeWriter.CreateBarcode("ORDER-99812", BarcodeEncoding.QRCode, 300)
Dim pngBytes As Byte() = barcode.ToPngBinaryData()

barcodeImage.Source = ImageSource.FromStream(Function() New MemoryStream(pngBytes))
$vbLabelText   $csharpLabel

Przypisz wynik do dowolnego kontrolki Xamarin Image, ustawiając jej właściwość Source. Ten wzorzec działa bez uprawnień systemu plików i jest zalecanym podejściem w przypadku przejściowych zastosowań wyświetlania, takich jak ekrany potwierdzenia zamówienia lub procesy wystawiania biletów. Więcej szczegółów można znaleźć w przewodniku po renderowaniu obrazów IronBarcode.

Jak obsługuje się skanowanie BarCode w Xamarin?

Chociaż niniejszy artykuł skupia się na generowaniu kodów kreskowych, wiele aplikacji Xamarin wymaga również odczytu kodów kreskowych z aparatów urządzeń. IronBarcode zawiera interfejs API do odczytu kodów kreskowych, który pod względem prostoty odzwierciedla interfejs API do generowania kodów. Dokumentacja czytnika kodów kreskowych IronBarcode obejmuje cały proces odczytu, w tym wykrywanie wielu kodów kreskowych i filtrowanie formatów.

W przypadku aplikacji Xamarin, która zarówno generuje, jak i skanuje BARCODE-sygnatury — na przykład aplikacji do przyjmowania towarów w magazynie — można połączyć klasy BarcodeWriter i BarcodeReader w tym samym projekcie. Oba interfejsy API działają w ramach tego samego pakietu NuGet bez dodatkowych zależności. Pełna galeria przykładów IronBarcode zawiera proces skanowania i generowania, który ilustruje to połączone podejście.

Obsługa błędów i walidacja

Generowanie BARCODE-ów w środowisku produkcyjnym powinno zawsze obejmować obsługę błędów, szczególnie podczas kodowania danych pochodzących z wprowadzania przez użytkownika lub z systemów zewnętrznych. IronBarcode generuje wyjątki typu dla naruszeń formatu — na przykład przekazanie ciągu znaków niebędącego liczbą do kodera EAN-13. Umieszczenie wywołań generowania w blokach try-catch i wyświetlanie użytkownikom jasnych komunikatów o błędach poprawia stabilność aplikacji:

using IronBarCode;

try
{
    var barcode = BarcodeWriter.CreateBarcode(userInputValue, BarcodeEncoding.EAN13);
    barcode.SaveAsPng("output.png");
}
catch (BarcodeException ex)
{
    Console.WriteLine($"Barcode generation failed: {ex.Message}");
}
using IronBarCode;

try
{
    var barcode = BarcodeWriter.CreateBarcode(userInputValue, BarcodeEncoding.EAN13);
    barcode.SaveAsPng("output.png");
}
catch (BarcodeException ex)
{
    Console.WriteLine($"Barcode generation failed: {ex.Message}");
}
Imports IronBarCode

Try
    Dim barcode = BarcodeWriter.CreateBarcode(userInputValue, BarcodeEncoding.EAN13)
    barcode.SaveAsPng("output.png")
Catch ex As BarcodeException
    Console.WriteLine($"Barcode generation failed: {ex.Message}")
End Try
$vbLabelText   $csharpLabel

Zawsze sprawdzaj poprawność wartości podanych przez użytkownika przed przekazaniem ich do kodera BARCODE. W przypadku formatów numerycznych, takich jak EAN-13, przed kodowaniem należy usunąć spacje i znaki inne niż cyfry. Zapoznaj się z wytycznymi dotyczącymi walidacji danych wejściowych w sekcji rozwiązywania problemów IronBarcode, aby zapoznać się z typowymi problemami związanymi z jakością danych.

Jakie są Twoje kolejne kroki?

IronBarcode sprawia, że generowanie kodów kreskowych w aplikacjach Xamarin przestaje być skomplikówanym wyzwaniem związanym z konkretną platformą, a staje się kilkoma wierszami kodu C#. Niezależnie od tego, czy potrzebujesz kodów QR do mobilnych procesów zamówień, kodu 128 do etykiet magazynowych, czy EAN-13 do produktów detalicznych, biblioteka zapewnia jeden interfejs API, który działa identycznie na systemach Android i iOS — a także równie dobrze w środowiskach ASP.NET, desktopowych i serwerowych.

Aby pogłębić zdobytą tutaj wiedzę, zapoznaj się z poniższymi zasobami:

Zacznij od zainstalowania pakietu NuGet i uruchom pierwszy przykład powyżej, aby sprawdzić, czy Twoje środowisko jest poprawnie skonfigurowane. Na tej podstawie tabela porównawcza formatów i przykłady dostosowania zawarte w tym artykułe dostarczają wszystkich informacji potrzebnych do dostosowania generowanych kodów BarCode do konkretnych wymagań aplikacji.

Często Zadawane Pytania

Czym jest generator BarCode Xamarin?

Xamarin Barcode Generator to narzędzie lub biblioteka, która umożliwia programistom C# tworzenie kodów kreskowych i kodów QR w aplikacjach Xamarin na systemy Android i iOS. IronBarcode zapewnia tę funkcjonalność poprzez ujednolicony interfejs API .NET.

W jaki sposób IronBarcode upraszcza generowanie kodów kreskowych w Xamarin?

IronBarcode zapewnia pojedynczy interfejs API BarCode .NET, który działa identycznie na systemach Android i iOS, eliminując potrzebę implementacji specyficznych dla platformy oraz ręcznego obsługiwania algorytmów kodowania lub walidacji formatów.

Czy za pomocą IronBarcode mogę generować BARCODE-sy zarówno dla systemu Android, jak i iOS?

Tak. IronBarcode wspiera generowanie kodów kreskowych zarówno na platformach Android, jak i iOS w aplikacjach Xamarin, zapewniając spójne wyniki na różnych urządzeniach bez konieczności zmian w kodzie specyficznym dla platformy.

Jakie formaty kodów kreskowych obsługuje IronBarcode w Xamarin?

IronBarcode obsługuje ponad 30 formatów, w tym QR Code, Code 128, Code 39, EAN-13, UPC-A, DataMatrix, PDF417 i kody Aztec. Wszystkie formaty są dostępne za pośrednictwem tego samego enum BarcodeEncoding.

Czy IronBarcode nadaje się do produkcyjnych aplikacji mobilnych?

Tak. IronBarcode obejmuje walidację danych wejściowych, kodowanie zgodne z ISO, wsparcie dla standardu GS1 oraz aktywację klucza licencyjnego, co umożliwia generowanie wyników bez znaków wodnych w kompilacjach produkcyjnych.

Czy IronBarcode działa zarówno z .NET MAUI, jak i Xamarin?

Tak. IronBarcode działa zarówno z Xamarin, jak i .NET MAUI. Ta sama paczka NuGet i API są używane w obu frameworkach, co ułatwia migrację.

Jak wyświetlić wygenerowany kod kreskowy w widoku Xamarin?

Wywołaj ToPngBinaryData() na wygenerowanym kodzie kreskowym, aby otrzymać tablicę bajtów, a następnie przypisz ImageSource.FromStream(() => new MemoryStream(bytes)) do właściwości Source kontrolki Image w Xamarin.

Czy mogę używać IronBarcode w natywnych projektach Xamarin oraz Xamarin.Forms?

Tak. IronBarcode działa zarówno w współdzielonych projektach Xamarin.Forms, jak i specyficznych dla platform projektach natywnych Xamarin.Android i Xamarin.iOS.

Czy IronBarcode obsługuje niestandardowe stylizacje kodów kreskowych?

Tak. Możesz zmieniać kolory paska i tła, ustawiać marginesy, dodawać tekst adnotacji nad lub pod kodem kreskowym oraz dostosowywać właściwości czcionki, używając płynnego API GeneratedBarcode.

Jak zacząć korzystać z bezpłatnej wersji próbnej IronBarcode?

Odwiedź https://ironsoftware.com/csharp/barcode/, aby pobrać darmowy 30-dniowy klucz licencyjny. Zainstaluj paczkę NuGet, ustaw klucz licencyjny w swoim kodzie startowym i zaczynaj generować kody kreskowe natychmiast.

Jordi Bardia
Inżynier oprogramowania
Jordi jest najbardziej biegły w Pythonie, C# i C++. Kiedy nie wykorzystuje swoich umiejętności w Iron Software, programuje gry. Dzieląc odpowiedzialność za testowanie produktów, rozwój produktów i badania, Jordi wnosi ogromną wartość do ciągłej poprawy produktów. Różnorodne doświadczenia ...
Czytaj więcej

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie