Samouczek krok po kroku skanera kodów kreskowych C#
W tym samouczku pokażemy, jak stworzyć skaner BarCode przy pomocy biblioteki innej firmy. W tym celu dostępnych jest wiele bibliotek, ale niektóre z nich są płatne, inne oferują mniejszą funkcjonalność, a jeszcze inne są trudne do wdrożenia. Znalezienie bardzo wszechstronnej i użytecznej biblioteki, która jest bezpłatna, wydajna i łatwa do wdrożenia, stanowi nie lada wyzwanie.
Z tego powodu będziemy korzystać z IronBarcode, ponieważ najlepiej nadaje się on do tworzenia skanera kodów kreskowych .NET. Dodatkową zaletą jest to, że jest on bezpłatny dla programistów, bardzo wydajny i łatwy do wdrożenia. IronBarcode umożliwia programistom odczytywanie i zapisywanie kodów kreskowych oraz kodów QR w aplikacjach .NET i na stronach internetowych. Odczyt lub zapis BARCODE-ów wymaga tylko jednej linii kodu przy użyciu tej biblioteki.
Biblioteka kodów kreskowych .NET odczytuje i zapisuje większość standardów kodów kreskowych i kodów QR. Obsługiwane typy barcode'ów to: Code 39/93/128, UPC A/E, EAN 8/13, ITF, RSS 14 / Expanded, Databar, Codabar, Aztec, Data Matrix, MaxiCode, PDF417, MSI, Plessey, USPS i QR. Dane wynikowe BarCode obejmują typ, tekst, dane binarne, stronę oraz pliki graficzne.
API do zapisywania kodów kreskowych sprawdza i weryfikuje format, długość, liczbę oraz sumę kontrolną, aby automatycznie uniknąć błędów kodowania. Edytor kodów kreskowych umożliwia zmianę stylu, rozmiaru, marginesów, obramowań, koloru oraz dodawanie adnotacji tekstowych. Program do tworzenia kodów kreskowych może zapisywać pliki graficzne, w tym BMP, PNG, GIF, TIFF i JPG. Może również zapisywać pliki w formacie PDF lub HTML.
Stwórzmy nasz skaner BarCode, aby lepiej to zrozumieć.
Utwórz projekt Visual Studio
Najpierw utwórz projekt Visual Studio do opracowania aplikacji demonstracyjnej. Możesz również otworzyć istniejący projekt.
Wykonaj poniższe kroki, aby utworzyć nowy projekt aplikacji konsolowej i skupić się na podstawowych funkcjach. Ten sam kod można zaimplementować w aplikacjach korzystających z interfejsu API sieci Web, MVC, Web Forms lub Windows Forms.
- Otwórz Visual Studio
- Kliknij Utwórz nowy projekt
- Wybierz szablon, kliknij przycisk Dalej
- Nadaj nazwę projektowi, kliknij przycisk Dalej
- Wybierz docelową platformę, kliknij przycisk Dalej
- Kliknij przycisk Utwórz, a następnie przycisk Dalej
Zostanie utworzony nowy projekt, jak pokazano poniżej:
Aplikacja konsolowa
Kolejnym krokiem jest zainstalowanie pakietu IronBarcode NuGet, aby móc korzystać z jego funkcji.
Zainstaluj pakiet NuGet IronBarcode
Bibliotekę można zainstalować za pomocą konsoli menedżera pakietów, rozwiązań menedżera pakietów NuGet lub bezpośrednio ze strony pakietu NuGet BarCode.
Postępuj zgodnie z poniższymi instrukcjami:
-
Kliknij Narzędzia > Menedżer pakietów NuGet > Konsola menedżera pakietów.
Interfejs użytkownika konsoli menedżera pakietów - Wpisz następujące polecenie
Install-Package BarCode
Pakiet zostanie zainstalowany.
Teraz napiszmy kod do skanowania obrazu kodu kreskowego.
Skanowanie BarCode z pliku obrazu
Dodaj następującą przestrzeń nazw
using IronBarCode;
using IronBarCode;
Imports IronBarCode
Następnie napisz poniższy kod wewnątrz funkcji main, aby odczytać dane BarCode z obrazu.
// Read the barcode from an image file
var myBarcode = BarcodeReader.Read(@"D:\Barcode Images\mybarcode.jpeg");
// Print the barcode data to the console
Console.WriteLine(myBarcode);
// Read the barcode from an image file
var myBarcode = BarcodeReader.Read(@"D:\Barcode Images\mybarcode.jpeg");
// Print the barcode data to the console
Console.WriteLine(myBarcode);
' Read the barcode from an image file
Dim myBarcode = BarcodeReader.Read("D:\Barcode Images\mybarcode.jpeg")
' Print the barcode data to the console
Console.WriteLine(myBarcode)
Klasa BarcodeReader udostępnia funkcję Read, która przyjmuje ścieżkę do pliku jako argument. Ta funkcja odczytuje obraz i zwraca dane BARCODE. Metoda ta odczytuje BARCODES z plików BMP, PNG, GIF, TIFF lub JPG, oferując programistom szczegółowe ustawienia, które pozwalają im znaleźć równowagę między wydajnością a dokładnością w danym przypadku użycia.
Ścieżka zawiera następujący obraz BARCODE, który aplikacja zeskanuje.
Obraz BarCode
Obraz BarCode użyty w tej aplikacji konsolowej
Przeczytajmy ten obraz BARCODE, aby sprawdzić, czy program generuje prawidłowy wynik.
Wynik
Wynik wyświetlany w konsoli podczas uruchomienia aplikacji
Widać, że program wygenerował poprawny wynik.
Skanowanie BarCODE-a z pliku PDF
Istnieje wiele sytuacji, w których konieczne jest zeskanowanie BarCoda z faktury w formacie PDF. W tym przykładzie zeskanujemy BarCode z poniższej faktury.
Dokument PDF
Faktura w formacie PDF
Rozważmy poniższy fragment kodu służący do skanowania BARCODE z dokumentu PDF:
// Read barcodes from a PDF file
var myBarcode = BarcodeReader.ReadPdf(@"D:\Barcode Images\invoice.pdf");
// Iterate through each barcode found and print its value
foreach(var barcodeData in myBarcode)
{
Console.WriteLine(barcodeData.Value);
}
// Read barcodes from a PDF file
var myBarcode = BarcodeReader.ReadPdf(@"D:\Barcode Images\invoice.pdf");
// Iterate through each barcode found and print its value
foreach(var barcodeData in myBarcode)
{
Console.WriteLine(barcodeData.Value);
}
' Read barcodes from a PDF file
Dim myBarcode = BarcodeReader.ReadPdf("D:\Barcode Images\invoice.pdf")
' Iterate through each barcode found and print its value
For Each barcodeData In myBarcode
Console.WriteLine(barcodeData.Value)
Next barcodeData
Klasa BarcodeReader udostępnia funkcję ReadPdf, która przyjmuje ścieżkę do pliku jako argument. Ta funkcja wyszukuje obraz kodu kreskowego w pliku PDF, skanuje cały kod kreskowy i zwraca jego dane w postaci tablicy. Ta funkcja odczytuje BarCodes ze wszystkich obrazów osadzonych w dokumencie.
Pętla foreach służy do wyświetlania danych BARCODE w konsoli.
Wynik
Numer faktury jest drukowany na konsoli.
Wynik wyświetlany w konsoli pokazuje numer faktury
Skanowanie BarCodes z wielu plików
Ten przykład pokaże, jak skanować jednocześnie wiele BarCodes z plików graficznych.
Obrazy BarCode
Obrazy BarCode użyte w poniższym przykładzie
Rozważmy poniższe fragmenty kodu, które odczytują wiele BarCodes i skanują ich wyniki przy użyciu wielowątkowości.
// Create a list of file paths containing barcode images
List<string> barcodeList = new List<string>
{
@"D:\Barcode Images\barcode1.jpg",
@"D:\Barcode Images\barcode2.jpg",
@"D:\Barcode Images\barcode3.jpg"
};
// Read barcodes asynchronously from multiple files
var batchResults = BarcodeReader.ReadAsync(barcodeList);
// Work with the results
foreach (var result in batchResults)
{
string barcodeValue = result.Text;
Console.WriteLine(barcodeValue);
}
// Create a list of file paths containing barcode images
List<string> barcodeList = new List<string>
{
@"D:\Barcode Images\barcode1.jpg",
@"D:\Barcode Images\barcode2.jpg",
@"D:\Barcode Images\barcode3.jpg"
};
// Read barcodes asynchronously from multiple files
var batchResults = BarcodeReader.ReadAsync(barcodeList);
// Work with the results
foreach (var result in batchResults)
{
string barcodeValue = result.Text;
Console.WriteLine(barcodeValue);
}
' Create a list of file paths containing barcode images
Dim barcodeList As New List(Of String) From {"D:\Barcode Images\barcode1.jpg", "D:\Barcode Images\barcode2.jpg", "D:\Barcode Images\barcode3.jpg"}
' Read barcodes asynchronously from multiple files
Dim batchResults = BarcodeReader.ReadAsync(barcodeList)
' Work with the results
For Each result In batchResults
Dim barcodeValue As String = result.Text
Console.WriteLine(barcodeValue)
Next result
Najpierw tworzona jest lista zawierająca ścieżki do wszystkich obrazów BarCode. Następnie wywoływana jest funkcja ReadAsync, która przyjmuje typ List<string> jako argument i zwraca dane. Ta metoda odczytuje BarCodes z wielu obrazów równolegle. Uruchomionych zostanie wiele wątków, które będą automatycznie zarządzane w celu poprawy wydajności zadań związanych z odczytem kodów BarCode w trybie wsadowym.
Zeskanuj kod QR
Wykorzystanie kodów QR gwałtownie rośnie. W tej sekcji pokażemy więc, jak skanować kody QR za pomocą języka C#.
Kod QR
Kod QR użyty w tej demonstracji
Rozważmy następujący przykład kodu:
// Read the QR code from an image file
var qrCodeResult = BarcodeReader.Read(@"D:\Barcode Images\QRcode.jpeg");
// Iterate through each result and print its text
foreach (var result in qrCodeResult)
{
Console.WriteLine(result.Text);
}
// Read the QR code from an image file
var qrCodeResult = BarcodeReader.Read(@"D:\Barcode Images\QRcode.jpeg");
// Iterate through each result and print its text
foreach (var result in qrCodeResult)
{
Console.WriteLine(result.Text);
}
' Read the QR code from an image file
Dim qrCodeResult = BarcodeReader.Read("D:\Barcode Images\QRcode.jpeg")
' Iterate through each result and print its text
For Each result In qrCodeResult
Console.WriteLine(result.Text)
Next result
Do odczytu kodu QR używana jest ta sama funkcja Read, o której mowa powyżej. To właśnie prostota zapewniana przez bibliotekę IronBarcode, pozwalająca na wykorzystanie tej samej funkcji i kodu dla różnych źródeł obrazów.
Wynik
Konsola z czytnikiem kodów QR
Podsumowanie
W tym samouczku pokazano bardzo prosty sposób skanowania BARCODE-ów z pojedynczego obrazu, skanowania BARCODE-ów z dokumentu PDF oraz skanowania BARCODE-ów z wielu obrazów i wielu dokumentów równolegle. Wykorzystaliśmy tę samą funkcję do różnych zadań, zapewniając jednocześnie wydajność i użyteczność. IronBarcode umożliwia generowanie kodów kreskowych i kodów QR o różnych konfiguracjach. Jest tak wiele funkcji, że nie da się omówić ich wszystkich w jednym artykułe. Kliknij stronę dokumentacji, aby dowiedzieć się więcej o IronBarcode.
IronBarcode jest częścią pakietu Iron Software Suite. Pakiet ten zawiera inne bardzo przydatne biblioteki, takie jak IronPDF do odczytu i zapisu plików PDF, IronXL do manipulowania plikami Excel, IronOCR do odczytu tekstu z obrazów oraz IronWebscraper do wyodrębniania danych z różnych stron internetowych. Kompletny pakiet Iron Suite można nabyć w cenie dwóch pojedynczych bibliotek.
Często Zadawane Pytania
Jak stworzyć skaner kodów kreskowych w języku C#?
Aby stworzyć skaner kodów kreskowych w języku C#, można użyć biblioteki IronBarcode. Należy rozpocząć od utworzenia projektu w Visual Studio, zainstalowania pakietu NuGet IronBarcode oraz wykorzystania klasy BarcodeReader do odczytu kodów kreskowych z plików graficznych lub PDF.
Jakie rodzaje kodow kreskowych mozna odczytac, korzystajac z biblioteki .NET?
IronBarcode może odczytywać szeroki zakres typów kodów kreskowych, w tym Code 39/93/128, UPC A/E, EAN 8/13, ITF, RSS 14 / Expanded, Databar, Codabar, Aztec, Data Matrix, MaxiCode, PDF417, MSI, Plessey, USPS oraz kody QR.
Czy mogę odczytywać BARCODES z plików PDF w języku C#?
Tak, IronBarcode umożliwia odczytywanie kodów kreskowych z plików PDF za pomocą metody ReadPdf, która skanuje cały dokument PDF w poszukiwaniu obrazów kodów kreskowych i zwraca ich dane.
Czy w języku C# można skanować wiele BarCodes z różnych plików graficznych?
Tak, można użyć funkcji ReadAsync w IronBarcode do jednoczesnego skanowania wielu kodów kreskowych z różnych plików graficznych, wykorzystując przetwarzanie asynchroniczne w celu poprawy wydajności.
Jak zainstalować bibliotekę .NET do obsługi kodów BarCode?
Aby zainstalować IronBarcode, należy użyć konsoli menedżera pakietów w Visual Studio, wprowadzając polecenie Install-Package Barcode, co spowoduje dodanie biblioteki ze źródła pakietów NuGet.
Czy kody QR można skanować w taki sam sposób jak kody BarCode?
Tak, kody QR można skanować za pomocą tej samej funkcji Read w IronBarcode, co pozwala na spójną obsługę zarówno kodów kreskowych, jak i kodów QR z różnych źródeł obrazów.
Jakie są zalety korzystania z IronBarcode do skanowania kodów kreskowych?
IronBarcode jest przyjazny dla użytkownika, wydajny i elastyczny. Obsługuje wiele typów kodów kreskowych i zapewnia proste interfejsy API do odczytu i zapisu kodów kreskowych oraz kodów QR, dzięki czemu idealnie nadaje się do aplikacji .NET.
Jakie biblioteki są zawarte w pakiecie Iron Software Suite?
Pakiet Iron Software Suite zawiera biblioteki takie jak IronPDF do obróbki plików PDF, IronXL do obsługi plików Excel, IronOCR do optycznego rozpoznawania znaków oraz IronWebscraper do pozyskiwania danych z sieci.




