using IronBarCode;
using System.Drawing;
// Reading a barcode is easy with IronBarcode!
var resultFromFile = BarcodeReader.Read(@"file/barcode.png"); // From a file
var resultFromBitMap = BarcodeReader.Read(new Bitmap("barcode.bmp")); // From a bitmap
var resultFromImage = BarcodeReader.Read(Image.FromFile("barcode.jpg")); // From an image
var resultFromPdf = BarcodeReader.ReadPdf(@"file/mydocument.pdf"); // From PDF use ReadPdf
// To configure and fine-tune barcode reading, utilize the BarcodeReaderOptions class
var myOptionsExample = new BarcodeReaderOptions
{
// Choose a reading speed from: Faster, Balanced, Detailed, ExtremeDetail
// There is a tradeoff in performance as more detail is set
Speed = ReadingSpeed.Balanced,
// Reader will stop scanning once a single barcode is found (if set to true)
ExpectMultipleBarcodes = true,
// By default, all barcode formats are scanned for
// Specifying a subset of barcode types to search for would improve performance
ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional,
// Utilize multiple threads to read barcodes from multiple images in parallel
Multithreaded = true,
// Maximum threads for parallelized barcode reading
// Default is 4
MaxParallelThreads = 2,
// The area of each image frame in which to scan for barcodes
// Specifying a crop area will significantly improve performance and avoid noisy parts of the image
CropArea = new Rectangle(),
// Special setting for Code39 barcodes
// If a Code39 barcode is detected, try to read with both the base and extended ASCII character sets
UseCode39ExtendedMode = true
};
// Read with the options applied
var results = BarcodeReader.Read("barcode.png", myOptionsExample);
// Create a barcode with one line of code
var myBarcode = BarcodeWriter.CreateBarcode("12345", BarcodeWriterEncoding.EAN8);
// After creating a barcode, we may choose to resize
myBarcode.ResizeTo(400, 100);
// Save our newly-created barcode as an image
myBarcode.SaveAsImage("EAN8.jpeg");
Image myBarcodeImage = myBarcode.Image; // Can be used as Image
Bitmap myBarcodeBitmap = myBarcode.ToBitmap(); // Can be used as Bitmap
Hinzufügen eines Barcodes in Crystal Reports mit C#
Veröffentlicht 3. April 2024
Teilen Sie:
Crystal-Berichte ist ein leistungsstarkes Berichtswerkzeug, mit dem Entwickler funktionsreiche Berichte für ihre Anwendungen erstellen können. Wenn es um die Einbeziehung vonbarcodes in Crystal Reports mitC#sie verleiht der Datendarstellung eine neue Dimension und erleichtert die Verwaltung und Verfolgung von Informationen. In diesem Artikel werden wir die Schritte zur Integration von Barcodes in Crystal Reports mit C# untersuchen.
Wie man einen Barcode in Crystal Reports mit C&num hinzufügt;
Installieren Sie die Barcode-Bibliothek.
Erzeugen Sie ein Barcode-Bild und speichern Sie es als Bild in einer Datenbanktabelle.
Entwerfen Sie das Layout für den Crystal-Bericht.
Stellen Sie eine Verbindung zur Datenbank her und wählen Sie die gewünschte Tabelle aus.
Ein Barcode-Bildfeld in das Crystal Report-Layout einfügen.
Erstellen und starten Sie das Projekt.
Wählen Sie eine Barcode-Bibliothek
Bevor Sie mit der Implementierung beginnen, sollten Sie unbedingt eine Barcode-Bibliothek auswählen, die Crystal Reports und C# unterstützt. Eine beliebte Wahl ist dieIronBarcode für .NET.
Was ist IronBarcode
IronBarcode ist eine vielseitige .NET-Bibliothek, die Barcodes vereinfachtgeneration undlesen. Mit IronBarcode können Sie mühelos erstellenverschiedene Barcodeseinschließlich Code 128 und QR-Codes, indem Sie den zu kodierenden Wert angeben. Außerdem unterstützt esgrößenänderung undpersonalisierung. Auf der Leseseite kann IronBarcode Barcodedaten aus Bildern oder PDFs extrahieren und ist damit ideal für die Bestandsverwaltung und die Dokumentenverfolgung. Die benutzerfreundliche API gewährleistet eine schnelle Integration in Ihre Projekte, und die plattformübergreifende Unterstützung ermöglicht eine nahtlose Entwicklung über verschiedene .NET-Versionen hinweg. Egal, ob Sie ein erfahrener Entwickler oder ein Anfänger sind, IronBarcode ermöglicht es Ihnen, effizient mit Barcodes zu arbeiten.
Ein neues Projekt erstellen
Öffnen Sie Visual Studio zum Erstellen einer ASP.NET Crystal Reports-Website. Ich verwendeVisual Studio 2022. Sie können jede beliebige Version verwenden, aber stellen Sie sicher, dass Crystal Reports für Visual Studio für die jeweilige Version installiert ist.
Wählen Sie Projektname, Standort und Zielrahmen. Klicken Sie auf die Schaltfläche Erstellen. Ein neues Projekt wird wie unten gezeigt erstellt.
Bevor wir beginnen, brauchen wir eine Datenbank. Legen wir eine neue Datenbank und eine Beispieltabelle an.
Erstellen Sie eine neue Datenbank
Mit dem folgenden Skript wird eine neue Datenbank erstellt.
CREATE DATABASE ProductDB;
USE [ProductDB]
GO
/****** Object: Table [dbo].[Products] Script Date: 3/10/2024 2:57:18 PM**/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Products](
[Product_ID] [int] NULL,
[Product_Name] [varchar](100) NULL,
[Product_Price] [decimal](18, 0) NULL,
[Product_Barcode] [image] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
Fügen wir Daten in diese Tabelle ein. Wir müssen einen Strichcode erstellen und ihn in der Produkttabelle speichern. Daher müssen wir Daten mit C# Code einfügen. Wir müssen die IronBarcode Library in unserem Projekt installieren, um ihre Funktionen zur Erstellung von Barcodes zu nutzen.
IronBarcode-Bibliothek installieren
Zur Installation derIronBarcode-Bibliothek mit der NuGet Package Manager Console zu erstellen, gehen Sie wie folgt vor:
Öffnen Sie die NuGet-Paketmanager-Konsole. Sie finden sie unter Ansicht -> Andere Fenster -> Paketmanager-Konsole.
Verwenden Sie in der Paketmanager-Konsole den folgenden Befehl, um die IronBarcode-Bibliothek zu installieren:
Install-Package Barcode
Drücken Sie die Eingabetaste, um den Befehl auszuführen.
Alternativ können Sie die IronBarcode-Bibliothek auch über die Funktion NuGet-Pakete für die Lösung verwalten installieren:
Warten Sie, bis der NuGet Package Manager die IronBarcode-Bibliothek und ihre Abhängigkeiten heruntergeladen und installiert hat. Sobald die Installation abgeschlossen ist, wird in der Paketmanager-Konsole eine Bestätigungsmeldung angezeigt.
Jetzt ist die IronBarcode-Bibliothek in Ihrem Projekt installiert und Sie können ihre Funktionen zum Erzeugen und Lesen von Barcodes nutzen.
Erzeugen Sie Barcode-Bilder und speichern Sie sie in der Datenbank
Ich werde Barcode-Bilder generieren und sie mit ADO.NET in der Datenbank speichern. Der folgende Code zeigt ein Beispiel für die Erzeugung eines Barcodes in C#.
static void Main(string [] args)
{
var myBarcode = BarcodeWriter.CreateBarcode("77446252", BarcodeWriterEncoding.Code128);
myBarcode.AddBarcodeValueTextBelowBarcode();
myBarcode.ResizeTo(600, 300);
SqlConnection cn = new SqlConnection("Data Source=localhost\\SQLEXPRESS;initial catalog=ProductDB ; User ID=sa;Password=123456;Integrated Security=SSPI;");
SqlCommand cmd = new SqlCommand($"INSERT INTO dbo.Products values (77446252, 'Pine Apple Small','100', '{myBarcode.BinaryStream}' )", cn);
cn.Open();
cmd.ExecuteNonQuery();
cn.Close();
}
static void Main(string [] args)
{
var myBarcode = BarcodeWriter.CreateBarcode("77446252", BarcodeWriterEncoding.Code128);
myBarcode.AddBarcodeValueTextBelowBarcode();
myBarcode.ResizeTo(600, 300);
SqlConnection cn = new SqlConnection("Data Source=localhost\\SQLEXPRESS;initial catalog=ProductDB ; User ID=sa;Password=123456;Integrated Security=SSPI;");
SqlCommand cmd = new SqlCommand($"INSERT INTO dbo.Products values (77446252, 'Pine Apple Small','100', '{myBarcode.BinaryStream}' )", cn);
cn.Open();
cmd.ExecuteNonQuery();
cn.Close();
}
Shared Sub Main(ByVal args() As String)
Dim myBarcode = BarcodeWriter.CreateBarcode("77446252", BarcodeWriterEncoding.Code128)
myBarcode.AddBarcodeValueTextBelowBarcode()
myBarcode.ResizeTo(600, 300)
Dim cn As New SqlConnection("Data Source=localhost\SQLEXPRESS;initial catalog=ProductDB ; User ID=sa;Password=123456;Integrated Security=SSPI;")
Dim cmd As New SqlCommand($"INSERT INTO dbo.Products values (77446252, 'Pine Apple Small','100', '{myBarcode.BinaryStream}' )", cn)
cn.Open()
cmd.ExecuteNonQuery()
cn.Close()
End Sub
$vbLabelText $csharpLabel
Der obige Quellcode erzeugt einen Barcode, stellt eine Verbindung zu einer SQL Server-Datenbank her, fügt Daten ein(einschließlich des Strichcodes) in die Tabelle Produkte ein und schließt dann die Datenbankverbindung.
Code Erläuterung
1. Barcode-Erzeugung
var myBarcode = BarcodeWriter.CreateBarcode("77446252", BarcodeWriterEncoding.Code128);
Diese Zeile erzeugt einen Barcode mit Hilfe der BarcodeWriter Klasse CreateBarcode() Methode. Der Barcode wird aus den binären Daten, die durch die Zeichenfolge "77446252" dargestellt werden, unter Verwendung des Code 128-Kodierungsformats1 erzeugt. Die Variable myBarcode enthält nun den generierten Barcode.
AddBarcodeValueTextUnterBarcode() Die Funktion fügt einen Textwert unter dem Strichcode ein.
ResizeTo(600, 300) ändert die Höhe und Breite des Barcode-Bildes mit den angegebenen Abmessungen.
Wir können die SaveAs() Methode zum Speichern von Barcode-Bildern im Dateisystem.
Der folgende Strichcode wird aus dem obigen Code erzeugt.
2. Einrichtung der Datenbankverbindung
SqlConnection cn = new SqlConnection("Datenquelle=localhost\SQLEXPRESS;initialer Katalog=ProductDB ; Benutzer-ID=sa;Passwort=123456;");
Hier wird eine Verbindung zu einer SQL Server-Datenbank hergestellt. Die Verbindungszeichenfolge gibt den Server an(localhost\SQLEXPRESS)den ursprünglichen Katalog(name der Datenbank: ProductDB)und die Anmeldedaten für die Authentifizierung(benutzer-ID sa und Passwort 123456).
3. Erstellung von SQL-Befehlen
SqlCommand cmd = new SqlCommand($"INSERT INTO dbo.Products Werte(77446252, 'Pinienapfel klein','100', '{myBarcode.BinaryStream}')", cn);
Ein neues SqlCommand-Objekt wird erstellt. Dieser Befehl stellt eine SQL-Abfrage zum Einfügen von Daten in die Tabelle Produkte dar.
Die Abfrage fügt Werte in die Tabellenspalten ein: 77446252, 'Pine Apple Small', '100', und den Binärstrom des erzeugten Barcodes(myBarcode.BinaryStream).
4. Datenbank-Interaktion
cn.Open() : Die Verbindung zur Datenbank wird geöffnet.
cmd.ExecuteNonQuery(): Die SQL-Abfrage wird ausgeführt und fügt die angegebenen Werte in die Tabelle Produkte ein.
cn.Close(): Die Datenbankverbindung wird geschlossen, um Ressourcen freizugeben.
Gestalten Sie Ihren Crystal Reports Barcode-Generator
Entwerfen Sie nun das Berichtslayout, fügen Sie Datenbankverbindungen hinzu und ordnen Sie die erforderlichen Felder an. Wenn Sie neu in diesem Bereich sind, befolgen Sie die folgenden Schritte.
Öffnen Sie Feld Explorer => Datenbankfeld => Datenbankexperte.
Erweitern Sie Anlegen einer neuen Verbindung => OLE DB(ADO) => Neue Verbindung herstellen
Wählen Sie Microsoft OLE DB-Datenquelle für SQL Server. Klicken Sie auf Weiter.
Geben Sie den Servernamen, die Anmeldeinformationen und den Datenbanknamen wie unten gezeigt an.
Klicken Sie auf die Schaltfläche Weiter, es erscheint ein neues Fenster, und klicken Sie dann auf Fertig stellen.
Wählen Sie die Tabelle aus, die Sie hinzufügen möchten. Wählen Sie in diesem Fall die Produkttabelle aus.
Klicken Sie auf die Schaltfläche OK.
Wir haben eine Datenbankverbindung eingerichtet. Lassen Sie uns nun das Berichtslayout einrichten.
Jetzt habe ich ein Textfeld mit dem Text "Barcode in Crystal report C#" hinzugefügt. Fügen Sie ein Textfeld hinzu, ziehen Sie die Felder Produkt-ID, Produktname und Produktpreis sowie den Produkt-Strichcode aus der Datenbank und platzieren Sie sie in dem Feld, wie unten gezeigt.
Siehe die Crystal Report-Vorschau in Crystal Report Viewer.
Erstellen und starten Sie das Projekt. Die Ausgabe ist wie folgt:
Ich habe das Beispieldatenpaket nicht heruntergeladen, um sicherzustellen, dass ich die richtige Datendatei hatte, und bin dann dazu übergegangen, einen Crystal Report in C# für eine umfassende Datenvisualisierung zu erstellen.
Auf diese Weise können wir Strichcodes in der Crystal Reports-Anwendung erstellen, ohne die Strichcode-Schriftart herunterladen zu müssen. Ebenso können wir auch einen QR-Code nach Ihren Wünschen hinzufügen.
Schlussfolgerung
Zusammenfassend lässt sich sagen, dass die Integration von Barcodes in Crystal Reports unter Verwendung von C# eine leistungsstarke Möglichkeit zur Verbesserung der Datendarstellung und -verwaltung darstellt. Die Wahl einer zuverlässigen Barcode-Bibliothek wieIronBarcode rationalisiert den Prozess und bietet Vielseitigkeit und Benutzerfreundlichkeit. IronBarcode mit seiner Unterstützung für verschiedene Barcodetypen, Größenänderungen und Anpassungsfunktionen erweist sich als wertvolle Hilfe bei der Erstellung und dem Lesen von Barcodes. Die hier angebotene Schritt-für-Schritt-Anleitung gewährleistet einen nahtlosen Implementierungsprozess, von der Auswahl der Bibliothek bis zur Gestaltung des Crystal Report-Layouts.
Außerdem,IronBarcodedadurch werden zusätzliche Funktionen und Unterstützung freigeschaltet, um die Barcode-Integration weiter zu verbessern. Diese Flexibilität macht IronBarcode zu einer überzeugenden Wahl für Entwickler, unabhängig davon, ob sie an kleinen Projekten oder an Anwendungen auf Unternehmensebene arbeiten.
Regan schloss sein Studium an der University of Reading mit einem BA in Elektrotechnik ab. Bevor er zu Iron Software kam, konzentrierte er sich in seinen früheren Jobs auf einzelne Aufgaben. Was ihm bei Iron Software am meisten Spaß macht, ist das Spektrum der Aufgaben, die er übernehmen kann, sei es im Vertrieb, im technischen Support, in der Produktentwicklung oder im Marketing. Es macht ihm Spaß, die Art und Weise zu verstehen, wie Entwickler die Bibliothek von Iron Software nutzen, und dieses Wissen zu nutzen, um die Dokumentation und die Produkte kontinuierlich zu verbessern.