IRONSOFTWAREHOME
KORZYSTANIE Z IRONBARCODE

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

Curtis Chau
Curtis Chau
Updated: 20 czerwca 2026

Tworzenie BARCODE-ów w aplikacjach Xamarin nie musi być skomplikowane 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.

Dlaczego 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: zrozumienie 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.

Dlaczego 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:

PM > Install-Package BarCode

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

W projektach na iOS, jeśli zapisujesz kody QR lub kody kreskowe do biblioteki zdjęć, dodaj klucz NSPhotoLibraryAddUsageDescription do Info.plist z odpowiednim opisem widocznym 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";

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);

Metoda BarcodeWriter.CreateBarcode() jest głównym punktem startowym dla generowania kodów kreskowych. Przyjmuje dwa argumenty: dane do zakodowania i format kodu kreskowego z wyliczenia BarcodeEncoding. Metoda zwraca obiekt GeneratedBarcode, który oferuje rozbudowaną personalizację poprzez płynne API.

Metoda ResizeTo() dostosowuje wymiary kodu kreskowego, utrzymując właściwe proporcje obrazu i wymogi szerokości kreski dla wybranej symboliki. AddBarcodeValueTextBelowBarcode() dodaje tekst czytelny dla ludzi poniżej kresek, co jest wymagane w wielu scenariuszach sprzedaży i zarządzania zapasami. Zapoznaj się z pełną dokumentacją API BarcodeWriter, aby poznać zaawansowane funkcje.

Wynik

Jak generować kody kreskowe w Xamarin przy użyciu IronBarcode: Rysunek 10 - Wynik PDF417

Generowanie kodów QR dla aplikacji mobilnych

Do generowania kodów QR w aplikacji skanera kodów kreskowych 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();

Metoda QRCodeWriter.CreateQrCode() specjalizuje się w tworzeniu kodów QR z obsługą osadzania logo i personalizacji kolorów. Drugi parametr określa rozmiar kodu QR w pikselach. Metoda ToPngBinaryData() konwertuje wygenerowany kod QR do tablicy bajtów, co jest przydatne do przechowywania w bazie danych lub przesyłania przez sieć. Przeglądaj dodatkowe przykłady generowania kodów QR dla zaawansowanych konfiguracji, w tym osadzania 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");

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ć kody kreskowe 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
FormatTyp danychTypowy przypadek użyciaWartość kodowania kodów kreskowych
Kod QRZnaki alfanumeryczne, binarne, adresy URLLinki do produktów, wizytówki, procesy płatnościQRCode
Kod 128AlfanumerycznyEtykiety wysyłkowe, zapasyCode128
EAN-13Liczba (13 cyfr)Europejskie produkty detaliczneEAN13
UPC-ALiczbowe (12 cyfr)Produkty detaliczne w Ameryce PółnocnejUPCA
DataMatrixAlfanumeryczne, binarneElektronika, farmaceutyka, małe etykietyDataMatrix
PDF417Alfanumeryczne, binarneDokumenty tożsamości, karty pokładowe, transportPDF417

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"));

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 margines wokół kodu kreskowego, zapobiegając problemom ze skanowaniem, które pojawiają się, gdy kody są umieszczane blisko krawędzi obrazów.

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. Dla bardziej złożonych scenariuszy, przeglądaj dokumentację eksportu kodów kreskowych dla dodatkowych opcji wyjścia.

Wyświetlanie BarCode bezpośrednio w widokach Xamarin

Poza zapisywaniem do plików, możesz wyświetlać kody kreskowe bezpośrednio na stronie Xamarin, konwertując wygenerowany kod kreskowy do 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));

Przypisz wynik do dowolnego kontrolki Image Xamarin, 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. Zobacz przewodnik po renderowania obrazów IronBarcode dla dalszych szczegółów.

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 pełny proces odczytywania, w tym wykrywanie wielu kodów kreskowych i filtrowanie formatu.

Dla aplikacji Xamarin, która zarówno generuje, jak i skanuje kody kreskowe - na przykład aplikacji do przyjmowania towarów w magazynie - możesz 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}");
}

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ć skomplikowanym 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.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.

...
Czytaj więcej

Powiązane artykuły

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Your trial license will be sent to your email address

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta