
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
Pakiet zostanie zainstalowany.
Teraz napiszmy kod do skanowania obrazu kodu kreskowego.
Skanowanie BarCode z pliku obrazu
Dodaj następującą przestrzeń nazw
using IronBarCode;Imports IronBarCodeNastę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
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 jako argument przyjmuje ścieżkę do pliku. 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
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 barcodeDataKlasa BarcodeReader udostępnia funkcję ReadPdf, która jako argument przyjmuje ścieżkę do pliku. 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 jest używana do wydrukowania danych z kodu kreskowego 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
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 resultNajpierw tworzona jest lista zawierająca ścieżki do wszystkich obrazów BarCode. Następnie wywołana jest funkcja ReadAsync, która jako argument przyjmuje typ List<string> 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
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 resultTa sama funkcja Read, o której mowa powyżej, jest używana do odczytu kodu QR. 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.

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.
Powiązane artykuły


