IRONSOFTWAREHOME
KORZYSTANIE Z IRONBARCODE

Jak drukować kody kreskowe w Crystal Reports za pomocą VB.NET

Curtis Chau
Curtis Chau
Updated: 20 czerwca 2026

Aby drukować kody kreskowe w Crystal Reports za pomocą VB.NET, zainstaluj IronBarcode przez NuGet, generuj obrazy kodów kreskowych za pomocą BarcodeWriter.CreateBarcode() i przypisz wygenerowane dane binarne do pola obrazu w swoim 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 skomplikowane 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.

Metody BarCode oparte na czcionkach a metody oparte na SDK w Crystal Reports
CzynnikMetoda oparta na czcionkachMetoda oparta na SDK (IronBarcode)
Złożoność konfiguracjiWysoki — wymaga instalacji czcionek i formuł kodowaniaNiski — instalacja pojedynczego pakietu NuGet
Obsługa formatów BarCodeOgraniczone (Code 39, Code 128)Ponad 30 formatów, w tym QR, Data Matrix, PDF417
Spójność między drukarkamiNiespójne — zależy od zainstalowanych czcionekSpójność — renderowanie oparte na obrazach
Obciążenie związane z utrzymaniemWysoki — czcionki muszą być zarządzane indywidualnie dla każdego komputeraNiski — zarządzane poprzez aktualizacje NuGet
Niezawodność skanowaniaZmiennaWysoka — 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:

PM > 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
VB .NET

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
VB .NET

Ten przykład generuje BarCode Code 128 i zapisuje go jako dane binarne w SQL Server. Metoda AddBarcodeValueTextBelowBarcode() dodaje tekst czytelny dla ludzi poniżej symbolu kodu kreskowego, czyniąc go użytecznym zarówno dla skanowania, jak i inspekcji wizualnej. Metoda ResizeTo() dostosowuje wymiary do układu Twojego 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
VB .NET

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łą przestrzeń wokół kodu kreskowego, poprawiając niezawodność skanowania
  • Kolory — zmiana kolorów pierwszego planu i tła w markowych projektach raportów
  • Adnotacje -- Dodaj niestandardowy tekst powyżej lub poniżej kodu kreskowego za pomocą AddBarcodeValueTextAboveBarcode()
  • Rozdzielczość -- Ustaw DPI dla wysokiej jakości wydruku za pomocą 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:

  1. Otwórz program Crystal Reports i utwórz nowy raport lub otwórz istniejący

  2. W Eksploratorze pól kliknij prawym przyciskiem myszy "Pola bazy danych" i wybierz "Ekspert baz danych"

    Jak drukować kody kreskowe w Crystal Reports za pomocą VB.NET: Rysunek 1 - okno eksperta baz danych

  3. Połącz się z bazą danych i wybierz tabelę zawierającą obrazy BarCode

  4. Przeciągnij pole obrazu BarCode na obszar projektowania raportu

  5. Zmień rozmiar i położenie pola zgodnie z potrzebami

Twój projektant raportów powinien wyglądać mniej więcej tak:

Jak drukować kody kreskowe w Crystal Reports za pomocą VB.NET: Rysunek 2 - układ projektanta raportu

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
VB .NET

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 drukować kody kreskowe w Crystal Reports za pomocą VB.NET: Rysunek 3 - Wyświetlanie wygenerowanych kodów kreskowych za pomocą Crystal Reports Viewer

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:

Typowe problemy i rozwiązania dotyczące drukowania BarCode w Crystal Reports
ProblemPrzyczynaRozwiązanie
Niewyraźne BarCodesNiska rozdzielczość obrazuUżyj funkcji ResizeTo() z większymi wymiarami lub ustaw wyższą rozdzielczość DPI
Błędy skanowaniaNiewystarczająca strefa ciszyDodaj marginesy za pomocą SetMargins(); dodaj gwiazdki dla kodu 39
Błędy połączenia z bazą danychNieprawidłowe parametry połączeniaSprawdź ciąg OleDbConnection lub SqlConnection oraz powiązanie zestawu danych
Nieprawidłowy typ danych w bazie danychPole nie jest ustawione jako typ binarnyUż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 DLLNiekompletna instalacjaZainstaluj 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; wysoka 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 wynikowych Crystal Report, zobacz samouczek 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:

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.

Curtis Chau
Autor tekstów technicznych

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.

...
Czytaj więcej

Powiązane artykuły

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Your trial license will be sent to your email address

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta