Jak tworzyć kod kreskowy z danych w C#

Tworzenie kodu kreskowego z tekstu, URL-ów, identyfikatorów i danych binarnych w C

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronBarcode umożliwia programistom C# generowanie kodów kreskowych z różnych źródeł danych, w tym ciągów tekstowych, tablic bajtów i strumieni pamięci, za pomocą metody BarcodeWriter.CreateBarcode() z obsługą wielu formatów kodów kreskowych, takich jak QR Code, Code128 i PDF417.

Szybki start: Tworzenie kodu kreskowego z ciągu w jednej linii

Użyj API IronBarcode do generowania kodów kreskowych przy minimalnej konfiguracji. Ten przykład pokazuje, jak utworzyć kod kreskowy z prostego ciągu przy użyciu tylko jednej linii kodu. Dla pełnych przykładów, sprawdź przewodnik Barcode Quickstart.

  1. Install IronBarcode with NuGet Package Manager

    PM > Install-Package BarCode
  2. Skopiuj i uruchom ten fragment kodu.

    var barcode = IronBarCode.BarcodeWriter.CreateBarcode("Order123", IronBarCode.BarcodeWriterEncoding.Code128);
  3. Wdrożenie do testowania w środowisku produkcyjnym

    Rozpocznij używanie IronBarcode w swoim projekcie już dziś z darmową wersją próbną

    arrow pointer


Jak stworzyć kod kreskowy z ciągu?

Jakie formaty kodów kreskowych najlepiej pasują do różnych typów ciągów?

Różne formaty kodów kreskowych są optymalizowane dla określonych typów danych i zastosowań. Zrozumienie obsługiwanych formatów kodów kreskowych pomaga wybrać odpowiednie kodowanie:

  • Kody QR: Najlepsze dla URL-ów, adresów e-mail i dużych danych tekstowych. Obsługuje do 4 296 znaków alfanumerycznych z korekcją błędów.
  • Code128: Idealny dla danych alfanumerycznych, takich jak numery zamówień i kody seryjne. Bardzo wydajny dla nowoczesnych zastosowań.
  • PDF417: Doskonały dla złożonych danych, takich jak bilety lotnicze i rządowe identyfikatory. Przechowuje do 1 850 znaków alfanumerycznych.
  • Code93: Doskonały dla usług pocztowych i śledzenia zapasów z kompaktowymi danymi numerycznymi.
  • Aztec: Optymalny dla mobilnych biletów i transportu, zajmujący mniej miejsca niż kody QR.

Poniższy kod demonstruje, jak zapisać kody kreskowe z ciągiem:

:path=/static-assets/barcode/content-code-examples/how-to/create-barcode-from-string.cs
using IronBarCode;

string text = "Hello, World!";
string url = "https://ironsoftware.com/csharp/barcode/";
string receiptID = "2023-08-04-12345"; // Receipt ID (numeric id)
string flightID = "FLT2023NYC-LAX123456"; // Flight ID (alphanumeric id)
string number = "1234";

BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png");
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png");
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png");
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png");
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png");
Imports IronBarCode

Private text As String = "Hello, World!"
Private url As String = "https://ironsoftware.com/csharp/barcode/"
Private receiptID As String = "2023-08-04-12345" ' Receipt ID (numeric id)
Private flightID As String = "FLT2023NYC-LAX123456" ' Flight ID (alphanumeric id)
Private number As String = "1234"

BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png")
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png")
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png")
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png")
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png")
$vbLabelText   $csharpLabel

Jakie są wygenerowane wyniki kodu kreskowego?

Ten kod koduje pięć różnych przykładów danych w pięciu typach kodów kreskowych: prosty tekst do Aztec, URL do kodu QR, ID numeryczny do Code 93, ID alfanumeryczny do PDF417 oraz numer do Codabar. Obrazy są zapisywane jako PNG. Dla zaawansowanych opcji eksportu, zobacz przewodnik Tworzenie kodu kreskowego jako obrazu.

Aztec barcode containing 'Hello, World!' text with characteristic square spiral pattern
QR code generated from URL input demonstrating barcode creation functionality
Generated Code93 barcode example showing vertical black and white bars pattern
PDF417 barcode with stacked rows encoding flight ID alphanumeric data
Codabar barcode displaying numeric data with start/stop characters

Jak mogę dostosować wygenerowane kody kreskowe?

Po stworzeniu kodu kreskowego, popraw jego wygląd używając funkcji stylizacji IronBarcode. Oto jak stworzyć dostosowany kod kreskowy z kolorami, adnotacjami i marginesami:

using IronBarCode;

// Create a barcode with custom styling
GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("PRODUCT-12345", BarcodeEncoding.Code128);

// Apply custom styling
myBarcode.ResizeTo(300, 100);
myBarcode.SetMargins(10);
myBarcode.ChangeBarCodeColor(Color.DarkBlue);

// Add text annotations
myBarcode.AddBarcodeValueTextBelowBarcode();
myBarcode.AddAnnotationTextAboveBarcode("Product SKU", Font.Arial, Color.Black, 12);

// Save the customized barcode
myBarcode.SaveAsPng("customized-barcode.png");
using IronBarCode;

// Create a barcode with custom styling
GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("PRODUCT-12345", BarcodeEncoding.Code128);

// Apply custom styling
myBarcode.ResizeTo(300, 100);
myBarcode.SetMargins(10);
myBarcode.ChangeBarCodeColor(Color.DarkBlue);

// Add text annotations
myBarcode.AddBarcodeValueTextBelowBarcode();
myBarcode.AddAnnotationTextAboveBarcode("Product SKU", Font.Arial, Color.Black, 12);

// Save the customized barcode
myBarcode.SaveAsPng("customized-barcode.png");
Imports IronBarCode

' Create a barcode with custom styling
Dim myBarcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("PRODUCT-12345", BarcodeEncoding.Code128)

' Apply custom styling
myBarcode.ResizeTo(300, 100)
myBarcode.SetMargins(10)
myBarcode.ChangeBarCodeColor(Color.DarkBlue)

' Add text annotations
myBarcode.AddBarcodeValueTextBelowBarcode()
myBarcode.AddAnnotationTextAboveBarcode("Product SKU", Font.Arial, Color.Black, 12)

' Save the customized barcode
myBarcode.SaveAsPng("customized-barcode.png")
$vbLabelText   $csharpLabel

Dla większej ilości opcji stylizacji, przejrzyj samouczek Dostosowywanie i stylizacja kodów kreskowych.

Jak stworzyć kod kreskowy z tablicy bajtów?

Dlaczego kodowanie znaków jest ważne dla kodów kreskowych z tablic bajtów?

Aby stworzyć kody kreskowe z tablic bajtów, upewnij się, że kodowanie znaków jest zgodne z wymaganym BarcodeEncoding, ponieważ każdy typ kodu kreskowego akceptuje różne kodowanie znaków. Zrozumienie formatów danych wyjściowych zapewnia zgodność. Oto kodowania znaków dostępne w IronBarcode:

  • ASCII: Używa 7 bitów na znak dla angielskich liter, cyfr i znaków interpunkcyjnych. Przykład: 'A' = 65.
  • UTF-8: Kodowanie zmiennej długości dla wszystkich znaków unicode. Przykład: € = 0xE2 0x82 0xAC.
  • UTF-16: Używa 16-bitowych sekwencji dla unicode. Przykład: α = 0x03B1.
  • UTF-32: Stała 32-bitowa sekwencja na znak. Przykład: α = 0x000003B1.
  • ISO-8859-1: Rozszerza ASCII dla języków zachodnioeuropejskich. Przykład: é = 233.

[{i:Domyślne kodowanie znaków w IronBarcode to ISO-8859-1.}]

Jak przekonwertować tablice bajtów do kodów kreskowych?

Poniższy kod demonstruje generowanie kodu kreskowego z danych bajtowych:

:path=/static-assets/barcode/content-code-examples/how-to/create-barcode-from-byte.cs
using IronBarCode;
using System.Text;

byte[] text = Encoding.UTF8.GetBytes("Hello, World!");
byte[] url = Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/");
byte[] receiptID = Encoding.UTF8.GetBytes("2023-08-04-12345"); // Receipt ID (numeric id)
byte[] flightID = Encoding.UTF8.GetBytes("FLT2023NYC-LAX123456"); // Flight id (alphanumeric id)
byte[] number = Encoding.UTF8.GetBytes("1234");

BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png");
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png");
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png");
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png");
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png");
Imports IronBarCode
Imports System.Text

Private text() As Byte = Encoding.UTF8.GetBytes("Hello, World!")
Private url() As Byte = Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/")
Private receiptID() As Byte = Encoding.UTF8.GetBytes("2023-08-04-12345") ' Receipt ID (numeric id)
Private flightID() As Byte = Encoding.UTF8.GetBytes("FLT2023NYC-LAX123456") ' Flight id (alphanumeric id)
Private number() As Byte = Encoding.UTF8.GetBytes("1234")

BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png")
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png")
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png")
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png")
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png")
$vbLabelText   $csharpLabel

Ten fragment przekształca pięć wejściowych ciągów na obiekty System.Byte[]. Aby przekonwertować te tablice bajtów na kody kreskowe, przekaż je do BarcodeWriter z żądanym BarcodeEncoding. Opcjonalnie, ustaw MaxWidth i MaxHeight dla rozmiaru kodu kreskowego.

Praca z danymi binarnymi i znakami specjalnymi

Pracując z danymi binarnymi lub znakami specjalnymi, użyj Pisanie kodów kreskowych w Unicode dla wsparcia znaków międzynarodowych. Oto przykład obsługi danych binarnych:

using IronBarCode;
using System.Tekst;
using System.IO;

// Example: Encoding binary data (like a small file) into QR Code
byte[] binaryData = File.ReadAllBytes("document.pdf");
string base64Data = Convert.ToBase64String(binaryData);

// Create QR code with high error correction for binary data
GeneratedBarcode binaryBarcode = BarcodeWriter.CreateBarcode(
    base64Data, 
    BarcodeEncoding.QRCode
);

// Set high error correction for data integrity
binaryBarcode.SetQRCodeErrorCorrection(QRCodeErrorCorrection.High);

// Save with appropriate size for data density
binaryBarcode.ResizeTo(500, 500);
binaryBarcode.SaveAsPng("binary-data-qr.png");
using IronBarCode;
using System.Tekst;
using System.IO;

// Example: Encoding binary data (like a small file) into QR Code
byte[] binaryData = File.ReadAllBytes("document.pdf");
string base64Data = Convert.ToBase64String(binaryData);

// Create QR code with high error correction for binary data
GeneratedBarcode binaryBarcode = BarcodeWriter.CreateBarcode(
    base64Data, 
    BarcodeEncoding.QRCode
);

// Set high error correction for data integrity
binaryBarcode.SetQRCodeErrorCorrection(QRCodeErrorCorrection.High);

// Save with appropriate size for data density
binaryBarcode.ResizeTo(500, 500);
binaryBarcode.SaveAsPng("binary-data-qr.png");
Imports IronBarCode
Imports System.Text
Imports System.IO

' Example: Encoding binary data (like a small file) into QR Code
Dim binaryData As Byte() = File.ReadAllBytes("document.pdf")
Dim base64Data As String = Convert.ToBase64String(binaryData)

' Create QR code with high error correction for binary data
Dim binaryBarcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(base64Data, BarcodeEncoding.QRCode)

' Set high error correction for data integrity
binaryBarcode.SetQRCodeErrorCorrection(QRCodeErrorCorrection.High)

' Save with appropriate size for data density
binaryBarcode.ResizeTo(500, 500)
binaryBarcode.SaveAsPng("binary-data-qr.png")
$vbLabelText   $csharpLabel

Jak utworzyć BARCODE ze strumienia pamięci?

Kiedy należy używać strumieni pamięci do generowania BarCode'ów?

Strumienie pamięci sprawdzają się najlepiej podczas przetwarzania danych, które nie wymagają przechowywania na dysku, takich jak treści generowane dynamicznie w aplikacjach internetowych lub przetwarzanie baz danych. Przewodnik Eksportowanie BarCode jako strumień zawiera dodatkowe informacje dotyczące przepływów pracy opartych na strumieniach.

Poniższy kod pokazuje generowanie kodu BarCode ze strumienia pamięci:

:path=/static-assets/barcode/content-code-examples/how-to/create-barcode-from-stream.cs
using IronBarCode;
using System.IO;
using System.Text;

MemoryStream text = new MemoryStream(Encoding.UTF8.GetBytes("Hello, World!"));
MemoryStream url = new MemoryStream(Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/"));
MemoryStream receiptID = new MemoryStream(Encoding.UTF8.GetBytes("2023-08-04-12345")); // Receipt ID (numeric id)
MemoryStream flightID = new MemoryStream(Encoding.UTF8.GetBytes("FLT2023NYC-LAX123456")); // Flight id (alphanumeric id)
MemoryStream number = new MemoryStream(Encoding.UTF8.GetBytes("1234"));

BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png");
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png");
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png");
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png");
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png");
Imports IronBarCode
Imports System.IO
Imports System.Text

Private text As New MemoryStream(Encoding.UTF8.GetBytes("Hello, World!"))
Private url As New MemoryStream(Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/"))
Private receiptID As New MemoryStream(Encoding.UTF8.GetBytes("2023-08-04-12345")) ' Receipt ID (numeric id)
Private flightID As New MemoryStream(Encoding.UTF8.GetBytes("FLT2023NYC-LAX123456")) ' Flight id (alphanumeric id)
Private number As New MemoryStream(Encoding.UTF8.GetBytes("1234"))

BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png")
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png")
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png")
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png")
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png")
$vbLabelText   $csharpLabel

Jakie są zalety korzystania z Memory Streams?

Ten fragment tworzy MemoryStream z obiektu System.Byte[], a następnie używa go jako wejścia w BarcodeWriter.CreateBarcode(), aby wygenerować kod kreskowy z danych z pamięci strumieniowej. Strumienie pamięci oferują kilka zalet:

  1. Wydajność: brak operacji wejścia/wyjścia na dysku, szybsze przetwarzanie danych tymczasowych
  2. Bezpieczeństwo: Dane pozostają w pamięci, co ogranicza narażenie informacji wrażliwych
  3. Elastyczność: Łatwa integracja z interfejsami API i bibliotekami opartymi na strumieniach
  4. Efektywne wykorzystanie zasobów: automatyczne zarządzanie pamięcią i jej zwalnianie

Przykład zaawansowanego przetwarzania strumieniowego

W przypadku złożonych scenariuszy związanych z przetwarzaniem strumieniowym należy połączyć IronBarcode z innymi operacjami strumieniowymi:

using IronBarCode;
using System.IO;
using System.Tekst;

// Example: Processing multiple barcodes in a batch using streams
public static List<Stream> GenerateBarcodeStreams(List<string> dataItems)
{
    var barcodeStreams = new List<Stream>();

    foreach (var item in dataItems)
    {
        // Convert string to stream
        var dataStream = new MemoryStream(Encoding.UTF8.GetBytes(item));

        // Generate barcode from stream
        var barcode = BarcodeWriter.CreateBarcode(dataStream, BarcodeEncoding.Code128);

        // Export barcode back to stream
        var outputStream = new MemoryStream();
        barcode.SaveAsPng(outputStream);
        outputStream.Position = 0; // Reset position for reading

        barcodeStreams.Add(outputStream);
    }

    return barcodeStreams;
}

// Usage example
var orderNumers = new List<string> { "ORD-001", "ORD-002", "ORD-003" };
var barcodes = GenerateBarcodeStreams(orderNumers);
using IronBarCode;
using System.IO;
using System.Tekst;

// Example: Processing multiple barcodes in a batch using streams
public static List<Stream> GenerateBarcodeStreams(List<string> dataItems)
{
    var barcodeStreams = new List<Stream>();

    foreach (var item in dataItems)
    {
        // Convert string to stream
        var dataStream = new MemoryStream(Encoding.UTF8.GetBytes(item));

        // Generate barcode from stream
        var barcode = BarcodeWriter.CreateBarcode(dataStream, BarcodeEncoding.Code128);

        // Export barcode back to stream
        var outputStream = new MemoryStream();
        barcode.SaveAsPng(outputStream);
        outputStream.Position = 0; // Reset position for reading

        barcodeStreams.Add(outputStream);
    }

    return barcodeStreams;
}

// Usage example
var orderNumers = new List<string> { "ORD-001", "ORD-002", "ORD-003" };
var barcodes = GenerateBarcodeStreams(orderNumers);
Imports IronBarCode
Imports System.IO
Imports System.Text

' Example: Processing multiple barcodes in a batch using streams
Public Shared Function GenerateBarcodeStreams(dataItems As List(Of String)) As List(Of Stream)
    Dim barcodeStreams As New List(Of Stream)()

    For Each item In dataItems
        ' Convert string to stream
        Dim dataStream As New MemoryStream(Encoding.UTF8.GetBytes(item))

        ' Generate barcode from stream
        Dim barcode = BarcodeWriter.CreateBarcode(dataStream, BarcodeEncoding.Code128)

        ' Export barcode back to stream
        Dim outputStream As New MemoryStream()
        barcode.SaveAsPng(outputStream)
        outputStream.Position = 0 ' Reset position for reading

        barcodeStreams.Add(outputStream)
    Next

    Return barcodeStreams
End Function

' Usage example
Dim orderNumers As New List(Of String) From {"ORD-001", "ORD-002", "ORD-003"}
Dim barcodes = GenerateBarcodeStreams(orderNumers)
$vbLabelText   $csharpLabel

Aby uzyskać informacje na temat operacji asynchronicznych i poprawy wydajności w aplikacjach wielowątkowych, zapoznaj się z przewodnikiem "Korzystanie z Async i Multithread".

Często Zadawane Pytania

Jak utworzyć kod kreskowy z tekstu w C#?

Możesz utworzyć kod kreskowy z tekstu w C# używając IronBarcode za pomocą jednej linii kodu: BarcodeWriter.CreateBarcode("TwójTekst", BarcodeWriterEncoding.Code128). IronBarcode obsługuje wiele formatów, w tym QR Code, Code128, PDF417, Aztec i inne.

Jakie typy danych mogę zakodować w kodach kreskowych?

IronBarcode pozwala zakodować różne typy danych, w tym stringi, URL-e, ID, dane binarne (tablice bajtów) i strumienie pamięci. Biblioteka automatycznie obsługuje konwersję i kodowanie na podstawie wybranego formatu kodu kreskowego.

Jaki format kodu kreskowego powinienem użyć dla URL-i?

Kody QR są najlepszym wyborem do kodowania URL-i w IronBarcode. Kody QR mogą przechowywać do 4 296 znaków alfanumerycznych i zawierają zdolności korekcji błędów, co czyni je idealnymi dla adresów webowych i emailowych.

Jaki format kodu kreskowego jest najlepszy dla numerów zamówień i kodów seryjnych?

Code128 jest idealnym formatem dla danych alfanumerycznych, takich jak numery zamówień i kody seryjne, kiedy używasz IronBarcode. Jest on bardzo wydajny dla nowoczesnych aplikacji i zapewnia doskonałą gęstość danych dla mieszanych zestawów znaków.

Czy mogę tworzyć kody kreskowe z danych binarnych?

Tak, IronBarcode obsługuje tworzenie kodów kreskowych z danych binarnych używając tablic System.Byte[] lub wejść System.IO.Stream przez metodę CreateBarcode, pozwalając na kodowanie dowolnego rodzaju informacji binarnych.

W jakich formatach obrazów mogę zapisać kody kreskowe?

IronBarcode pozwala na zapisanie wygenerowanych kodów kreskowych w wielu formatach obrazów, w tym PNG, JPEG, BMP, GIF i TIFF. Biblioteka zapewnia elastyczne opcje eksportu dla różnych zastosowań.

Ile danych mogę przechowywać w kodzie kreskowym PDF417?

Kody kreskowe PDF417 utworzone z IronBarcode mogą przechowywać do 1 850 znaków alfanumerycznych, co czyni je idealnymi dla złożonych danych, takich jak bilety lotnicze, etykiety wysyłkowe i identyfikatory rządowe.

Jaki format kodu kreskowego jest najlepszy dla biletów mobilnych?

Kody Aztec są optymalne dla biletów mobilnych i aplikacji transportowych, kiedy używasz IronBarcode. Zajmują mniej miejsca niż kody QR, jednocześnie utrzymując dużą pojemność danych i czytelność na urządzeniach mobilnych.

Hairil Hasyimi Bin Omar
Inżynier oprogramowania
Jak wszyscy wielcy inżynierowie, Hairil jest zapalonym uczniem. Doskonali swoją wiedzę na temat C#, Pythona i Javy, wykorzystując tę wiedzę, aby dodawać wartości członkom zespołu Iron Software. Hairil dołączył do zespołu Iron Software z Universiti Teknologi MARA w Malezji, gdzie uzyskał tytuł licencjata ...
Czytaj więcej
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 2,145,441 | Wersja: 2026.4 just released
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu? PM > Install-Package BarCode
uruchom przykład zobacz, jak twoje ciągi zamieniają się w kody kreskowe.