Jak drukować kody kreskowe w Crystal Reports za pomocą VB.NET
Aby drukować kody kreskowe w Crystal Reports za pomocą VB.NET, zainstaluj IronBarcode przez NuGet, wygeneruj obrazy kodów kreskowych za pomocą BarcodeWriter.CreateBarcode() i powiąż uzyskane dane binarne z polem obrazu w raporcie Crystal Report. Takie podejście eliminuje zależności od czcionek i pozwala w ciągu kilku minut uzyskać czytelne, gotowe do druku BARCODE-y.
Dodanie kodów kreskowych do Crystal Reports może usprawnić procesy biznesowe, czyniąc je szybszymi i dokładniejszymi — od śledzenia zapasów po generowanie szczegółowych raportów. Jeśli kiedykolwiek próbowałeś używać BARCODE-ów opartych na czcionkach w VB.NET, wiesz, jak trudne może to być ze względu na skomplikówane formuły, ograniczone formaty i problemy z drukarką, które mogą powodować frustrację.
Nowoczesne zestawy SDK do generowania kodów kreskowych, takie jak IronBarcode, sprawiają, że tworzenie i drukowanie kodów kreskowych jest proste. W tym przewodniku znajdziesz wszystko, czego potrzebujesz: konfigurację IronBarcode w Visual Studio, generowanie kodów kreskowych i wyświetlanie ich bezpośrednio w raportach Crystal Reports. W rezultacie będziesz w stanie tworzyć profesjonalne, niezawodne BARCODE-y przy minimalnym wysiłku.
Jakie są metody drukowania kodów kreskowych w Crystal Reports?
Istnieją dwa główne podejścia do dodawania BARCODE-ów do Crystal Reports: metody oparte na czcionkach oraz rozwiązania SDK.
Metody oparte na czcionkach wymagają zainstalowania specjalnych czcionek BarCode (czcionek True Type) w folderze czcionek oraz użycia formuł lub biblioteki funkcji użytkownika (UFL) do kodowania danych. Chociaż to podejście działa, często wiąże się ze złożonymi formułami kodowania, ograniczoną obsługą formatów BARCODE (takich jak Code 39 lub Data Matrix) oraz potencjalnymi problemami z renderowaniem czcionek na różnych drukarkach i systemach, jak omówiono w dokumentacji Microsoftu dotyczącej renderowania czcionek.
Rozwiązania oparte na SDK stanowią bardziej niezawodną alternatywę. Biblioteki te generują obrazy BarCode programowo, oferując większą niezawodność, obszerną obsługę formatów oraz łatwiejszą implementację. IronBarcode stanowi przykład tego nowoczesnego podejścia, umożliwiając programistom generowanie BarCodes jako obrazów, które integrują się z Crystal Reports poprzez standardowe pola bazy danych lub obiekty DataTable. Metoda ta zapewnia spójne renderowanie na wszystkich platformach i eliminuje problemy związane z zależnością od czcionek podczas drukowania BARCODE w Crystal Report przy użyciu VB.NET.
| Czynnik | Metoda oparta na czcionkach | Metoda oparta na SDK (IronBarcode) |
|---|---|---|
| Złożoność konfiguracji | Wysoki — wymaga instalacji czcionek i formuł kodowania | Niski — instalacja pojedynczego pakietu NuGet |
| Obsługa formatów BarCode | Ograniczone (Code 39, Code 128) | Ponad 30 formatów, w tym QR, Data Matrix, PDF417 |
| Spójność między drukarkami | Niespójne — zależy od zainstalowanych czcionek | Spójność — renderowanie oparte na obrazach |
| Obciążenie związane z utrzymaniem | Wysoki — czcionki muszą być zarządzane indywidualnie dla każdego komputera | Niski — zarządzane poprzez aktualizacje NuGet |
| Niezawodność skanowania | Zmienna | Wysoka — IronBarcode generuje zweryfikowane obrazy |
Jak zainstalować IronBarcode dla VB.NET?
Skonfigurowanie IronBarcode w projekcie VB.NET wymaga minimalnej konfiguracji. Najpierw zainstaluj bibliotekę za pomocą menedżera pakietów NuGet, uruchamiając:
Install-Package BarCode
Install-Package BarCode
Alternatywnie można użyć interfejsu użytkownika menedżera pakietów w Visual Studio, aby wyszukać i zainstalować "BarCode". Po zainstalowaniu zaimportuj przestrzeń nazw do kodu VB.NET:
Imports IronBarCode
Upewnij się, że projekt jest przeznaczony dla platformy .NET Framework 4.6.2 lub nowszej, albo dowolnej wersji .NET Core, .NET 5 lub .NET 6+. IronBarcode współpracuje ze wszystkimi wersjami Crystal Reports obsługującymi pola obrazów, dzięki czemu jest szeroko kompatybilny z istniejącymi projektami. Szczegółowe instrukcje konfiguracji można znaleźć w przewodniku IronBarcode "Pierwsze kroki".
Pobierz IronBarcode już dziś, aby rozpocząć tworzenie profesjonalnych kodów kreskowych w programie Crystal Reports.
Jakie wersje .NET obsługuje IronBarcode?
IronBarcode obsługuje szeroki zakres środowisk uruchomieniowych .NET:
- .NET Framework 4.6.2 i nowsze
- .NET Core 3.1+
- .NET 5, 6, 7, 8 i 9
- .NET Standard 2.0+
Ta szeroka kompatybilność oznacza, że można zintegrować IronBarcode ze starszymi aplikacjami VB.NET działającymi na platformie .NET Framework równie łatwo, jak z nowoczesnymi aplikacjami przeznaczonymi dla .NET 8 lub nowszych wersji. Pełną matrycę zgodności można znaleźć w dokumentacji dotyczącej kompatybilności IronBarcode.
Jak generować BARCODES i przechowywać je w bazie danych?
Tworzenie kodów kreskowych za pomocą IronBarcode i przechowywanie ich dla Crystal Reports polega na wygenerowaniu obrazu kodu kreskowego i zapisaniu go w bazie danych przy użyciu SqlConnection lub OleDbConnection. Oto kompletny przykład:
Opcja 1: Korzystanie z bazy danych SQL
Imports IronBarCode
Imports System.Data.SqlClient
Module BarcodeGenerator
Sub CreateAndStoreBarcode()
' Generate a Code128 barcode
Dim myBarcode = BarcodeWriter.CreateBarcode("PROD-12345", BarcodeWriterEncoding.Code128)
' Add readable text below the barcode
myBarcode.AddBarcodeValueTextBelowBarcode()
' Resize to appropriate dimensions
myBarcode.ResizeTo(400, 150)
' Connect to your database
Using connection As New SqlConnection("YourConnectionString")
Dim cmd As New SqlCommand(
"INSERT INTO Products (ProductCode, BarcodeImage) VALUES (@Code, @Image)",
connection)
cmd.Parameters.AddWithValue("@Code", "PROD-12345")
cmd.Parameters.AddWithValue("@Image", myBarcode.BinaryStream)
connection.Open()
cmd.ExecuteNonQuery()
End Using
End Sub
End Module
Ten przykład generuje BarCode Code 128 i zapisuje go jako dane binarne w SQL Server. Metoda AddBarcodeValueTextBelowBarcode() dodaje tekst czytelny dla człowieka pod symbolem BARCODE, dzięki czemu nadaje się on zarówno do skanowania, jak i kontroli wzrokowej. Metoda ResizeTo() dostosowuje wymiary do układu raportu.
Opcja 2: Korzystanie z DataTable
W sytuacjach, w których nie potrzebujesz trwałej pamięci, podejście oparte na DataTable pozwala całkowicie uniknąć korzystania z bazy danych:
Imports IronBarCode
Imports System.Data
Function CreateBarcodeDataTable() As DataTable
Dim dt As New DataTable()
dt.Columns.Add("ProductCode", GetType(String))
dt.Columns.Add("Barcode", GetType(Byte()))
' Generate a barcode for each product
Dim row As DataRow = dt.NewRow()
row("ProductCode") = "PROD-12345"
Dim barcode = BarcodeWriter.CreateBarcode("PROD-12345", BarcodeWriterEncoding.Code128)
barcode.AddBarcodeValueTextBelowBarcode()
barcode.ResizeTo(400, 150)
row("Barcode") = barcode.BinaryStream
dt.Rows.Add(row)
Return dt
End Function
To podejście oparte na DataTable jest idealne do podglądu raportów, jednorazowych zadań drukowania lub gdy infrastruktura bazy danych jest niedostępna. Można przeglądać listę produktów i dodawać wiersz dla każdej pozycji, generując BARCODES na żądanie. Aby uzyskać więcej informacji na temat formatów kodów kreskowych, zapoznaj się z obsługiwanymi typami kodów kreskowych lub przejrzyj samouczki IronBarcode.
Jak dostosować wygląd BarCode'ów?
Oprócz prostego generowania, IronBarcode oferuje kilka opcji dostosowywania przydatnych w raportach drukowanych:
- Marginesy — użyj
myBarcode.SetMargins(), aby dodać białe znaki wokół BARCODE, poprawiając niezawodność skanowania - Kolory — zmiana kolorów pierwszego planu i tła w markowych projektach raportów
- Adnotacje — dodaj własny tekst nad lub pod BARCODE-m, używając
AddBarcodeValueTextAboveBarcode() - Rozdzielczość — ustaw DPI dla wysokiej jakości wydruku przy użyciu
myBarcode.SetDPI()
Przykłady kodu dotyczące każdej opcji można znaleźć w przewodniku po dostosowywaniu BarCode'ów.
Jak wyświetlać BarCodes w Crystal Reports?
Po zapisaniu BarCodes w bazie danych wyświetlanie ich w programie Crystal Reports odbywa się zgodnie ze standardowymi procedurami dotyczącymi pól obrazówych:
- Otwórz program Crystal Reports i utwórz nowy raport lub otwórz istniejący
-
W Eksploratorze pól kliknij prawym przyciskiem myszy "Pola bazy danych" i wybierz "Ekspert baz danych"

- Połącz się z bazą danych i wybierz tabelę zawierającą obrazy BarCode
- Przeciągnij pole obrazu BarCode na obszar projektowania raportu
- Zmień rozmiar i położenie pola zgodnie z potrzebami
Twój projektant raportów powinien wyglądać mniej więcej tak:

Aby dynamicznie generować BarCodes podczas wykonywania raportu, zmodyfikuj tabelę danych (DataTable) lub zapytanie do bazy danych tak, aby generować BarCodes w locie. Poniższy przykład pokazuje, jak powiązać dynamicznie utworzoną tabelę danych (DataTable) z widokiem CrystalReportViewer:
Imports IronBarCode
Imports System.Data
Function GetReportData() As DataTable
Dim dt As New DataTable()
dt.Columns.Add("ProductCode", GetType(String))
dt.Columns.Add("Barcode", GetType(Byte()))
Dim row As DataRow = dt.NewRow()
row("ProductCode") = "CUSTOMER-12345"
Dim barcode = BarcodeWriter.CreateBarcode("CUSTOMER-12345", BarcodeWriterEncoding.Code128)
barcode.AddBarcodeValueTextBelowBarcode()
barcode.ResizeTo(400, 150)
row("Barcode") = barcode.BinaryStream
dt.Rows.Add(row)
Return dt
End Function
To podejście generuje BARCODES dynamicznie podczas ładowania raportu, eliminując konieczność wcześniejszego przechowywania obrazów w bazie danych. Możesz eksportować raporty do formatu PDF, korzystając z wbudowanych funkcji eksportu programu Crystal Reports. Więcej informacji na temat źródeł danych Crystal Reports można znaleźć w dokumentacji SAP dotyczącej Crystal Reports.
Wynik
Twój raport Crystal Report wyświetli BarCode z czytelnym tekstem i odpowiednimi wymiarami. W razie potrzeby dostosuj rozmiar pola lub marginesy do skanerów, drukarek lub etykiet. BarCode można umieścić w plikach PDF, drukowanych formularzach lub szablonach etykiet bezpośrednio z aplikacji VB.NET.

Jak radzisz sobie z typowymi problemami związanymi z drukowaniem BarCodes?
Podczas wdrażania BarCODE-ów w Crystal Reports przy użyciu VB.NET może pojawić się kilka problemów. Poniższe wskazówki dotyczące rozwiązywania problemów dotyczą najczęstszych problemów:
| Problem | Przyczyna | Rozwiązanie |
|---|---|---|
| Niewyraźne BarCodes | Niska rozdzielczość obrazu | Użyj funkcji ResizeTo() z większymi wymiarami lub ustaw wyższą rozdzielczość DPI |
| Błędy skanowania | Niewystarczająca strefa ciszy | Dodaj marginesy za pomocą SetMargins(); dodaj gwiazdki dla kodu 39 |
| Błędy połączenia z bazą danych | Nieprawidłowe parametry połączenia | Sprawdź ciąg OleDbConnection lub SqlConnection oraz powiązanie zestawu danych |
| Nieprawidłowy typ danych w bazie danych | Pole nie jest ustawione jako typ binarny | Użyj typu kolumny image lub varbinary(max) |
| BarCodes nie wyświetlają się | Problem z uprawnieniami lub ścieżką | Sprawdź, czy przeglądarka Crystal Reports ma uprawnienia dostępu do bazy danych/tabeli danych |
| Błędy brakujących plików DLL | Niekompletna instalacja | Zainstaluj ponownie za pomocą NuGet; sprawdź, czy w projekcie znajduje się odwołanie do biblioteki IronBarcode DLL |
Aby uzyskać dodatkową pomoc w rozwiązywaniu problemów, odwiedź przewodnik rozwiązywania problemów IronBarcode. Forum pomocy technicznej IronBarcode jest również dostępne w przypadku konkretnych pytań i nietypowych sytuacji, które nie zostały omówione w dokumentacji.
Jak wybrać odpowiedni format BarCode?
Wybór odpowiedniego formatu BarCode ma znaczenie dla kompatybilności sprzętu skanującego i pojemności danych. Najpopularniejsze formaty raportów biznesowych to:
- Code 128 — uniwersalny liniowy BARCODE; wysoką gęstość danych; działa z większością skanerów. Użyj
BarcodeWriterEncoding.Code128. - Kod 39 — starszy standard; szeroko obsługiwane; koduje znaki alfanumeryczne. Użyj
BarcodeWriterEncoding.Code39. - QR Code — 2D BarCode; przechowuje duże ilości danych, w tym adresy URL. Użyj
BarcodeWriterEncoding.QRCode. - Data Matrix — kompaktowy BARCODE 2D; powszechnie stosowane w produkcji i logistyce. Użyj
BarcodeWriterEncoding.DataMatrix. - PDF417 — BARCODE 2D o dużej pojemności; używane do etykiet wysyłkowych i identyfikatorów. Użyj
BarcodeWriterEncoding.PDF417.
Przy wyborze odpowiedniego kodowania dla danego zastosowania należy zapoznać się z pełną listą obsługiwanych formatów BarCode. Aby odczytać kody kreskowe z obrazów wyjściowych Crystal Report, zapoznaj się z samouczkiem dotyczącym czytnika kodów kreskowych.
Jakie są Twoje kolejne kroki?
Wdrożenie kodów kreskowych w Crystal Reports przy użyciu VB.NET i IronBarcode stanowi niezawodne rozwiązanie służące do ulepszania raportów. To podejście oparte na SDK eliminuje zależności od czcionek, oferując jednocześnie szerokie możliwości dostosowywania. Niezależnie od tego, czy korzystasz z bazy danych, czy z tabeli DataTable, możesz zaimplementować profesjonalne BARCODES — w tym BARCODES Data Matrix, Code 39 i QR — w swojej aplikacji Crystal Reports.
Aby kontynuować tworzenie przepływu pracy związanego z kodami kreskowymi:
- Pobierz IronBarcode — skorzystaj z bezpłatnej wersji próbnej i już dziś zacznij generować kody kreskowe
- Przeczytaj przewodnik dla początkujących — konfiguracja krok po kroku dla projektów .NET
- Zapoznaj się z przykładami generowania kodów BarCode — przykłady kodu dla wszystkich typowych przypadków użycia
- Zapoznaj się z obsługiwanymi formatami — znajdź odpowiedni typ BarCode dla swojej aplikacji
- Zapoznaj się z samouczkami dotyczącymi odczytu BarCodes — dowiedz się, jak odczytywać BarCodes z plików PDF i obrazów
- Odwiedź stronę licencji — porównaj plany dla użytkowników indywidualnych i zespołów
Zacznij wdrażać kody kreskowe w swoim projekcie już dziś, korzystając z bezpłatnej wersji próbnej IronBarcode, aby poznać pełne możliwości drukowania kodów kreskowych w Crystal Reports przy użyciu VB.NET. Dokumentacja zestawu SDK SAP Crystal Reports znajduje się na portalu deweloperskim SAP, gdzie można znaleźć dodatkowe wzorce integracji.
Często Zadawane Pytania
Jakie są zalety korzystania z IronBarcode w Crystal Reports z VB.NET?
Korzystanie z IronBarcode w Crystal Reports z VB.NET pozwala na płynną integrację kodów kreskowych, usprawniając procesy biznesowe w zakresie takich zadań, jak śledzenie zapasów i generowanie szczegółowych raportów. Upraszcza to generowanie kodów kreskowych w porównaniu z rozwiązaniami opartymi na czcionkach.
W jaki sposób IronBarcode usprawnia generowanie kodów kreskowych w Crystal Reports?
IronBarcode usprawnia generowanie kodów kreskowych, oferując prosty zestaw SDK, który eliminuje potrzebę stosowania skomplikowanych formuł i ogranicza problemy związane z ograniczonymi formatami oraz kompatybilnością drukarek w Crystal Reports.
Czy IronBarcode obsługuje różne formaty kodów kreskowych w Crystal Reports?
Tak, IronBarcode obsługuje szeroki zakres formatów kodów kreskowych, dzięki czemu jest wszechstronnym narzędziem do różnych zastosowań w ramach Crystal Reports, zapewniając kompatybilność i niezawodność.
Czy integracja IronBarcode z projektem VB.NET jest trudna?
Nie, integracja IronBarcode z projektem VB.NET została zaprojektowana z myślą o łatwości obsługi, z przejrzystą dokumentacją i wsparciem, dzięki czemu proces przebiega płynnie i wydajnie.
Dlaczego warto wybrać IronBarcode zamiast rozwiązań opartych na czcionkach?
IronBarcode zapewnia bardziej niezawodne i elastyczne rozwiązanie niż kody kreskowe oparte na czcionkach, pozwalając uniknąć skomplikowanych formuł i problemów z drukarką oraz oferując szerokie wsparcie formatów i niezawodność.
Czy IronBarcode obsługuje drukowanie kodów kreskowych bezpośrednio z Crystal Reports?
Tak, IronBarcode umożliwia bezpośrednie drukowanie kodów kreskowych z programu Crystal Reports, zapewniając wysoką jakość wydruków i ograniczając złożoność często związaną z innymi metodami.
Jakie są typowe problemy związane z BARCODE’ami opartymi na czcionkach w VB.NET?
Kody kreskowe oparte na czcionkach często wiążą się ze złożonymi formułami, ograniczonymi opcjami formatowania i problemami z kompatybilnością drukarek, które IronBarcode pomaga przezwyciężyć dzięki kompleksowemu zestawowi SDK.




