# Jak tworzyć kody kreskowe 1D i liniowe BarCodes
IronBarcode umożliwia generowanie wszystkich głównych formatów kodów kreskowych 1D, w tym Code 128, GS1-128, Code 39, Code 93, EAN-13, EAN-8, UPC-A, UPC-E, Intelligent Mail, MSI, Codabar i DataBar, przy użyciu prostego kodu C# z automatyczną walidacją i sprawdzaniem zgodności. Możesz przejrzeć pełną listę [obsługiwanych formatów BarCode,](https://ironsoftware.com/csharp/barcode/get-started/supported-barcode-formats/) aby znaleźć ten odpowiedni dla swoich potrzeb.
BarCODE pozostaje standardem branżowym w przekazywaniu informacji. Są szybkie, niezawodne i współpracują z niemal każdym skanerem. Ponieważ barcody te nie wymagają złożonego przetwarzania obrazu, doskonale sprawdzają się w środowiskach wymagających dużej szybkości, takich jak kasy sklepowe i przenośniki taśmowe.
Głównym wyzwaniem jest dobór odpowiedniego formatu dostosowanego do konkretnych potrzeb. Możesz potrzebować wysokiej gęstości danych `Code128` dla etykiet wysyłkowych, kompaktowy rozmiar `EAN8` dla małych produktów lub ścisłe formatowanie `IntelligentMail` Barcode dla usług pocztowych. IronBarcode pomaga w wydajnym i niezawodnym generowaniu wszystkich tych formatów. Biblioteka obsługuje również różne [formaty danych wyjściowych,](https://ironsoftware.com/csharp/barcode/how-to/output-data-formats/) co pozwala na płynną integrację z istniejącymi systemami.
W niniejszym przewodniku omówiono sposób generowania najważniejszych formatów 1D oraz typowe przypadki ich zastosowania w programie IronBarcode.
<hr />
*as-heading:2(Szybki start: Utwórz swój pierwszy BarCode 1D)*
Użyj prostego API IronBarcode, aby utworzyć kod kreskowy Code128 na podstawie ciągu znaków i zapisać go jako obraz JPEG. Zacznij od razu — dostarcz dane, wybierz kodowanie i rozmiar, a następnie zapisz plik graficzny.
```cs
:title=Generate 1D Barcode Instantly
IronBarCode.BarcodeWriter.CreateBarcode("HELLO-WORLD-123", BarcodeEncoding.Code128, 250, 100).SaveAsJpeg("MyFirstBarcode.jpg");
```
<div class="hsg-featured-snippet">
<h2>Jak tworzyć kody kreskowe 1D i liniowe za pomocą IronBarcode</h2>
<ol>
<li><a class="js-modal-open" data-modal-id="trial-license-after-download" href="https://www.nuget.org/packages/BarCode/">Pobierz bibliotekę IronBarcode C#, aby tworzyć kody kreskowe</a></li>
<li>Wygeneruj kod kreskowy o wartości ciągu znaków za pomocą <code>CreateBarCode</code></li>
<li>Określ typ kodu kreskowego za pomocą <code>BarCodeEncoding</code></li>
<li>Zapisz BarCode jako obraz lub w innym formacie za pomocą <code>SaveAsJpeg</code></li>
</ol>
</div>
## Jak utworzyć BarCodes 1D i liniowe?
Liniowe, jednowymiarowe BARCODE wykorzystują linie i odstępy o zmiennej szerokości do przechowywania danych w poziomie. Dwuwymiarowe barcody, takie jak kody QR, wykorzystują siatkę kwadratów do przechowywania informacji w dwóch wymiarach. Podczas gdy kody dwuwymiarowe mogą pomieścić więcej danych, takich jak adresy URL lub wizytówki, BARCODE-y jednowymiarowe są ograniczone do krótkich ciągów alfanumerycznych.
Ta prostota pozwala na szybsze skanowanie BARCODE-ów jednowymiarowych. Dzięki temu są one uniwersalnie kompatybilne ze standardowymi skanerami laserowymi, co czyni je idealnymi do zastosowań w szybkich środowiskach detalicznych i logistycznych. W przypadku pracy z aplikacjami skanującymi duże ilości danych zapoznaj się z naszymi [opcjami prędkości czytania](https://ironsoftware.com/csharp/barcode/how-to/reading-speed-options/), aby zoptymalizować wydajność.
Przyjrzyjmy się najczęściej obsługiwanym formatom i sposobom ich tworzenia za pomocą IronBarcode.
### Jak tworzyć barcodes Code-128?
BarCODE Code 128 jest powszechnie stosowany w logistyce wewnętrznej i na etykietach wysyłkowych. Obsługuje pełny zakres 128 znaków ASCII, dzięki czemu bardzo skutecznie kompresuje standardowe liczby i tekst angielski do niewielkich przestrzeni. To sprawia, że Code 128 idealnie nadaje się do systemów zarządzania magazynem i śledzenia zapasów, gdzie przestrzeń jest ograniczona, ale gęstość danych ma kluczowe znaczenie.
Jednak bez dodatkowych rozszerzeń nie obsługuje natywnie znaków Unicode ani znaków spoza alfabetu łacińskiego. Nie obsługuje on złożonych znaków z języków takich jak chiński czy arabski i błędnie interpretowałby dane, co prowadziłoby do nieprawidłowych wyników. W przypadku aplikacji wymagających obsługi Unicode zapoznaj się z naszym przewodnikiem dotyczącym [pisania BARCODE-ów Unicode](https://ironsoftware.com/csharp/barcode/how-to/writing-in-unicode/).
#### Jakiego kodu potrzebuję?
IronBarcode ułatwia generowanie Code-128: przekaż `BarcodeEncoding.Code128` jako drugi parametr podczas wywoływania metody `Create`, a następnie eksportuj jako obraz. Dowiedz się więcej o [tworzeniu obrazów BarCode](https://ironsoftware.com/csharp/barcode/how-to/create-barcode-images/) w różnych formatach i z różnymi opcjami.
```cs
:path=/static-assets/barcode/content-code-examples/how-to/create-code-128-barcode.cs
```
#### Jak wygląda wynik?
<div class="content-img-align-center">
<div class="center-image-wrapper" style="width=50%">
<img src="/static-assets/barcode/how-to/create-1d-barcodes/code128-sample.webp" alt="Przykładowy wynik dla kodu 128" class="img-responsive add-shadow" />
</div>
</div>
### Jak utworzyć BarCodes GSI-128?
GS1-128 to dodatkowy format danych stosowany jako rozszerzenie kodu 128. Główną zaletą GS1-128 jest spójna interpretacja danych na całym świecie, co eliminuje błędne interpretacje i niejasności. Ta standaryzacja ma kluczowe znaczenie dla zarządzania łańcuchem dostaw, w którym produkty przemieszczają się między różnymi firmami i krajami.
Jednak ze względu na ścisłe formatowanie pominięcie ukrytego znaku sterującego lub nieprawidłowa długość pola spowoduje, że BARCODE nie będzie zgodny z normami. Jeśli napotkasz problemy z formatowaniem GS1-128, nasz [przewodnik dotyczący rozwiązywania problemów z GS1-128](https://ironsoftware.com/csharp/barcode/troubleshooting/gs1-128/) może pomóc w rozwiązaniu typowych problemów.
#### Jaki format wymaga GSI-128?
BarCode scanners use application identifiers (AI) – numerical prefixes that identify the information contained in the product code. Zrozumienie tych identyfikatorów ma kluczowe znaczenie dla tworzenia zgodnych BARCODE, które działają w całym globalnym łańcuchu dostaw.
GS1-128 ma następującą czteroczęściową strukturę danych:
**(Prefiks numeryczny 01) GTIN (Global Trade Item Number)**: Unikalny identyfikator produktu, który określa, czym jest dany produkt. Musi składać się dokładnie z 14 cyfr. Jeśli kod produktu jest krótszy, należy go uzupełnić zerami na początku. Na przykład 123456789012 staje się 00123456789012.
**(Prefiks numeryczny 10) Partia/seria**: Numer partii lub serii produktu. Od 1 do 20 znaków alfanumerycznych. W przypadku umieszczenia w środkowej części BARCODE wymagany jest znak separatora FNC1, aby skanery wiedziały, gdzie się kończy. Nie jest potrzebny separator, jeśli znajduje się na końcu BarCode.
**(Prefiks numeryczny 17) Data ważności**: Data ważności produktu. Ustalono na sześć cyfr w formacie RRMMDD. Na przykład 251231 to 31 grudnia 2025 r. Używa 2-cyfrowych lat z oknem przesuwnym dla wieku.
**(Prefiks numeryczny 21) Numer seryjny**: Numer seryjny produktu identyfikujący konkretną jednostkę. Długość zmienna, od 1 do 20 znaków alfanumerycznych.
[[i:(Wymagany jest tylko numer GTIN; Atrybuty batch, expiry i serial są opcjonalne.)]]
[[w:(Chociaż wymagany jest tylko kod GTIN, niektórzy sprzedawcy detaliczni mają określone wytyczne dotyczące zgodności. Sprawdź ich wymagania podczas tworzenia BARCODE-ów.)]]
#### Jak wygenerować kod GSI-128 za pomocą IronBarcode?
Generowanie BARCODE-a GS1-128 jest łatwe; przekaż `BarcodeEncoding.Code128GS1` jako drugi parametr podczas wywoływania `Create`.
Poniższy przykład przedstawia pełną wartość zgodną ze standardem GS1-128, zawierającą wszystkie cztery atrybuty, i eksportuje ją jako obraz.
[[i:(Nawiasy kwadratowe są wymagane dla każdego prefiksu numerycznego, w przeciwnym razie sekcja ta nie zostanie rozpoznana jako prawidłowy atrybut.)]]
[[i:(IronBarcode automatycznie wstawia separator **FNC1** podczas tworzenia kodu GSI-128.)]]
```cs
:path=/static-assets/barcode/content-code-examples/how-to/create-gsi-128-barcode.cs
```
#### Jak wygląda wynik GSI-128?
<div class="content-img-align-center">
<div class="center-image-wrapper" style="width=50%">
<img src="/static-assets/barcode/how-to/create-1d-barcodes/gsi128.webp" alt="GS1-128 Przykładowy wynik" class="img-responsive add-shadow" />
</div>
</div>
#### Jak naprawić błędy formatowania GSI-128?
Jeśli ciąg znaków nie jest zgodny ze standardami GS1-128, IronBarcode zgłasza wyjątek. Sprawdź wartość ciągu znaków, korzystając z powyższej tabeli, i odpowiednio ją zmodyfikuj.
<div class="content-img-align-center">
<div class="center-image-wrapper" style="width=50%">
<img src="/static-assets/barcode/how-to/create-1d-barcodes/gsi-128-error.webp" alt="Wyjątek GS1-128" class="img-responsive add-shadow" />
</div>
</div>
### Jak utworzyć BarCodes Code 39?
Kod 39 jest jednym z pierwszych standardów BARCODE-ów alfanumerycznych, znanym ze swojej niezawodności. Powszechnie stosowane w sektorze motoryzacyjnym i obronnym. Możliwość kodowania liter i cyfr bez cyfr kontrolnych sprawia, że rozwiązanie to jest proste w zastosowaniu w środowiskach, w których integralność danych jest weryfikowana innymi metodami.
Jednak kod 39 ma ograniczony zestaw znaków. Dopuszczalne są wyłącznie wielkie litery alfabetu angielskiego, cyfry oraz symbole, takie jak /, ., -, itp. Tryb standardowy nie obsługuje małych liter. Aby uzyskać informacje na temat odczytu standardowych i rozszerzonych BARCODE-ów Code 39, zapoznaj się z naszym [przewodnikiem po odczycie BARCODE-ów Code 39](https://ironsoftware.com/csharp/barcode/how-to/read-code39-barcodes/).
#### Jakiego kodu potrzebuję dla Code 39?
Aby wygenerować Code39, przekaż `BarcodeEncoding.Code39` jako drugi parametr podczas używania `Create`.
Oto przykład:
```cs
:path=/static-assets/barcode/content-code-examples/how-to/create-code-39-barcode.cs
```
#### Jak wygląda wynik kodu 39?
<div class="content-img-align-center">
<div class="center-image-wrapper" style="width=50%">
<img src="/static-assets/barcode/how-to/create-1d-barcodes/code39.webp" alt="Przykładowy wynik Code39" class="img-responsive add-shadow" />
</div>
</div>
#### Dlaczego pojawiają się błędy Code 39?
<div class="content-img-align-center">
<div class="center-image-wrapper" style="width=50%">
<img src="/static-assets/barcode/how-to/create-1d-barcodes/code39-error.webp" alt="Wyjątek Code39" class="img-responsive add-shadow" />
</div>
</div>
Jeśli ciąg znaków nie jest zgodny ze standardem Code39, IronBarcode zgłasza ten wyjątek.
[[w:(IronBarcode obecnie nie obsługuje generowania rozszerzonych kodów kreskowych Code39; Obsługiwany jest tylko tryb czytania. Aby zapoznać się z odczytem rozszerzonego i standardowego kodu 39, zapoznaj się z naszym [samouczkiem dotyczącym odczytu kodu 39](https://ironsoftware.com/csharp/barcode/how-to/read-code39-barcodes/))]].
)}]
### Jak utworzyć BarCodes Code 93?
Kod 93 stanowi ulepszenie kodu 39, powszechnie stosowanego w logistyce i na etykietach komponentów elektronicznych, gdzie przestrzeń jest ograniczona, ale wymagane są dane alfanumeryczne. Zwiększona gęstość sprawdza się w przypadku małych elementów elektronicznych, gdzie liczy się każda przestrzeń.
Akceptuje pełne znaki ASCII, wielkie litery alfabetu angielskiego, cyfry i symbole. Oferuje większą gęstość niż Code 39.
#### Jakiego kodu potrzebuję dla kodu 93?
Aby wygenerować Code93, przekaż `BarcodeEncoding.Code93` jako drugi parametr podczas używania `Create`:
```cs
:path=/static-assets/barcode/content-code-examples/how-to/create-code-93-barcode.cs
```
#### Jak wygląda wynik działania Code 93?
<div class="content-img-align-center">
<div class="center-image-wrapper" style="width=50%">
<img src="/static-assets/barcode/how-to/create-1d-barcodes/code93.webp" alt="Przykładowy wynik Code93" class="img-responsive add-shadow" />
</div>
</div>
### Jak tworzyć barcodes CodaBar?
Codabar jest odporny na słabą jakość druku i jest szeroko stosowany w bankach krwi i bibliotekach. Tolerancja błędów tego formatu jest idealna w przypadku drukarek niskiej jakości lub zużycia.
Zmienna długość, ale ograniczony zestaw znaków. Zawiera tylko cyfry (0-9) i symbole `(-, $, :, /, ., +)`. Znaki startu/zakończenia A, B, C, D wskazują początek lub koniec. Te znaki nie mogą pojawiać się w środku BARCODE'a.
#### Jakiego kodu potrzebuję do CodaBar?
Aby wygenerować Codabar, przekaż `BarcodeEncoding.Codabar` jako drugi parametr podczas używania `Create`:
```cs
:path=/static-assets/barcode/content-code-examples/how-to/create-codabar-barcode.cs
```
#### Jak wygląda wynik działania CodaBar?
<div class="content-img-align-center">
<div class="center-image-wrapper" style="width=50%">
<img src="/static-assets/barcode/how-to/create-1d-barcodes/codabar.webp" alt="Przykładowy wynik dla kodu Codabar" class="img-responsive add-shadow" />
</div>
</div>
#### Dlaczego CodaBar wyświetla błędy?
Jeśli dane wejściowe zawierają litery, IronBarcode zgłasza wyjątek informujący, że akceptuje wyłącznie wartości liczbowe.
<div class="content-img-align-center">
<div class="center-image-wrapper" style="width=50%">
<img src="/static-assets/barcode/how-to/create-1d-barcodes/codabar-error.webp" alt="Wyjątek dotyczący kodu kreskowego Codabar" class="img-responsive add-shadow" />
</div>
</div>
### Jak tworzyć BarCodes DataBar?
GS1 DataBar (dawniej RSS-14) jest bardziej kompaktowy i przeznaczony do numerów identyfikacyjnych produktów. Przydatne w przypadku małych produktów, takich jak świeże warzywa i owoce, gdzie tradycyjne BARCODE zajmują zbyt dużo miejsca. Dowiedz się więcej o nowych możliwościach formatowania w naszej [aktualizacji dotyczącej nowych formatów](https://ironsoftware.com/csharp/barcode/product-updates/milestones-new-formats/).
Podobnie jak GS1-128, ma ściśle określony format kodowania. Wariant Omnidirectional zawiera **wyłącznie** atrybut kodu produktu.
#### Jaki format wymaga GS1-DataBar?
**(Prefiks numeryczny-01) GTIN (Global Trade Item Number)**: Unikalny identyfikator produktu. Musi składać się dokładnie z 14 cyfr.
[[w:(Standard "GS1 DataBar Omnidirectional" może zawierać **wyłącznie** GTIN (01). Użyj GS1 DataBar Expanded dla dodatkowych atrybutów.)]]
#### Jak wygenerować kod kreskowy GS1 DataBar?
Aby wygenerować GS1 DataBar, przekaż `BarcodeEncoding.DataBar` jako drugi parametr podczas używania `Create`:
```cs
:path=/static-assets/barcode/content-code-examples/how-to/create-gs1-databar-barcode.cs
```
#### Jak wygląda wynik działania DataBar?
<div class="content-img-align-center">
<div class="center-image-wrapper" style="width=50%">
<img src="/static-assets/barcode/how-to/create-1d-barcodes/databar.webp" alt="Przykładowy wynik GS1-Databar" class="img-responsive add-shadow" />
</div>
</div>
### Jak utworzyć BarCodes EAN-13?
EAN-13 to standardowy BARCODE stosowany na całym świecie w handlu detalicznym dla produktów konsumenckich — jeden z najczęściej używanych formatów. W przypadku aplikacji detalicznych sprawdź, jak [dostosować styl BarCode](https://ironsoftware.com/csharp/barcode/how-to/customize-barcode-style/) do wymagań marki.
EAN-13 wymaga ścisłego przestrzegania licencji. Nie można generować numerów EAN-13 do użytku publicznego bez uzyskania licencji na prefiks firmowy GS1, który gwarantuje unikalność BARCODE-ów. Zawiera tylko 13 cyfr. Aby uzyskać informacje na temat licencji, odwiedź naszą [stronę poświęconą licencjom](https://ironsoftware.com/csharp/barcode/licensing/).
Kod EAN-13 podlega określonym zasadom formatowania.
#### Jaki format wymaga EAN-13?
BarCode EAN-13 składa się z czterech części:
**Prefiks GS1 (pierwsze 3 cyfry)**: identyfikuje organizację członkowską GS1, zazwyczaj kraj rejestracji. Przykłady: 000-019 (USA/Kanada – zgodne z UPC), 500-509 (Wielka Brytania), 450-459 (Japonia).
**Kod producenta**: Kod o zmiennej długości przydzielany przez GS1.
**Kod produktu**: Przypisany przez producenta do konkretnego produktu.
**Cyfra kontrolna (ostatnia cyfra)**: obliczana na podstawie pierwszych 12 cyfr przy użyciu algorytmu modulo 10. Zapewnia dokładny odczyt skanera.
[[w:(Prefiksy 200–299 są zarezerwowane do ograniczonego obiegu. Nie używaj tych przedrostków w środowisku produkcyjnym podczas generowania BARCODE-ów EAN-13.)]]
#### Jak wygenerować kod EAN-13?
Aby wygenerować EAN-13, przekaż `BarcodeEncoding.EAN13` jako drugi parametr podczas używania `Create`:
```cs
:path=/static-assets/barcode/content-code-examples/how-to/create-ean13-barcode.cs
```
#### Jak wygląda wynik EAN-13?
<div class="content-img-align-center">
<div class="center-image-wrapper" style="width=50%">
<img src="/static-assets/barcode/how-to/create-1d-barcodes/ean13.webp" alt="Przykładowy wynik dla kodu EAN-13" class="img-responsive add-shadow" />
</div>
</div>
#### Jak naprawić błędy formatu EAN-13?
IronBarcode zgłasza wyjątek w przypadku wartości nienumerycznych.
<div class="content-img-align-center">
<div class="center-image-wrapper" style="width=50%">
<img src="/static-assets/barcode/how-to/create-1d-barcodes/ean13-error.webp" alt="Rozwiązywanie problemów z kodami EAN-13" class="img-responsive add-shadow" />
</div>
</div>
### Jak utworzyć BarCodes EAN-8?
EAN-8 to skondensowana wersja EAN-13 przeznaczona dla małych produktów konsumenckich, w przypadku których pełnowymiarowe BARCODE-y zajmują zbyt dużo miejsca. Często spotykane w przypadku ołówków i kosmetyków, gdzie miejsce na opakowaniu jest ograniczone.
W przeciwieństwie do Code 128 lub Code 39, EAN-8 wykorzystuje konkretne, przypisane prefiksy zamiast dowolnych liczb.
EAN-8 wykorzystuje ścisły 8-cyfrowy format: 7 cyfr danych i 1 cyfra kontrolna. Tylko liczby.
#### Jakiego kodu potrzebuję dla EAN-8?
Tworzenie EAN-8 wymaga przekazania `BarcodeEncoding.EAN8` jako drugiego parametru podczas używania `Create`:
```cs
:path=/static-assets/barcode/content-code-examples/how-to/create-ean8-barcode.cs
```
#### Jak wygląda wynik EAN-8?
<div class="content-img-align-center">
<div class="center-image-wrapper" style="width=50%">
<img src="/static-assets/barcode/how-to/create-1d-barcodes/ean8.webp" alt="Przykładowy wynik dla EAN-8" class="img-responsive add-shadow" />
</div>
</div>
#### Dlaczego pojawiają się błędy dotyczące długości kodu EAN-8?
Jeśli dane wejściowe zawierają więcej niż 8 znaków numerycznych, IronBarcode zgłasza wyjątek informujący, że EAN-8 wymaga 8 znaków.
<div class="content-img-align-center">
<div class="center-image-wrapper" style="width=50%">
<img src="/static-assets/barcode/how-to/create-1d-barcodes/ean8-error.webp" alt="Wyjątek EAN-8" class="img-responsive add-shadow" />
</div>
</div>
### Jak utworzyć inteligentne BarCodes Mail?
Intelligent Mail BarCode (IMB) to standard USPS służący do automatyzacji sortowania i śledzenia przesyłek pocztowych. W przeciwieństwie do tradycyjnych BarCodes o modulowanej szerokości, IMB wykorzystuje kreski o modulowanej wysokości. Obowiązkowe zniżki cenowe na listy i paczki płaskie w przypadku automatyzacji. Obsługuje tylko określone długości liczbowe: 20, 25, 29 lub 31 cyfr.
Używa określonych przedrostków numerycznych do definiowania informacji.
#### Jakiego formatu wymaga Intelligent Mail?
**(Pierwsze 2 cyfry) Identyfikator BarCode**: Identyfikator BarCode. Dokładnie 2 cyfry. Zazwyczaj 00 dla standardowej poczty komercyjnej.
**(Kolejne 3 cyfry) Identyfikator typu usługi (STID)**: Określa klasę przesyłki (np. First Class, Marketing Mail) oraz usługi (np. korekta adresu, śledzenie przesyłki). Ma kluczowe znaczenie dla uzyskania zniżek pocztowych.
**(Kolejne 6 lub 9 cyfr) Identyfikator nadawcy (MID)**: 6- lub 9-cyfrowy numer przypisany Twojej firmie przez USPS.
**(Kolejne 6 lub 9 cyfr) Numer seryjny**: identyfikuje unikalną przesyłkę pocztową.
**(Ostatnie 0, 5, 9 lub 11 cyfr) Kod trasy**: Kod ZIP dostawy.
#### Jak wygenerować inteligentny kod pocztowy?
Aby wygenerować IMB, przekaż `BarcodeEncoding.IntelligentMail` jako drugi parametr podczas wywoływania `Create`:
```cs
:path=/static-assets/barcode/content-code-examples/how-to/create-imb-barcode.cs
```
#### Jak wygląda wynik Intelligent Mail?
<div class="content-img-align-center">
<div class="center-image-wrapper" style="width=50%">
<img src="/static-assets/barcode/how-to/create-1d-barcodes/imb.webp" alt="Przykładowy wynik działania Intelligent Mail" class="img-responsive add-shadow" />
</div>
</div>
#### Jak naprawić błędy formatu Intelligent Mail?
IronBarcode zgłasza wyjątek, jeśli format jest nieprawidłowy. Sprawdź wartość ciągu znaków pod kątem zgodności z powyższym formatem i spróbuj ponownie po wprowadzeniu zmian.
<div class="content-img-align-center">
<div class="center-image-wrapper" style="width=50%">
<img src="/static-assets/barcode/how-to/create-1d-barcodes/imb-error.webp" alt="Wyjątek Intelligent Mail" class="img-responsive add-shadow" />
</div>
</div>
### Jak utworzyć BarCodes MSI?
MSI jest powszechnie stosowany na etykietach produktów w sklepach detalicznych oraz w kontroli zapasów magazynowych, rzadko natomiast na produktach konsumenckich. Jego prostota i niezawodność sprawiają, że jest popularny w operacjach wewnętrznych. W przypadku problemów z rozpoznawaniem plików MSI zapoznaj się z naszym [przewodnikiem dotyczącym rozwiązywania problemów z BARCODE MSI](https://ironsoftware.com/csharp/barcode/troubleshooting/could-not-recognize-msi-barcode/).
MSI to tylko liczby; Nie wolno używać liter ani symboli. Długość zmienna, zazwyczaj 10–15 cyfr.
#### Jakiego kodu potrzebuję dla MSI?
Aby wygenerować MSI, przekaż `BarcodeEncoding.MSI` jako drugi parametr podczas wywoływania `Create`:
```cs
:path=/static-assets/barcode/content-code-examples/how-to/create-msi-barcode.cs
```
#### Jak wygląda wynik MSI?
<div class="content-img-align-center">
<div class="center-image-wrapper" style="width=50%">
<img src="/static-assets/barcode/how-to/create-1d-barcodes/msi.webp" alt="Przykładowy wynik MSI" class="img-responsive add-shadow" />
</div>
</div>
### Jak utworzyć BarCodes UPC-A?
UPC-A to standardowy BARCODE stosowany w handlu detalicznym w Stanach Zjednoczonych i Kanadzie. 12-cyfrowy podzbiór kodu EAN-13. Najczęściej spotykany na produktach w supermarketach w Ameryce Północnej. Powszechne stosowanie sprawia, że jest to niezbędne na rynkach północnoamerykańskich.
Podobnie jak EAN-13, zazwyczaj przypisywany, a nie generowany.
Kod UPC-A zawiera dokładnie 12 cyfr. Nie akceptujemy listów.
#### Jaki format wymaga UPC-A?
**Znak systemu liczbowego (1)**: Określa typ produktu (0, 1, 6, 7, 8 dla standardowej sprzedaży detalicznej; 2 dla wagi losowej; 3 dla leków; 5 za kupony).
**Kod producenta (5)**: Przypisany przez GS1.
**Kod produktu (5)**: Przypisany przez producenta.
**Cyfra kontrolna (1)**: Obliczona suma kontrolna modulo 10.
#### Jak wygenerować kod UPC-A?
Aby wygenerować UPC-A, przekaż `BarcodeEncoding.UPCA` jako drugi parametr podczas wywoływania `Create`:
```cs
:path=/static-assets/barcode/content-code-examples/how-to/create-upc-a-barcode.cs
```
#### Jak wygląda wynik w formacie UPC-A?
<div class="content-img-align-center">
<div class="center-image-wrapper" style="width=50%">
<img src="/static-assets/barcode/how-to/create-1d-barcodes/upca.webp" alt="Przykładowy wynik dla UPC-A" class="img-responsive add-shadow" />
</div>
</div>
#### Dlaczego pojawiają się błędy dotyczące długości kodu UPC-A?
IronBarcode zgłasza błąd, jeśli długość wartości liczbowej przekracza 13 znaków.
<div class="content-img-align-center">
<div class="center-image-wrapper" style="width=50%">
<img src="/static-assets/barcode/how-to/create-1d-barcodes/upca-error.webp" alt="Wyjątek UPC-A" class="img-responsive add-shadow" />
</div>
</div>
### Jak utworzyć BarCodes UPC-E?
UPC-E to kompaktowa wersja kodu UPC-A przeznaczona dla małych opakowań detalicznych, takich jak puszki po napojach, gdzie pełny 12-cyfrowy kod UPC-A jest zbyt duży. Algorytm kompresji koduje te same informacje, zajmując mniej więcej połowę miejsca.
Podobnie jak UPC-A, wyłącznie numeryczny. Nie akceptujemy liter ani symboli.
#### Jakiego kodu potrzebuję dla UPC-E?
Aby wygenerować UPC-E, przekaż `BarcodeEncoding.UPCE` jako drugi parametr podczas wywoływania `Create`:
```cs
:path=/static-assets/barcode/content-code-examples/how-to/create-upc-e-barcode.cs
```
#### Jak wygląda wynik w formacie UPC-E?
<div class="content-img-align-center">
<div class="center-image-wrapper" style="width=50%">
<img src="/static-assets/barcode/how-to/create-1d-barcodes/upce.webp" alt="Przykladowe wyjscie UPC-E" class="img-responsive add-shadow" />
</div>
</div>
#### Jak naprawic błędy dlugosci UPC-E?
IronBarcode zglasza błąd, jeśli cyfry numeryczne przekraczaja 8.
<div class="content-img-align-center">
<div class="center-image-wrapper" style="width=50%">
<img src="/static-assets/barcode/how-to/create-1d-barcodes/upce-error.webp" alt="Rozwiązywanie problemow z UPC-E" class="img-responsive add-shadow" />
</div>
</div>
## Jakie sa różne typy kodow kreskowych 1D?
<table border="1" cellspacing="0" cellpadding="8" class="table table__configuration-variables" style="border-collapse: collapse; width: 100%; font-family: Arial, sans-serif; margin: 16px 0;">
<thead>
<tr style="background-color: #f2f2f2;">
<th style="width: 15%; text-align: left; border: 1px solid #ddd; padding: 12px;">Imię</th>
<th style="width: 25%; text-align: left; border: 1px solid #ddd; padding: 12px;">Format</th>
<th style="width: 25%; text-align: left; border: 1px solid #ddd; padding: 12px;">Powszechne zastosowanie</th>
<th style="width: 35%; text-align: left; border: 1px solid #ddd; padding: 12px;">Ograniczenia i pułapki</th>
</tr>
</thead>
<tbody>
<tr>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>Code 128</strong></td>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>Alfanumeryczny</strong><br />Pełne ASCII 128 wspierane. Zmienna dlugosc. Wysoka gęstość.</td>
<td style="border: 1px solid #ddd; padding: 12px;">Logistyka wewnetrzna, etykiety wysylkowe, sledzenie zasobów, karty ID.</td>
<td style="border: 1px solid #ddd; padding: 12px;">
<ul>
<li><strong>Brak Unicode:</strong> Nie może rodjennie kodowac znakow specjalnych (jak chińskie znaki lub emoji) bez łamania zgodności ze skanerem.</li>
<li><strong>Jakość druku:</strong> Wymaga wysokiej rozdzielczości; niski DPI druk termiczny może powodowac problemy z czytelnoscia.</li>
</ul>
</td>
</tr>
<tr>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>GS1-128</strong></td>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>Strukturalny alfanumeryczny</strong><br />Code 128 z prowadzącym <code>FNC1</code> + Identyfikatory aplikacji (np. <code>(01)</code>).</td>
<td style="border: 1px solid #ddd; padding: 12px;">Globalny łańcuch dostaw (Walmart/Amazon), etykiety palet, EDI.</td>
<td style="border: 1px solid #ddd; padding: 12px;">
<ul>
<li><strong>Brak FNC1:</strong> Musi zaczynać się od niewidzialnego znaku <code>FNC1</code> inaczej skanery odczytuja go jako surowy tekst.</li>
<li><strong>Nawiasy:</strong> Nie koduj nawiasow <code>()</code> wokol AI's; sa one tylko do odczytu dla czlowieka.</li>
</ul>
</td>
</tr>
<tr>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>Code 39</strong></td>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>Alfanumeryczny (Ograniczony)</strong><br />Wielkie litery A-Z, 0-9 oraz <code>-. $ / + % spacja</code>.</td>
<td style="border: 1px solid #ddd; padding: 12px;">Motoryzacja (AIAG), obrona (LOGMARS), dziedzinowe ID przemysłowe.</td>
<td style="border: 1px solid #ddd; padding: 12px;">
<ul>
<li><strong>Brak małych liter:</strong> Tryb standardowy nie działa, jeśli wpiszesz 'a'. Tryb rozszerzony wspiera to, ale wymaga specyficznej konfiguracji skanera.</li>
<li><strong>Niska gęstość:</strong> Powoduje bardzo szerokie kody kreskowe, nie nadają się do małych etykiet.</li>
</ul>
</td>
</tr>
<tr>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>Kod 93</strong></td>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>Alfanumeryczny</strong><br />Podobny do Code 39, ale z większą gęstością.</td>
<td style="border: 1px solid #ddd; padding: 12px;">Elektronika (PCB), poczta kanadyjska, i produkcja wewnętrzna.</td>
<td style="border: 1px solid #ddd; padding: 12px;">
<ul>
<li><strong>Cyfry kontrolne:</strong> Wymaga dwoch obowiazkowych cyfr kontrolnych (C i K). Nie obliczaj ich ręcznie; pozwól, aby biblioteką się tym zajęła.</li>
<li><strong>Wsparcie skanera:</strong> Często jest domyślnie wyłączone na skanerach, aby zapobiec konfliktom z Code 39.</li>
</ul>
</td>
</tr>
<tr>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>Kodabar</strong></td>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>Numeryczny + symboły</strong><br />0-9 i <code>- $ : /. +</code>. Start/Stop: A, B, C, D.</td>
<td style="border: 1px solid #ddd; padding: 12px;">Banki krwi, biblioteki, FedEx Airbills (legacy).</td>
<td style="border: 1px solid #ddd; padding: 12px;">
<ul>
<li><strong>Krótkie odczyty:</strong> Podatny na błędy, gdy skaner odczytuje część kodu (np. odczytanie "123" z "12345").</li>
<li><strong>Brak liter:</strong> Nie może kodowac danych literami, tylko A-D jako delimitery.</li>
</ul>
</td>
</tr>
<tr>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>GS1 DataBar</strong></td>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>Numeryczny (14 cyfr)</strong><br />Koduje tylko GTIN-14. Niezwykle kompaktowy.</td>
<td style="border: 1px solid #ddd; padding: 12px;">Luzem owoce (naklejki na owocach), małe kosmetyki i pojemniki na leki.</td>
<td style="border: 1px solid #ddd; padding: 12px;">
<ul>
<li><strong>Brak atrybutów:</strong> Standardowa wersja omnidirectional nie może zawierać danych o dacie końca przydatnosci czy partii (wymaga wersji rozszerzonej).</li>
<li><strong>Scisly input:</strong> Musi mieć dokładnie 14 cyfr.</li>
</ul>
</td>
</tr>
<tr>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>EAN-13</strong></td>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>Numeryczny (13 cyfr)</strong><br />Kraj + Producent + Produkt + Cyfra kontrolna.</td>
<td style="border: 1px solid #ddd; padding: 12px;">Globalne punkty sprzedaży detalicznej (supermarkety).</td>
<td style="border: 1px solid #ddd; padding: 12px;">
<ul>
<li><strong>Licencjonowanie:</strong> Wymaga opłaconego prefiksu firmy GS1.</li>
<li><strong>Ograniczone prefiksy:</strong> Prefiksy 200-299 sa przeznaczone wyłącznie do użytku wewnątrz sklepu i nie działają w globalnym łańcuchu dostaw.</li>
</ul>
</td>
</tr>
<tr>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>EAN-8</strong></td>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>Numeryczny (8 cyfr)</strong><br />7 danych + 1 cyfra kontrolna.</td>
<td style="border: 1px solid #ddd; padding: 12px;">Male opakowania detaliczne (gumy do zucia, ołówki).</td>
<td style="border: 1px solid #ddd; padding: 12px;">
<ul>
<li><strong>Dostepność:</strong> Trudno dostępne; GS1 wydaje je tylko wtedy, gdy twój produkt jest fizycznie zbyt mały dla EAN-13.</li>
<li><strong>Dlugosc wejscia:</strong> Musi mieć dokładnie 7 lub 8 cyfr.</li>
</ul>
</td>
</tr>
<tr>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>Inteligentna poczta</strong></td>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>Numeryczny (20, 25, 29, 31 cyfr)</strong><br />Kody kreskowe o modulowanej wysokosci (4-stanowe).</td>
<td style="border: 1px solid #ddd; padding: 12px;">USPS sortowanie i automatyzacja poczty.</td>
<td style="border: 1px solid #ddd; padding: 12px;">
<ul>
<li><strong>Scisle dlugosci:</strong> Wejście musi pasować do dokładnych pól USPS (ID kodu kreskowego, STID, MID, serial, Zip).</li>
<li><strong>STID '234':</strong> Nie używaj tego przykładowego ID w produkcji; może prowadzić do odrzuconej poczty lub utraconych zniżek.</li>
</ul>
</td>
</tr>
<tr>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>MSI (Plessey)</strong></td>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>Tylko numeryczny</strong><br />Zmienna długość.</td>
<td style="border: 1px solid #ddd; padding: 12px;">Etykiety na półkach sklepowych, pojemniki magazynowe.</td>
<td style="border: 1px solid #ddd; padding: 12px;">
<ul>
<li><strong>Zamęt z kontrolą sumy kontrolnej:</strong> Obsługuje Mod 10, Mod 11, Mod 1010 itp. Musisz dokładnie wiedzieć, jaki twoja skaner oczekuje.</li>
<li><strong>Niezawodność:</strong> Słaby wskaźnik odczytu w porównaniu do nowoczesnych kodów.</li>
</ul>
</td>
</tr>
<tr>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>UPC-A</strong></td>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>Numeryczny (12 cyfr)</strong><br />11 danych + 1 cyfra kontrolna.</td>
<td style="border: 1px solid #ddd; padding: 12px;">Punkt sprzedaży detalicznej w Ameryce Północnej.</td>
<td style="border: 1px solid #ddd; padding: 12px;">
<ul>
<li><strong>Region:</strong> Głównie USA/Kanada. Globalni sprzedawcy powinni używać EAN-13.</li>
<li><strong>Wiodące zera:</strong> Technicznie, EAN-13 zaczyna się od 0.</li>
</ul>
</td>
</tr>
<tr>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>UPC-E</strong></td>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>Numeryczny (6 cyfr)</strong><br />Skondensowany format.</td>
<td style="border: 1px solid #ddd; padding: 12px;">Male opakowania detaliczne (puszki z napojami) w USA/Kanadzie.</td>
<td style="border: 1px solid #ddd; padding: 12px;">
<ul>
<li><strong>Zasady kompresji:</strong> Nie można po prostu 'przekonwertować' dowolnego UPC-A. Twój numer musi mieć określony wzór zer, aby był kompresowalny.</li>
<li><strong>System numerowy:</strong> Obsługuje tylko system numerowy 0 lub 1.</li>
</ul>
</td>
</tr>
</tbody>
</table>
IronBarcode umożliwia generowanie wszystkich głównych formatów kodów kreskowych 1D, w tym Code 128, GS1-128, Code 39, Code 93, EAN-13, EAN-8, UPC-A, UPC-E, Intelligent Mail, MSI, Codabar i DataBar, przy użyciu prostego kodu C# z automatyczną walidacją i sprawdzaniem zgodności. Możesz przejrzeć pełną listę obsługiwanych formatów BarCode, aby znaleźć ten odpowiedni dla swoich potrzeb.
BarCODE pozostaje standardem branżowym w przekazywaniu informacji. Są szybkie, niezawodne i współpracują z niemal każdym skanerem. Ponieważ barcody te nie wymagają złożonego przetwarzania obrazu, doskonale sprawdzają się w środowiskach wymagających dużej szybkości, takich jak kasy sklepowe i przenośniki taśmowe.
Głównym wyzwaniem jest dobór odpowiedniego formatu dostosowanego do konkretnych potrzeb. Możesz potrzebować wysokiej gęstości danych Code128 dla etykiet wysyłkowych, kompaktowy rozmiar EAN8 dla małych produktów lub ścisłe formatowanie IntelligentMail Barcode dla usług pocztowych. IronBarcode pomaga w wydajnym i niezawodnym generowaniu wszystkich tych formatów. Biblioteka obsługuje również różne formaty danych wyjściowych, co pozwala na płynną integrację z istniejącymi systemami.
W niniejszym przewodniku omówiono sposób generowania najważniejszych formatów 1D oraz typowe przypadki ich zastosowania w programie IronBarcode.
Szybki start: Utwórz swój pierwszy BarCode 1D
Użyj prostego API IronBarcode, aby utworzyć kod kreskowy Code128 na podstawie ciągu znaków i zapisać go jako obraz JPEG. Zacznij od razu — dostarcz dane, wybierz kodowanie i rozmiar, a następnie zapisz plik graficzny.
Wygeneruj kod kreskowy o wartości ciągu znaków za pomocą CreateBarCode
Określ typ kodu kreskowego za pomocą BarCodeEncoding
Zapisz BarCode jako obraz lub w innym formacie za pomocą SaveAsJpeg
Jak utworzyć BarCodes 1D i liniowe?
Liniowe, jednowymiarowe BARCODE wykorzystują linie i odstępy o zmiennej szerokości do przechowywania danych w poziomie. Dwuwymiarowe barcody, takie jak kody QR, wykorzystują siatkę kwadratów do przechowywania informacji w dwóch wymiarach. Podczas gdy kody dwuwymiarowe mogą pomieścić więcej danych, takich jak adresy URL lub wizytówki, BARCODE-y jednowymiarowe są ograniczone do krótkich ciągów alfanumerycznych.
Ta prostota pozwala na szybsze skanowanie BARCODE-ów jednowymiarowych. Dzięki temu są one uniwersalnie kompatybilne ze standardowymi skanerami laserowymi, co czyni je idealnymi do zastosowań w szybkich środowiskach detalicznych i logistycznych. W przypadku pracy z aplikacjami skanującymi duże ilości danych zapoznaj się z naszymi opcjami prędkości czytania, aby zoptymalizować wydajność.
Przyjrzyjmy się najczęściej obsługiwanym formatom i sposobom ich tworzenia za pomocą IronBarcode.
Jak tworzyć barcodes Code-128?
BarCODE Code 128 jest powszechnie stosowany w logistyce wewnętrznej i na etykietach wysyłkowych. Obsługuje pełny zakres 128 znaków ASCII, dzięki czemu bardzo skutecznie kompresuje standardowe liczby i tekst angielski do niewielkich przestrzeni. To sprawia, że Code 128 idealnie nadaje się do systemów zarządzania magazynem i śledzenia zapasów, gdzie przestrzeń jest ograniczona, ale gęstość danych ma kluczowe znaczenie.
Jednak bez dodatkowych rozszerzeń nie obsługuje natywnie znaków Unicode ani znaków spoza alfabetu łacińskiego. Nie obsługuje on złożonych znaków z języków takich jak chiński czy arabski i błędnie interpretowałby dane, co prowadziłoby do nieprawidłowych wyników. W przypadku aplikacji wymagających obsługi Unicode zapoznaj się z naszym przewodnikiem dotyczącym pisania BARCODE-ów Unicode.
Jakiego kodu potrzebuję?
IronBarcode ułatwia generowanie Code-128: przekaż BarcodeEncoding.Code128 jako drugi parametr podczas wywoływania metody Create, a następnie eksportuj jako obraz. Dowiedz się więcej o tworzeniu obrazów BarCode w różnych formatach i z różnymi opcjami.
using IronBarCode;// Specify Code 128 FormatGeneratedBarcode barcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.Code128);// Add barcode value text below the barcodebarcode.AddBarcodeValueTextBelowBarcode();// Save it as JPGbarcode.SaveAsJpeg("code128-sample.jpg");
using IronBarCode;
// Specify Code 128 Format
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.Code128);
// Add barcode value text below the barcode
barcode.AddBarcodeValueTextBelowBarcode();
// Save it as JPG
barcode.SaveAsJpeg("code128-sample.jpg");
ImportsIronBarCode' Specify Code 128 FormatDim barcode AsGeneratedBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.Code128)' Add barcode value text below the barcodebarcode.AddBarcodeValueTextBelowBarcode()' Save it as JPGbarcode.SaveAsJpeg("code128-sample.jpg")
Imports IronBarCode
' Specify Code 128 Format
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.Code128)
' Add barcode value text below the barcode
barcode.AddBarcodeValueTextBelowBarcode()
' Save it as JPG
barcode.SaveAsJpeg("code128-sample.jpg")
Jak wygląda wynik?
Jak utworzyć BarCodes GSI-128?
GS1-128 to dodatkowy format danych stosowany jako rozszerzenie kodu 128. Główną zaletą GS1-128 jest spójna interpretacja danych na całym świecie, co eliminuje błędne interpretacje i niejasności. Ta standaryzacja ma kluczowe znaczenie dla zarządzania łańcuchem dostaw, w którym produkty przemieszczają się między różnymi firmami i krajami.
Jednak ze względu na ścisłe formatowanie pominięcie ukrytego znaku sterującego lub nieprawidłowa długość pola spowoduje, że BARCODE nie będzie zgodny z normami. Jeśli napotkasz problemy z formatowaniem GS1-128, nasz przewodnik dotyczący rozwiązywania problemów z GS1-128 może pomóc w rozwiązaniu typowych problemów.
Jaki format wymaga GSI-128?
BarCode scanners use application identifiers (AI) – numerical prefixes that identify the information contained in the product code. Zrozumienie tych identyfikatorów ma kluczowe znaczenie dla tworzenia zgodnych BARCODE, które działają w całym globalnym łańcuchu dostaw.
GS1-128 ma następującą czteroczęściową strukturę danych:
(Prefiks numeryczny 01) GTIN (Global Trade Item Number): Unikalny identyfikator produktu, który określa, czym jest dany produkt. Musi składać się dokładnie z 14 cyfr. Jeśli kod produktu jest krótszy, należy go uzupełnić zerami na początku. Na przykład 123456789012 staje się 00123456789012.
(Prefiks numeryczny 10) Partia/seria: Numer partii lub serii produktu. Od 1 do 20 znaków alfanumerycznych. W przypadku umieszczenia w środkowej części BARCODE wymagany jest znak separatora FNC1, aby skanery wiedziały, gdzie się kończy. Nie jest potrzebny separator, jeśli znajduje się na końcu BarCode.
(Prefiks numeryczny 17) Data ważności: Data ważności produktu. Ustalono na sześć cyfr w formacie RRMMDD. Na przykład 251231 to 31 grudnia 2025 r. Używa 2-cyfrowych lat z oknem przesuwnym dla wieku.
(Prefiks numeryczny 21) Numer seryjny: Numer seryjny produktu identyfikujący konkretną jednostkę. Długość zmienna, od 1 do 20 znaków alfanumerycznych.
Zwróć uwagę: Wymagany jest tylko numer GTIN; Atrybuty batch, expiry i serial są opcjonalne.
Ostrzeżenie: Chociaż wymagany jest tylko kod GTIN, niektórzy sprzedawcy detaliczni mają określone wytyczne dotyczące zgodności. Sprawdź ich wymagania podczas tworzenia BARCODE-ów.
Jak wygenerować kod GSI-128 za pomocą IronBarcode?
Generowanie BARCODE-a GS1-128 jest łatwe; przekaż BarcodeEncoding.Code128GS1 jako drugi parametr podczas wywoływania Create.
Poniższy przykład przedstawia pełną wartość zgodną ze standardem GS1-128, zawierającą wszystkie cztery atrybuty, i eksportuje ją jako obraz.
Zwróć uwagę: Nawiasy kwadratowe są wymagane dla każdego prefiksu numerycznego, w przeciwnym razie sekcja ta nie zostanie rozpoznana jako prawidłowy atrybut.
Zwróć uwagę: IronBarcode automatycznie wstawia separator FNC1 podczas tworzenia kodu GSI-128.
using IronBarCode;// Valid GS1-128 String: GTIN + Expiry + Batch + Serial Numberstring gs1Value = "(01)01234567890128(17)251231(10)BATCH001(21)111111";// Create the barcodeGeneratedBarcode barcode = BarcodeWriter.CreateBarcode(gs1Value, BarcodeEncoding.Code128GS1);// Display the value below the barcodebarcode.AddBarcodeValueTextBelowBarcode();// Save as a JPG filebarcode.SaveAsJpeg("gsi128-sample.jpg");
using IronBarCode;
// Valid GS1-128 String: GTIN + Expiry + Batch + Serial Number
string gs1Value = "(01)01234567890128(17)251231(10)BATCH001(21)111111";
// Create the barcode
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(gs1Value, BarcodeEncoding.Code128GS1);
// Display the value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();
// Save as a JPG file
barcode.SaveAsJpeg("gsi128-sample.jpg");
ImportsIronBarCode' Valid GS1-128 String: GTIN + Expiry + Batch + Serial NumberDim gs1Value AsString = "(01)01234567890128(17)251231(10)BATCH001(21)111111"' Create the barcodeDim barcode AsGeneratedBarcode = BarcodeWriter.CreateBarcode(gs1Value, BarcodeEncoding.Code128GS1)' Display the value below the barcodebarcode.AddBarcodeValueTextBelowBarcode()' Save as a JPG filebarcode.SaveAsJpeg("gsi128-sample.jpg")
Imports IronBarCode
' Valid GS1-128 String: GTIN + Expiry + Batch + Serial Number
Dim gs1Value As String = "(01)01234567890128(17)251231(10)BATCH001(21)111111"
' Create the barcode
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(gs1Value, BarcodeEncoding.Code128GS1)
' Display the value below the barcode
barcode.AddBarcodeValueTextBelowBarcode()
' Save as a JPG file
barcode.SaveAsJpeg("gsi128-sample.jpg")
Jak wygląda wynik GSI-128?
Jak naprawić błędy formatowania GSI-128?
Jeśli ciąg znaków nie jest zgodny ze standardami GS1-128, IronBarcode zgłasza wyjątek. Sprawdź wartość ciągu znaków, korzystając z powyższej tabeli, i odpowiednio ją zmodyfikuj.
Jak utworzyć BarCodes Code 39?
Kod 39 jest jednym z pierwszych standardów BARCODE-ów alfanumerycznych, znanym ze swojej niezawodności. Powszechnie stosowane w sektorze motoryzacyjnym i obronnym. Możliwość kodowania liter i cyfr bez cyfr kontrolnych sprawia, że rozwiązanie to jest proste w zastosowaniu w środowiskach, w których integralność danych jest weryfikowana innymi metodami.
Jednak kod 39 ma ograniczony zestaw znaków. Dopuszczalne są wyłącznie wielkie litery alfabetu angielskiego, cyfry oraz symbole, takie jak /, ., -, itp. Tryb standardowy nie obsługuje małych liter. Aby uzyskać informacje na temat odczytu standardowych i rozszerzonych BARCODE-ów Code 39, zapoznaj się z naszym przewodnikiem po odczycie BARCODE-ów Code 39.
Jakiego kodu potrzebuję dla Code 39?
Aby wygenerować Code39, przekaż BarcodeEncoding.Code39 jako drugi parametr podczas używania Create.
Oto przykład:
using IronBarCode;// Specify Code39 FormatGeneratedBarcode barcode = BarcodeWriter.CreateBarcode("IRON-1234", BarcodeEncoding.Code39);// Stamp barcode value below the barcodebarcode.AddBarcodeValueTextBelowBarcode();// Save as a JPG filebarcode.SaveAsJpeg("code39.jpg");
using IronBarCode;
// Specify Code39 Format
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode("IRON-1234", BarcodeEncoding.Code39);
// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();
// Save as a JPG file
barcode.SaveAsJpeg("code39.jpg");
ImportsIronBarCode' Specify Code39 FormatDim barcode AsGeneratedBarcode = BarcodeWriter.CreateBarcode("IRON-1234", BarcodeEncoding.Code39)' Stamp barcode value below the barcodebarcode.AddBarcodeValueTextBelowBarcode()' Save as a JPG filebarcode.SaveAsJpeg("code39.jpg")
Imports IronBarCode
' Specify Code39 Format
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("IRON-1234", BarcodeEncoding.Code39)
' Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode()
' Save as a JPG file
barcode.SaveAsJpeg("code39.jpg")
Jak wygląda wynik kodu 39?
Dlaczego pojawiają się błędy Code 39?
Jeśli ciąg znaków nie jest zgodny ze standardem Code39, IronBarcode zgłasza ten wyjątek.
Ostrzeżenie: IronBarcode obecnie nie obsługuje generowania rozszerzonych kodów kreskowych Code39; Obsługiwany jest tylko tryb czytania. Aby zapoznać się z odczytem rozszerzonego i standardowego kodu 39, zapoznaj się z naszym samouczkiem dotyczącym odczytu kodu 39
.
)}]
Jak utworzyć BarCodes Code 93?
Kod 93 stanowi ulepszenie kodu 39, powszechnie stosowanego w logistyce i na etykietach komponentów elektronicznych, gdzie przestrzeń jest ograniczona, ale wymagane są dane alfanumeryczne. Zwiększona gęstość sprawdza się w przypadku małych elementów elektronicznych, gdzie liczy się każda przestrzeń.
Akceptuje pełne znaki ASCII, wielkie litery alfabetu angielskiego, cyfry i symbole. Oferuje większą gęstość niż Code 39.
Jakiego kodu potrzebuję dla kodu 93?
Aby wygenerować Code93, przekaż BarcodeEncoding.Code93 jako drugi parametr podczas używania Create:
using IronBarCode;// Valid Input: Uppercase A-Z, 0-9, specific symbolsstring code93Value = "ELEC-COMP-99";// Create Code 93GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(code93Value, BarcodeWriterEncoding.Code93);// Stamp barcode value below the barcodebarcode.AddBarcodeValueTextBelowBarcode();// Save as a JPG filebarcode.SaveAsJpeg("code93.jpg");
using IronBarCode;
// Valid Input: Uppercase A-Z, 0-9, specific symbols
string code93Value = "ELEC-COMP-99";
// Create Code 93
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(code93Value, BarcodeWriterEncoding.Code93);
// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();
// Save as a JPG file
barcode.SaveAsJpeg("code93.jpg");
ImportsIronBarCode' Valid Input: Uppercase A-Z, 0-9, specific symbolsDim code93Value AsString = "ELEC-COMP-99"' Create Code 93Dim barcode AsGeneratedBarcode = BarcodeWriter.CreateBarcode(code93Value, BarcodeWriterEncoding.Code93)' Stamp barcode value below the barcodebarcode.AddBarcodeValueTextBelowBarcode()' Save as a JPG filebarcode.SaveAsJpeg("code93.jpg")
Imports IronBarCode
' Valid Input: Uppercase A-Z, 0-9, specific symbols
Dim code93Value As String = "ELEC-COMP-99"
' Create Code 93
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(code93Value, BarcodeWriterEncoding.Code93)
' Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode()
' Save as a JPG file
barcode.SaveAsJpeg("code93.jpg")
Jak wygląda wynik działania Code 93?
Jak tworzyć barcodes CodaBar?
Codabar jest odporny na słabą jakość druku i jest szeroko stosowany w bankach krwi i bibliotekach. Tolerancja błędów tego formatu jest idealna w przypadku drukarek niskiej jakości lub zużycia.
Zmienna długość, ale ograniczony zestaw znaków. Zawiera tylko cyfry (0-9) i symbole (-, $, :, /, ., +). Znaki startu/zakończenia A, B, C, D wskazują początek lub koniec. Te znaki nie mogą pojawiać się w środku BARCODE'a.
Jakiego kodu potrzebuję do CodaBar?
Aby wygenerować Codabar, przekaż BarcodeEncoding.Codabar jako drugi parametr podczas używania Create:
using IronBarCode;// Valid Input: Numbers 0-9 and symbols -$:/.+ IronBarcode automatically appends by A, B, C, or Dstring codabarValue = "10500200";// Create CodabarGeneratedBarcode barcode = BarcodeWriter.CreateBarcode(codabarValue, BarcodeWriterEncoding.Codabar);// Stamp barcode value below the barcodebarcode.AddBarcodeValueTextBelowBarcode();// Save as a JPG filebarcode.SaveAsJpeg("codabar.jpg");
using IronBarCode;
// Valid Input: Numbers 0-9 and symbols -$:/.+ IronBarcode automatically appends by A, B, C, or D
string codabarValue = "10500200";
// Create Codabar
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(codabarValue, BarcodeWriterEncoding.Codabar);
// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();
// Save as a JPG file
barcode.SaveAsJpeg("codabar.jpg");
ImportsIronBarCode' Valid Input: Numbers 0-9 and symbols -$:/.+ IronBarcode automatically appends by A, B, C, or DDim codabarValue AsString = "10500200"' Create CodabarDim barcode AsGeneratedBarcode = BarcodeWriter.CreateBarcode(codabarValue, BarcodeWriterEncoding.Codabar)' Stamp barcode value below the barcodebarcode.AddBarcodeValueTextBelowBarcode()' Save as a JPG filebarcode.SaveAsJpeg("codabar.jpg")
Imports IronBarCode
' Valid Input: Numbers 0-9 and symbols -$:/.+ IronBarcode automatically appends by A, B, C, or D
Dim codabarValue As String = "10500200"
' Create Codabar
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(codabarValue, BarcodeWriterEncoding.Codabar)
' Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode()
' Save as a JPG file
barcode.SaveAsJpeg("codabar.jpg")
Jak wygląda wynik działania CodaBar?
Dlaczego CodaBar wyświetla błędy?
Jeśli dane wejściowe zawierają litery, IronBarcode zgłasza wyjątek informujący, że akceptuje wyłącznie wartości liczbowe.
Jak tworzyć BarCodes DataBar?
GS1 DataBar (dawniej RSS-14) jest bardziej kompaktowy i przeznaczony do numerów identyfikacyjnych produktów. Przydatne w przypadku małych produktów, takich jak świeże warzywa i owoce, gdzie tradycyjne BARCODE zajmują zbyt dużo miejsca. Dowiedz się więcej o nowych możliwościach formatowania w naszej aktualizacji dotyczącej nowych formatów.
Podobnie jak GS1-128, ma ściśle określony format kodowania. Wariant Omnidirectional zawiera wyłącznie atrybut kodu produktu.
Jaki format wymaga GS1-DataBar?
(Prefiks numeryczny-01) GTIN (Global Trade Item Number): Unikalny identyfikator produktu. Musi składać się dokładnie z 14 cyfr.
Ostrzeżenie: Standard "GS1 DataBar Omnidirectional" może zawierać wyłącznie GTIN (01). Użyj GS1 DataBar Expanded dla dodatkowych atrybutów.
Jak wygenerować kod kreskowy GS1 DataBar?
Aby wygenerować GS1 DataBar, przekaż BarcodeEncoding.DataBar jako drugi parametr podczas używania Create:
using IronBarCode;// Valid Input: Exactly 14 digits (GTIN). IronBarcode will calculate and append the correct check digitstring databarValue = "0123456789012";// Create GS1 DataBarGeneratedBarcode barcode = BarcodeWriter.CreateBarcode(databarValue, BarcodeWriterEncoding.DataBar);// Stamp barcode value below the barcodebarcode.AddBarcodeValueTextBelowBarcode();// Save as a JPG filebarcode.SaveAsJpeg("databar.jpg");
using IronBarCode;
// Valid Input: Exactly 14 digits (GTIN). IronBarcode will calculate and append the correct check digit
string databarValue = "0123456789012";
// Create GS1 DataBar
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(databarValue, BarcodeWriterEncoding.DataBar);
// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();
// Save as a JPG file
barcode.SaveAsJpeg("databar.jpg");
ImportsIronBarCode' Valid Input: Exactly 14 digits (GTIN). IronBarcode will calculate and append the correct check digitDim databarValue AsString = "0123456789012"' Create GS1 DataBarDim barcode AsGeneratedBarcode = BarcodeWriter.CreateBarcode(databarValue, BarcodeWriterEncoding.DataBar)' Stamp barcode value below the barcodebarcode.AddBarcodeValueTextBelowBarcode()' Save as a JPG filebarcode.SaveAsJpeg("databar.jpg")
Imports IronBarCode
' Valid Input: Exactly 14 digits (GTIN). IronBarcode will calculate and append the correct check digit
Dim databarValue As String = "0123456789012"
' Create GS1 DataBar
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(databarValue, BarcodeWriterEncoding.DataBar)
' Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode()
' Save as a JPG file
barcode.SaveAsJpeg("databar.jpg")
Jak wygląda wynik działania DataBar?
Jak utworzyć BarCodes EAN-13?
EAN-13 to standardowy BARCODE stosowany na całym świecie w handlu detalicznym dla produktów konsumenckich — jeden z najczęściej używanych formatów. W przypadku aplikacji detalicznych sprawdź, jak dostosować styl BarCode do wymagań marki.
EAN-13 wymaga ścisłego przestrzegania licencji. Nie można generować numerów EAN-13 do użytku publicznego bez uzyskania licencji na prefiks firmowy GS1, który gwarantuje unikalność BARCODE-ów. Zawiera tylko 13 cyfr. Aby uzyskać informacje na temat licencji, odwiedź naszą stronę poświęconą licencjom.
Kod EAN-13 podlega określonym zasadom formatowania.
Jaki format wymaga EAN-13?
BarCode EAN-13 składa się z czterech części:
Prefiks GS1 (pierwsze 3 cyfry): identyfikuje organizację członkowską GS1, zazwyczaj kraj rejestracji. Przykłady: 000-019 (USA/Kanada – zgodne z UPC), 500-509 (Wielka Brytania), 450-459 (Japonia).
Kod producenta: Kod o zmiennej długości przydzielany przez GS1.
Kod produktu: Przypisany przez producenta do konkretnego produktu.
Cyfra kontrolna (ostatnia cyfra): obliczana na podstawie pierwszych 12 cyfr przy użyciu algorytmu modulo 10. Zapewnia dokładny odczyt skanera.
Ostrzeżenie: Prefiksy 200–299 są zarezerwowane do ograniczonego obiegu. Nie używaj tych przedrostków w środowisku produkcyjnym podczas generowania BARCODE-ów EAN-13.
Jak wygenerować kod EAN-13?
Aby wygenerować EAN-13, przekaż BarcodeEncoding.EAN13 jako drugi parametr podczas używania Create:
using IronBarCode;// Valid Input: 12 digits (library calculates 13th check digit) or full 13 digits.string ean13Value = "4006381333931";// Create EAN-13GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(ean13Value, BarcodeWriterEncoding.EAN13);// Stamp barcode value below the barcodebarcode.AddBarcodeValueTextBelowBarcode();// Save as a JPG filebarcode.SaveAsJpeg("ean13.jpg");
using IronBarCode;
// Valid Input: 12 digits (library calculates 13th check digit) or full 13 digits.
string ean13Value = "4006381333931";
// Create EAN-13
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(ean13Value, BarcodeWriterEncoding.EAN13);
// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();
// Save as a JPG file
barcode.SaveAsJpeg("ean13.jpg");
ImportsIronBarCode' Valid Input: 12 digits (library calculates 13th check digit) or full 13 digits.Dim ean13Value AsString = "4006381333931"' Create EAN-13Dim barcode AsGeneratedBarcode = BarcodeWriter.CreateBarcode(ean13Value, BarcodeWriterEncoding.EAN13)' Stamp barcode value below the barcodebarcode.AddBarcodeValueTextBelowBarcode()' Save as a JPG filebarcode.SaveAsJpeg("ean13.jpg")
Imports IronBarCode
' Valid Input: 12 digits (library calculates 13th check digit) or full 13 digits.
Dim ean13Value As String = "4006381333931"
' Create EAN-13
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(ean13Value, BarcodeWriterEncoding.EAN13)
' Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode()
' Save as a JPG file
barcode.SaveAsJpeg("ean13.jpg")
Jak wygląda wynik EAN-13?
Jak naprawić błędy formatu EAN-13?
IronBarcode zgłasza wyjątek w przypadku wartości nienumerycznych.
Jak utworzyć BarCodes EAN-8?
EAN-8 to skondensowana wersja EAN-13 przeznaczona dla małych produktów konsumenckich, w przypadku których pełnowymiarowe BARCODE-y zajmują zbyt dużo miejsca. Często spotykane w przypadku ołówków i kosmetyków, gdzie miejsce na opakowaniu jest ograniczone.
W przeciwieństwie do Code 128 lub Code 39, EAN-8 wykorzystuje konkretne, przypisane prefiksy zamiast dowolnych liczb.
EAN-8 wykorzystuje ścisły 8-cyfrowy format: 7 cyfr danych i 1 cyfra kontrolna. Tylko liczby.
Jakiego kodu potrzebuję dla EAN-8?
Tworzenie EAN-8 wymaga przekazania BarcodeEncoding.EAN8 jako drugiego parametru podczas używania Create:
using IronBarCode;// Valid Input: 7 digits (library calculates 8th check digit).string ean8Value = "1234567";// Create EAN-8GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(ean8Value, BarcodeWriterEncoding.EAN8);// Stamp barcode value below the barcodebarcode.AddBarcodeValueTextBelowBarcode();// Save as a JPG filebarcode.SaveAsJpeg("ean8.jpg");
using IronBarCode;
// Valid Input: 7 digits (library calculates 8th check digit).
string ean8Value = "1234567";
// Create EAN-8
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(ean8Value, BarcodeWriterEncoding.EAN8);
// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();
// Save as a JPG file
barcode.SaveAsJpeg("ean8.jpg");
ImportsIronBarCode' Valid Input: 7 digits (library calculates 8th check digit).Dim ean8Value AsString = "1234567"' Create EAN-8Dim barcode AsGeneratedBarcode = BarcodeWriter.CreateBarcode(ean8Value, BarcodeWriterEncoding.EAN8)' Stamp barcode value below the barcodebarcode.AddBarcodeValueTextBelowBarcode()' Save as a JPG filebarcode.SaveAsJpeg("ean8.jpg")
Imports IronBarCode
' Valid Input: 7 digits (library calculates 8th check digit).
Dim ean8Value As String = "1234567"
' Create EAN-8
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(ean8Value, BarcodeWriterEncoding.EAN8)
' Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode()
' Save as a JPG file
barcode.SaveAsJpeg("ean8.jpg")
Jak wygląda wynik EAN-8?
Dlaczego pojawiają się błędy dotyczące długości kodu EAN-8?
Jeśli dane wejściowe zawierają więcej niż 8 znaków numerycznych, IronBarcode zgłasza wyjątek informujący, że EAN-8 wymaga 8 znaków.
Jak utworzyć inteligentne BarCodes Mail?
Intelligent Mail BarCode (IMB) to standard USPS służący do automatyzacji sortowania i śledzenia przesyłek pocztowych. W przeciwieństwie do tradycyjnych BarCodes o modulowanej szerokości, IMB wykorzystuje kreski o modulowanej wysokości. Obowiązkowe zniżki cenowe na listy i paczki płaskie w przypadku automatyzacji. Obsługuje tylko określone długości liczbowe: 20, 25, 29 lub 31 cyfr.
Używa określonych przedrostków numerycznych do definiowania informacji.
Jakiego formatu wymaga Intelligent Mail?
(Pierwsze 2 cyfry) Identyfikator BarCode: Identyfikator BarCode. Dokładnie 2 cyfry. Zazwyczaj 00 dla standardowej poczty komercyjnej.
(Kolejne 3 cyfry) Identyfikator typu usługi (STID): Określa klasę przesyłki (np. First Class, Marketing Mail) oraz usługi (np. korekta adresu, śledzenie przesyłki). Ma kluczowe znaczenie dla uzyskania zniżek pocztowych.
(Kolejne 6 lub 9 cyfr) Identyfikator nadawcy (MID): 6- lub 9-cyfrowy numer przypisany Twojej firmie przez USPS.
(Kolejne 6 lub 9 cyfr) Numer seryjny: identyfikuje unikalną przesyłkę pocztową.
(Ostatnie 0, 5, 9 lub 11 cyfr) Kod trasy: Kod ZIP dostawy.
Jak wygenerować inteligentny kod pocztowy?
Aby wygenerować IMB, przekaż BarcodeEncoding.IntelligentMail jako drugi parametr podczas wywoływania Create:
using IronBarCode;// Valid Input: 20, 25, 29, or 31 digits.// Format: Barcode ID(2) + Service(3) + Mailer ID(6/9) + Serial(9/6) + Routing Zip(0/5/9/11)string imbValue = "00270123456200800001";// Create Intelligent MailGeneratedBarcode barcode = BarcodeWriter.CreateBarcode(imbValue, BarcodeWriterEncoding.IntelligentMail);// Stamp barcode value below the barcodebarcode.AddBarcodeValueTextBelowBarcode();// Save as a JPG filebarcode.SaveAsJpeg("imb.jpg");
using IronBarCode;
// Valid Input: 20, 25, 29, or 31 digits.
// Format: Barcode ID(2) + Service(3) + Mailer ID(6/9) + Serial(9/6) + Routing Zip(0/5/9/11)
string imbValue = "00270123456200800001";
// Create Intelligent Mail
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(imbValue, BarcodeWriterEncoding.IntelligentMail);
// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();
// Save as a JPG file
barcode.SaveAsJpeg("imb.jpg");
ImportsIronBarCode' Valid Input: 20, 25, 29, or 31 digits.' Format: Barcode ID(2) + Service(3) + Mailer ID(6/9) + Serial(9/6) + Routing Zip(0/5/9/11)Dim imbValue AsString = "00270123456200800001"' Create Intelligent MailDim barcode AsGeneratedBarcode = BarcodeWriter.CreateBarcode(imbValue, BarcodeWriterEncoding.IntelligentMail)' Stamp barcode value below the barcodebarcode.AddBarcodeValueTextBelowBarcode()' Save as a JPG filebarcode.SaveAsJpeg("imb.jpg")
Imports IronBarCode
' Valid Input: 20, 25, 29, or 31 digits.
' Format: Barcode ID(2) + Service(3) + Mailer ID(6/9) + Serial(9/6) + Routing Zip(0/5/9/11)
Dim imbValue As String = "00270123456200800001"
' Create Intelligent Mail
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(imbValue, BarcodeWriterEncoding.IntelligentMail)
' Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode()
' Save as a JPG file
barcode.SaveAsJpeg("imb.jpg")
Jak wygląda wynik Intelligent Mail?
Jak naprawić błędy formatu Intelligent Mail?
IronBarcode zgłasza wyjątek, jeśli format jest nieprawidłowy. Sprawdź wartość ciągu znaków pod kątem zgodności z powyższym formatem i spróbuj ponownie po wprowadzeniu zmian.
Jak utworzyć BarCodes MSI?
MSI jest powszechnie stosowany na etykietach produktów w sklepach detalicznych oraz w kontroli zapasów magazynowych, rzadko natomiast na produktach konsumenckich. Jego prostota i niezawodność sprawiają, że jest popularny w operacjach wewnętrznych. W przypadku problemów z rozpoznawaniem plików MSI zapoznaj się z naszym przewodnikiem dotyczącym rozwiązywania problemów z BARCODE MSI.
MSI to tylko liczby; Nie wolno używać liter ani symboli. Długość zmienna, zazwyczaj 10–15 cyfr.
Jakiego kodu potrzebuję dla MSI?
Aby wygenerować MSI, przekaż BarcodeEncoding.MSI jako drugi parametr podczas wywoływania Create:
using IronBarCode;// Valid Input: Numeric digits only. Variable length.string msiValue = "1234567890";// Create MSIGeneratedBarcode barcode = BarcodeWriter.CreateBarcode(msiValue, BarcodeWriterEncoding.MSI);// Stamp barcode value below the barcodebarcode.AddBarcodeValueTextBelowBarcode();// Save as a JPG filebarcode.SaveAsJpeg("msi.jpg");
using IronBarCode;
// Valid Input: Numeric digits only. Variable length.
string msiValue = "1234567890";
// Create MSI
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(msiValue, BarcodeWriterEncoding.MSI);
// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();
// Save as a JPG file
barcode.SaveAsJpeg("msi.jpg");
ImportsIronBarCode' Valid Input: Numeric digits only. Variable length.Dim msiValue AsString = "1234567890"' Create MSIDim barcode AsGeneratedBarcode = BarcodeWriter.CreateBarcode(msiValue, BarcodeWriterEncoding.MSI)' Stamp barcode value below the barcodebarcode.AddBarcodeValueTextBelowBarcode()' Save as a JPG filebarcode.SaveAsJpeg("msi.jpg")
Imports IronBarCode
' Valid Input: Numeric digits only. Variable length.
Dim msiValue As String = "1234567890"
' Create MSI
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(msiValue, BarcodeWriterEncoding.MSI)
' Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode()
' Save as a JPG file
barcode.SaveAsJpeg("msi.jpg")
Jak wygląda wynik MSI?
Jak utworzyć BarCodes UPC-A?
UPC-A to standardowy BARCODE stosowany w handlu detalicznym w Stanach Zjednoczonych i Kanadzie. 12-cyfrowy podzbiór kodu EAN-13. Najczęściej spotykany na produktach w supermarketach w Ameryce Północnej. Powszechne stosowanie sprawia, że jest to niezbędne na rynkach północnoamerykańskich.
Podobnie jak EAN-13, zazwyczaj przypisywany, a nie generowany.
Kod UPC-A zawiera dokładnie 12 cyfr. Nie akceptujemy listów.
Jaki format wymaga UPC-A?
Znak systemu liczbowego (1): Określa typ produktu (0, 1, 6, 7, 8 dla standardowej sprzedaży detalicznej; 2 dla wagi losowej; 3 dla leków; 5 za kupony).
Aby wygenerować UPC-A, przekaż BarcodeEncoding.UPCA jako drugi parametr podczas wywoływania Create:
using IronBarCode;// Valid Input: 11 digits (library calculates 12th check digit) or full 12 digitsstring upcaValue = "01234567890";// Create UPC-AGeneratedBarcode barcode = BarcodeWriter.CreateBarcode(upcaValue, BarcodeWriterEncoding.UPCA);// Stamp barcode value below the barcodebarcode.AddBarcodeValueTextBelowBarcode();// Save as a JPGbarcode.SaveAsJpeg("upca.jpg");
using IronBarCode;
// Valid Input: 11 digits (library calculates 12th check digit) or full 12 digits
string upcaValue = "01234567890";
// Create UPC-A
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(upcaValue, BarcodeWriterEncoding.UPCA);
// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();
// Save as a JPG
barcode.SaveAsJpeg("upca.jpg");
ImportsIronBarCode' Valid Input: 11 digits (library calculates 12th check digit) or full 12 digitsDim upcaValue AsString = "01234567890"' Create UPC-ADim barcode AsGeneratedBarcode = BarcodeWriter.CreateBarcode(upcaValue, BarcodeWriterEncoding.UPCA)' Stamp barcode value below the barcodebarcode.AddBarcodeValueTextBelowBarcode()' Save as a JPGbarcode.SaveAsJpeg("upca.jpg")
Imports IronBarCode
' Valid Input: 11 digits (library calculates 12th check digit) or full 12 digits
Dim upcaValue As String = "01234567890"
' Create UPC-A
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(upcaValue, BarcodeWriterEncoding.UPCA)
' Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode()
' Save as a JPG
barcode.SaveAsJpeg("upca.jpg")
Jak wygląda wynik w formacie UPC-A?
Dlaczego pojawiają się błędy dotyczące długości kodu UPC-A?
IronBarcode zgłasza błąd, jeśli długość wartości liczbowej przekracza 13 znaków.
Jak utworzyć BarCodes UPC-E?
UPC-E to kompaktowa wersja kodu UPC-A przeznaczona dla małych opakowań detalicznych, takich jak puszki po napojach, gdzie pełny 12-cyfrowy kod UPC-A jest zbyt duży. Algorytm kompresji koduje te same informacje, zajmując mniej więcej połowę miejsca.
Podobnie jak UPC-A, wyłącznie numeryczny. Nie akceptujemy liter ani symboli.
Jakiego kodu potrzebuję dla UPC-E?
Aby wygenerować UPC-E, przekaż BarcodeEncoding.UPCE jako drugi parametr podczas wywoływania Create:
using IronBarCode;// Valid input: 8 digits or less in which the last digit is a check digit// IronBarcode automatically calculates the check digit if only 7 digits are provided.string upceValue = "0123456";// Create UPC-EGeneratedBarcode barcode = BarcodeWriter.CreateBarcode(upceValue, BarcodeWriterEncoding.UPCE);// Stamp barcode value below the barcodebarcode.AddBarcodeValueTextBelowBarcode();// Save as a JPG filebarcode.SaveAsJpeg("upce.jpg");
using IronBarCode;
// Valid input: 8 digits or less in which the last digit is a check digit
// IronBarcode automatically calculates the check digit if only 7 digits are provided.
string upceValue = "0123456";
// Create UPC-E
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(upceValue, BarcodeWriterEncoding.UPCE);
// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();
// Save as a JPG file
barcode.SaveAsJpeg("upce.jpg");
ImportsIronBarCode' Valid input: 8 digits or less in which the last digit is a check digit' IronBarcode automatically calculates the check digit if only 7 digits are provided.Dim upceValue AsString = "0123456"' Create UPC-EDim barcode AsGeneratedBarcode = BarcodeWriter.CreateBarcode(upceValue, BarcodeWriterEncoding.UPCE)' Stamp barcode value below the barcodebarcode.AddBarcodeValueTextBelowBarcode()' Save as a JPG filebarcode.SaveAsJpeg("upce.jpg")
Imports IronBarCode
' Valid input: 8 digits or less in which the last digit is a check digit
' IronBarcode automatically calculates the check digit if only 7 digits are provided.
Dim upceValue As String = "0123456"
' Create UPC-E
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(upceValue, BarcodeWriterEncoding.UPCE)
' Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode()
' Save as a JPG file
barcode.SaveAsJpeg("upce.jpg")
Jak wygląda wynik w formacie UPC-E?
Jak naprawic błędy dlugosci UPC-E?
IronBarcode zglasza błąd, jeśli cyfry numeryczne przekraczaja 8.
Scisle dlugosci: Wejście musi pasować do dokładnych pól USPS (ID kodu kreskowego, STID, MID, serial, Zip).
STID '234': Nie używaj tego przykładowego ID w produkcji; może prowadzić do odrzuconej poczty lub utraconych zniżek.
MSI (Plessey)
Tylko numeryczny Zmienna długość.
Etykiety na półkach sklepowych, pojemniki magazynowe.
Zamęt z kontrolą sumy kontrolnej: Obsługuje Mod 10, Mod 11, Mod 1010 itp. Musisz dokładnie wiedzieć, jaki twoja skaner oczekuje.
Niezawodność: Słaby wskaźnik odczytu w porównaniu do nowoczesnych kodów.
UPC-A
Numeryczny (12 cyfr) 11 danych + 1 cyfra kontrolna.
Punkt sprzedaży detalicznej w Ameryce Północnej.
Region: Głównie USA/Kanada. Globalni sprzedawcy powinni używać EAN-13.
Wiodące zera: Technicznie, EAN-13 zaczyna się od 0.
UPC-E
Numeryczny (6 cyfr) Skondensowany format.
Male opakowania detaliczne (puszki z napojami) w USA/Kanadzie.
Zasady kompresji: Nie można po prostu 'przekonwertować' dowolnego UPC-A. Twój numer musi mieć określony wzór zer, aby był kompresowalny.
System numerowy: Obsługuje tylko system numerowy 0 lub 1.
Często Zadawane Pytania
Jakie typy jednowymiarowych kodów kreskowych można generować?
IronBarcode może generować wszystkie główne formaty jednowymiarowych kodów kreskowych, w tym Code 128, GS1-128, Code 39, Code 93, EAN-13, EAN-8, UPC-A, UPC-E, Intelligent Mail, MSI, Codabar i DataBar. Każdy format nadaje się do różnych zastosowań - Code 128 do etykiet wysyłkowych, EAN-8 dla małych produktów oraz Intelligent Mail Barcode dla usług pocztowych.
Jak stworzyć podstawowy jednowymiarowy kod kreskowy w C#?
Aby utworzyć jednowymiarowy kod kreskowy z IronBarcode, użyj metody BarcodeWriter.CreateBarcode() z ciągiem danych i określ typ kodu kreskowego za pomocą wyliczenia BarcodeEncoding. Na przykład: GeneratedBarcode barcode = BarcodeWriter.CreateBarcode("HELLO-WORLD-123", BarcodeEncoding.Code128);
Jakie formaty wyjściowe są obsługiwane do zapisywania kodów kreskowych?
IronBarcode obsługuje zapisywanie wygenerowanych kodów kreskowych w wielu formatach, w tym JPEG, PNG i PDF. Można użyć metod takich jak SaveAsJpeg(), SaveAsPng() lub innych metod SaveAs, aby wyeksportować kod kreskowy w pożądanym formacie.
Czy mogę dostosować rozmiar i wygląd wygenerowanych kodów kreskowych?
Tak, IronBarcode pozwala dostosować wymiary kodu kreskowego za pomocą metody ResizeTo(). Można również zastosować opcjonalne stylizacje z rozmiarem czcionki i marginesami, aby upewnić się, że kod kreskowy spełnia określone wymagania.
Czy biblioteka zawiera automatyczną walidację formatów kodów kreskowych?
IronBarcode zawiera automatyczną walidację i kontrolę zgodności dla wszystkich obsługiwanych formatów kodów kreskowych. Zapewnia to, że wygenerowane kody kreskowe spełniają standardy branżowe i będą możliwe do zeskanowania przez standardowych czytników kodów kreskowych.
Dlaczego należy używać kodów kreskowych liniowych zamiast dwuwymiarowych?
Kody kreskowe liniowe pozostają standardem przemysłowym, ponieważ są szybkie, niezawodne i działają z niemal każdym skanerem. Ponieważ nie wymagają skomplikowanego przetwarzania obrazu, kody kreskowe liniowe IronBarcode doskonale radzą sobie w środowiskach o dużej prędkości, jak kolejki kasowe i taśmy przenośnikowe.
How can I resolve formatting errors with GS1-128 barcodes?
Ensure that your barcode string follows the GS1-128 standards, starting with the FNC1 character and correctly formatted application identifiers. IronBarcode helps by throwing exceptions for non-compliant strings, which you can address using the GS1-128 troubleshooting guide.
What makes Code 39 suitable for the automotive industry?
Code 39 is favored in the automotive industry due to its ability to encode alphanumeric data without requiring check digits, simplifying environments where data integrity is verified by other means.
How does IronBarcode handle different output formats?
IronBarcode allows you to save generated barcodes in various output formats like JPEG, ensuring seamless integration with existing systems through flexible export options.
Why should I use Intelligent Mail Barcode for USPS applications?
Intelligent Mail Barcode is a USPS standard that optimizes mail sorting and enables tracking, requiring specific numeric lengths to ensure compliance and qualify for postal discounts.
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.