Jak tworzyc obrazy kodow kreskowych i kodow QR w C#

Jak tworzyć obrazy kodów kreskowych w języku C# za pomocą IronBarcode

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

IronBarcode umożliwia programistom .NET generowanie obrazów kodów kreskowych i kodów QR w języku C# za pomocą jednej linii kodu, obsługując wiele formatów i typów obrazów. Twórz systemy zarządzania zapasami, aplikacje detaliczne lub rozwiązania do przetwarzania dokumentów dzięki solidnemu API, które tworzy kody kreskowe o profesjonalnej jakości, zapewniające niezawodne skanowanie we wszystkich głównych czytnikach.

Szybki start: Utwórz i zapisz BarCode Code128 w jednej linii

Użyj jednowierszowego API IronBarcode, aby utworzyć kod kreskowy Code128 na podstawie ciągu znaków i zapisać go jako obraz PNG. Zacznij od razu — dostarcz dane, wybierz kodowanie i rozmiar, a następnie zapisz plik graficzny.

  1. Install IronBarcode with NuGet Package Manager

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

    IronBarCode.BarcodeWriter.CreateBarcode("Sample123", BarcodeEncoding.Code128, 250, 100).SaveAsPng("Barcode.png");
  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 wygenerować kody kreskowe i zapisać je jako pliki graficzne?

Oprócz odczytywania kodów kreskowych, IronBarcode pozwala użytkownikom na tworzenie kodów kreskowych przy minimalnym nakładzie pracy programistycznej. Call the CreateBarcode() method from the BarcodeWriter class, specifying the barcode value, type, width, and height in the method parameters. To zwraca obiekt GeneratedBarcode, który można zapisać jako plik graficzny za pomocą metody SaveAs().

Jakie typy danych mogę wykorzystać jako wartości BarCode?

Metoda BarcodeWriter.CreateBarcode() akceptuje wiele typów danych dla wartości kodu kreskowego: byte[] array, MemoryStream i string. Długość ciągów znaków i akceptowane znaki różnią się w zależności od typu BarCode — szczegółowe informacje można znaleźć w naszej dokumentacji API. Kod 128 obsługuje pełny zestaw znaków ASCII, natomiast kod UPC-A wymaga dokładnie 12 cyfr. Dla danych binarnych użyj byte[] array do kodowania złożonych struktur danych.

Jakie typy kodowania BarCode są obsługiwane?

IronBarcode obsługuje wiele formatów BARCODE — pełną listę można znaleźć w artykule Obsługiwane formaty BARCODE. Popularne formaty to między innymi:

  • BarCodes liniowe/1D: Code128, Code39, UPC-A, UPC-E, EAN-8, EAN-13
  • BarCodes 2D: QR Code, Data Matrix, PDF417, Aztec
  • Formaty specjalistyczne: MaxiCode do wysyłek, Databar do handlu detalicznego

Każdy format ma swoje konkretne zastosowanie. Code128 dobrze radzi sobie z ogólnymi danymi alfanumerycznymi, natomiast kody QR oferują doskonałą korekcję błędów podczas skanowania mobilnego.

Jak ustawienia szerokości i wysokości wpływają na mój BarCode?

Ustaw wymiary obrazu BarCode w pikselach. Domyślne wymiary to 250 px dla obu. Niektóre typy BarCodes (QR, PDF417) wymagają określonych wymiarów, aby były zgodne z normami. Gdy wymiary wejściowe nie odpowiadają wymaganiom, BARCODE generowany jest w zgodnych wymiarach, a pozostała przestrzeń wypełniana jest białymi znakami. Zbyt małe wymiary powodują wygenerowanie wyjątku.

Aby uzyskać optymalny wynik skanowania:

  • BarCodes liniowe: Zachowaj szerokość znacznie większą niż wysokość
  • Kody kreskowe 2D: Należy stosować wymiary kwadratowe dla kodów QR (np. 250x250)
  • Jakość druku: Wyższe rozdzielczości pikseli poprawiają jakość druku przy większych rozmiarach fizycznych

Do jakich formatów obrazów mogę eksportować BarCodes?

Obiekt GeneratedBarcode z BarcodeWriter.CreateBarcode() zapisuje w różnych formatach obrazów za pomocą specyficznych metod SaveAs():

  • SaveAsGif(): Zapisuje jako plik obrazu GIF
  • SaveAsJpeg(): Zapisuje jako plik obrazu JPEG
  • SaveAsPng(): Zapisuje jako plik obrazu PNG (zalecane dla webu)
  • SaveAsTiff(): Zapisuje jako plik obrazu TIFF (idealne do archiwizacji/druku)
  • SaveAsWindowsBitmap(): Zapisuje jako plik obrazu BMP
  • SaveAsImage(): Metoda ogólna—określ rozszerzenie formatu w ścieżce pliku

Dodatkowo można eksportować kody kreskowe jako strumienie do przetwarzania w pamięci lub tworzyć kody kreskowe jako dokumenty PDF w celu integracji z dokumentacją.

Jak wygenerować BarCode i zapisać go jako plik graficzny?

Użyj BarcodeWriter.CreateBarcode(), aby utworzyć kod kreskowy Code128 i zapisać go jako obraz JPEG:

using IronBarCode;

// Create a basic barcode
BarcodeWriter.CreateBarcode("IronBarcode123", BarcodeEncoding.Code128, 200, 100).SaveAsJpeg("OneDBarcode.jpeg");

// Create a barcode with custom options
var myBarcode = BarcodeWriter.CreateBarcode("PRODUCT-12345", BarcodeEncoding.Code128, 300, 150);

// Apply styling
myBarcode.AddBarcodeValueTextBelowBarcode();
myBarcode.SetMargins(10);

// Save in multiple formats
myBarcode.SaveAsJpeg("product-barcode.jpg");
myBarcode.SaveAsPng("product-barcode.png");
using IronBarCode;

// Create a basic barcode
BarcodeWriter.CreateBarcode("IronBarcode123", BarcodeEncoding.Code128, 200, 100).SaveAsJpeg("OneDBarcode.jpeg");

// Create a barcode with custom options
var myBarcode = BarcodeWriter.CreateBarcode("PRODUCT-12345", BarcodeEncoding.Code128, 300, 150);

// Apply styling
myBarcode.AddBarcodeValueTextBelowBarcode();
myBarcode.SetMargins(10);

// Save in multiple formats
myBarcode.SaveAsJpeg("product-barcode.jpg");
myBarcode.SaveAsPng("product-barcode.png");
Imports IronBarCode

' Create a basic barcode
BarcodeWriter.CreateBarcode("IronBarcode123", BarcodeEncoding.Code128, 200, 100).SaveAsJpeg("OneDBarcode.jpeg")

' Create a barcode with custom options
Dim myBarcode = BarcodeWriter.CreateBarcode("PRODUCT-12345", BarcodeEncoding.Code128, 300, 150)

' Apply styling
myBarcode.AddBarcodeValueTextBelowBarcode()
myBarcode.SetMargins(10)

' Save in multiple formats
myBarcode.SaveAsJpeg("product-barcode.jpg")
myBarcode.SaveAsPng("product-barcode.png")
$vbLabelText   $csharpLabel
Wygenerowany jednowymiarowy kod kreskowy z czarnymi pionowymi kreskami przedstawiający przykładowy wynik działania kodu tworzącego kod kreskowy

Aby uzyskać informacje na temat zaawansowanych opcji stylizacji, zapoznaj się z naszym przewodnikiem dotyczącym dostosowywania stylów BARCODE.

Jak wygenerować kody QR i zapisać je jako pliki graficzne?

Kody QR, klasyfikowane jako dwuwymiarowe BarCODES, są w pełni obsługiwane przez IronBarcode. Ich wszechstronność, atrakcyjny wygląd i możliwość dostosowania sprawiły, że są one powszechnie stosowane, od menu restauracji po systemy płatności.

Tworzenie kodów QR wymaga różnych metod ze względu na ich złożoność. Wywołaj metodę CreateQrCode() z klasy QRCodeWriter, która akceptuje 4 argumenty: wartość kodu kreskowego, rozmiar wyjściowego kodu QR, pole enum QRCodeWriter.QrErrorCorrectionLevel i QRVersion.

Jakie typy danych mogę wykorzystać dla wartości kodów QR?

QRCodeWriter.CreateQrCode() akceptuje wartości numeryczne, alfabetyczne lub alfanumeryczne jako typy byte[] array, MemoryStream lub System.String. Kody QR są doskonałe do przechowywania:

  • Adresy URL: kierują użytkowników do stron internetowych lub stron docelowych
  • Tekst: Możliwość zapisania do 4296 znaków alfanumerycznych
  • Dane binarne: kodowanie plików lub złożonych struktur danych
  • Dane ustrukturyzowane: vCards, dane logowania do sieci Wi-Fi lub informacje dotyczące płatności

Aby uzyskać informacje na temat obsługi Unicode i znaków międzynarodowych, zapoznaj się z naszym samouczkiem dotyczącym pisania BARCODE-ów Unicode.

Jak ustawić rozmiar kodu QR?

Określ rozmiar kodu QR bezpośrednio jako typ Int32 w pikselach (px). Domyślny rozmiar to 500 pikseli. Należy wziąć pod uwagę następujące czynniki:

  • Nośnik wyświetlania: Wyświetlacze ekranowe zazwyczaj wymagają rozdzielczości 200–400 pikseli
  • Aplikacje do drukowania: Użyj rozdzielczości 600 pikseli lub wyższej, aby uzyskać wysoką jakość wydruku
  • Odległość skanowania: większe kody skanują się lepiej z większej odległości

Czym jest poziom korekcji błędów QR i dlaczego ma to znaczenie?

QRErrorCorrectionLevel określa tolerancję błędów, z czterema poziomami: Najwyższa, Wysoka, Średnia i Niska. Wyższe poziomy korekcji tworzą bardziej złożone kody QR, które są odporne na błędy odczytu nawet wtedy, gdy są uszkodzone lub częściowo zasłonięte.

QRErrorCorrectionLevel.Highest

Generuje najbardziej złożony kod QR z 30% korekcją błędów. Obsługuje umieszczanie logo lub grafiki. Idealny do personalizacji kodów QR za pomocą logo.

Kod QR wygenerowany z najwyższym poziomem korekcji błędów, przedstawiający gęsty wzór czarno-biały z kwadratami pozycjonującymi

QRErrorCorrectionLevel.High

Zastosowano 25% korekty błędów. Mniej złożone niż poziom najwyższy. Równowaga między trwałością a pojemnością danych.

Przykład kodu QR pokazujący wysoki poziom korekcji błędów przy gęstym wzorze danych i standardowych elementach pozycjonujących

QRErrorCorrectionLevel.Medium

Zastosowano 15% korekty błędów. Generuje kody QR szybciej, ale jest bardziej podatny na błędy. Nadaje się do większości zastosowań biznesowych z wyraźnym drukiem.

Przykład wygenerowanego kodu QR przedstawiający czarno-białą matrycę danych z markerami pozycji narożników

QRErrorCorrectionLevel.Low

Stosuje korekcję błędu na poziomie 7%, tworząc najmniej złożony kod QR. Używaj, gdy wymagana jest maksymalna pojemność danych przy optymalnych warunkach skanowania.

Przykład kodu QR wygenerowanego z niskim poziomem korekcji błędzy, pokazujący standardowy wzór modułu czarno-białego

Kiedy używać różnych wersji kodów QR?

Wersja QR (1-40) określa złożoność symbolu i pojemność danych. Wyższe wersje produkują bardziej złożone kody przechowujące więcej danych. Ustawienie zbyt niskiej wersji powoduje problemy z kodowaniem większych ilości danych. Wersja 0 automatycznie przypisuje odpowiednią wersję na podstawie kodowanej wartości. See QR Version for more information.

Jak utworzyć obraz kodu QR z określonymi ustawieniami?

Użyj QRCodeWriter.CreateQrCode(), aby napisać kod QR i zapisać go jako obraz:

using IronBarCode;

// Basic QR code creation
QRCodeWriter.CreateQrCode("IronBarcode1234", 250, QRCodeWriter.QrErrorCorrectionLevel.Medium, qrVersion: 0).SaveAsJpeg("QRMedium.jpeg");

// Advanced QR code with custom styling
var qrCode = QRCodeWriter.CreateQrCode("https://ironsoftware.com", 500, QRCodeWriter.QrErrorCorrectionLevel.High);

// Add logo and styling
qrCode.AddLogo("logo.png");
qrCode.ChangeBarCodeColor(System.Drawing.Color.DarkBlue);

// Save in multiple formats
qrCode.SaveAsPng("styled-qr.png");
qrCode.SaveAsPdf("styled-qr.pdf");
using IronBarCode;

// Basic QR code creation
QRCodeWriter.CreateQrCode("IronBarcode1234", 250, QRCodeWriter.QrErrorCorrectionLevel.Medium, qrVersion: 0).SaveAsJpeg("QRMedium.jpeg");

// Advanced QR code with custom styling
var qrCode = QRCodeWriter.CreateQrCode("https://ironsoftware.com", 500, QRCodeWriter.QrErrorCorrectionLevel.High);

// Add logo and styling
qrCode.AddLogo("logo.png");
qrCode.ChangeBarCodeColor(System.Drawing.Color.DarkBlue);

// Save in multiple formats
qrCode.SaveAsPng("styled-qr.png");
qrCode.SaveAsPdf("styled-qr.pdf");
Imports IronBarCode

' Basic QR code creation
QRCodeWriter.CreateQrCode("IronBarcode1234", 250, QRCodeWriter.QrErrorCorrectionLevel.Medium, qrVersion:=0).SaveAsJpeg("QRMedium.jpeg")

' Advanced QR code with custom styling
Dim qrCode = QRCodeWriter.CreateQrCode("https://ironsoftware.com", 500, QRCodeWriter.QrErrorCorrectionLevel.High)

' Add logo and styling
qrCode.AddLogo("logo.png")
qrCode.ChangeBarCodeColor(System.Drawing.Color.DarkBlue)

' Save in multiple formats
qrCode.SaveAsPng("styled-qr.png")
qrCode.SaveAsPdf("styled-qr.pdf")
$vbLabelText   $csharpLabel
Przykład kodu QR pokazujący średni poziom korekcji błędów ze standardowymi wzorami wyszukiwania i strukturą kodowania danych

Kod koduje wartość alfanumeryczną o rozdzielczości 250 pikseli ze średnią korekcją błędów. Wersja 0 pozwala programowi wybrać odpowiednią wersję kodu QR. SaveAsJpeg() akceptuje nazwę pliku z rozszerzeniem JPEG.

Najlepsze praktyki generowania obrazów kodów kreskowych

Dla aplikacji produkcyjnych:

  1. Wybierz właściwy format: PNG dla webu, TIFF dla archiwizacji, JPEG do ogólnego użytku
  2. Przetestuj skanowanie: Zweryfikuj kody kreskowe za pomocą wielu urządzeń skanujących
  3. Zastosuj odpowiednie marginesy: Użyj ustawień marginesu kodu kreskowego dla niezawodnego skanowania
  4. Rozważ wydajność: Zbadaj opcje asynchroniczne i wielowątkowe dla generacji na dużą skalę

Dla dodatkowych przykładów i technik, odwiedź nasz samouczek Generatora Obrazów Kodów Kreskowych w C#.

Często Zadawane Pytania

Jak stworzyc obraz kodu kreskowego w C# uzywajac jednej linii kodu?

Dzieki IronBarcode mozesz stworzyc obraz kodu kreskowego w jednej linii uzywajac metody BarcodeWriter.CreateBarcode(). Wystarczy przekazac swoje dane, typ kodowania, szerokosc i wysokosc, a nastepnie zapisac to jako plik graficzny. Na przyklad: IronBarCode.BarcodeWriter.CreateBarcode("Sample123", BarcodeEncoding.Code128, 250, 100).SaveAsPng("Barcode.png");

Jakie rodzaje danych moge zakodowac w kodach kreskowych?

Metoda BarcodeWriter.CreateBarcode() IronBarcode akceptuje wiele typow danych, w tym tablice bajtow, MemoryStreams i ciagi znakow. Dlugosci ciagow oraz dozwolone znaki roznia sie w zaleznosci od typu kodu kreskowego - Code128 obsluguje pelny zestaw znakow ASCII, podczas gdy UPC-A wymaga dokladnie 12 cyfr. Dla danych binarnych mozesz uzyc tablic bajtow, aby zakodowac zlozone struktury danych.

Jakie formaty kodow kreskowych sa obsługiwane dla generowania obrazow?

IronBarcode obsluguje wiele formatow kodow kreskowych, w tym liniowe/1D kody kreskowe (Code128, Code39, UPC-A, UPC-E, EAN-8, EAN-13), 2D kody kreskowe (QR Code, Data Matrix, PDF417, Aztec) oraz specjalistyczne formaty jak MaxiCode do wysylki i Databar dla handlu detalicznego. Kazdy format sluzy okreslonym zastosowaniom, z Code128 do obslugi danych alfanumerycznych oraz kodami QR oferujacymi doskonala korekte bledow dla skanowania mobilnego.

Jak ustawic wymiary mojego obrazu kodu kreskowego?

Możesz ustawić wymiary obrazu kodu kreskowego w pikselach bezpośrednio w parametrach metody CreateBarcode(). IronBarcode używa domyślnych wymiarów 250px dla zarówno szerokości, jak i wysokości. Niektóre typy kodów kreskowych, jak QR i PDF417, mogą wymagac specyficznych wymiarow dla zgodnosci, a biblioteka automatycznie dostosowuje, gdy wymiary wejściowe nie zgadzają się z wymaganiami.

W jakich formatach graficznych moge zapisac wygenerowane kody kreskowe?

IronBarcode pozwala zapisac wygenerowane kody kreskowe w wielu formatach graficznych za pomoca metody SaveAs(). Mozesz zapisac jako PNG uzywajac SaveAsPng(), a takze w innych popularnych formatach jak JPEG, BMP i TIFF. Obiekt GeneratedBarcode zwracany przez CreateBarcode() zapewnia rozne metody zapisu dla roznych typow plikow.

Czy moge generowac kody QR jak rowniez tradycyjne kody kreskowe?

Tak, IronBarcode w pelni obsluguje generowanie kodow QR wraz z tradycyjnymi kodami kreskowymi. Mozesz stworzyc kody QR uzywajac tej samej metody CreateBarcode(), okreslajac BarcodeEncoding.QRCode jako typ kodowania. Kody QR oferuja zalety jak doskonala korekta bledow i sa idealne dla aplikacji do skanowania mobilnego.

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.