Das Barcode Rendering Framework (BRF) ist eine .NET-Library,
die man für das Erstellen von Barcode Bildern in C# Programme einbinden kann.
Über diese StackOverflow
Seite bin ich zu dieser Library gekommen.
Folgende Schritte sind umzusetzen:
Barcode.Render.Release.3.1.10729.zip
heruntergeladen.)
Zen.Barcode.Core.dll
in das
bin-Verzeichnis der C# Applikation kopieren.
using Zen.Barcode;
Code128BarcodeDraw pDraw = BarcodeDrawFactory.Code128WithChecksum; Image pImage = pDraw.Draw("MyBarcodeText", 3, 3);Damit wird ein Bild von einem Code 128 Barcode mit Checksumme erzeugt, der den Text
MyBarcodeText
repräsentiert. Der zweite Parameter gibt die maximale Bar-Höhe an und der dritte Parameter
den Skalierungsfaktor für die Balkenbreite.
/r:bin\Zen.Barcode.Core.dll
.
C:\WINDOWS\Microsoft.NET\Framework\v3.5\csc /target:library /r:bin\Zen.Barcode.Core.dll /out:bin\<LibraryName>.dll src\<LibraryName>\*.cs
Um andere Barcode-Typen zu suchen, habe ich auch die Source-Datei (Barcode.Render.Source.3.1.10729.zip
)
heruntergeladen und entpackt. In der Datei
BarcodeDrawFactory.cs
kann man nachschauen, welche Barcode-Typen zur Verfügung stehen.
Im folgenden Beispiel wird ein Barcode Bild in eine RTF-Datei eingelagert. (Die Anleitung zu diesem Code habe ich auf dieser Stackoverflow-Seite erhalten.)
Code128BarcodeDraw pDraw = BarcodeDrawFactory.Code128WithChecksum; Image pImage = pDraw.Draw("MyBarcodeText", 3, 3); MemoryStream stream = new MemoryStream(); pImage.Save(stream, System.Drawing.Imaging.ImageFormat.Png); byte [] bytes = stream.ToArray(); string str = BitConverter.ToString(bytes, 0).Replace("-", string.Empty); string mpic = @"{\pict\pngblip\picw" + pImage.Width.ToString() + @"\pich" + pImage.Height.ToString() + @"\picwgoal" + 3500 + @"\pichgoal" + 500 + @"\bin " + str + "}";
In diesem Code-Ausschnitt sieht man wieder die Erstellung des Barcode-Bildes wie in der obigen Beschreibung.
Danach wird das
Bild in einen Byte Array umgewandelt und dieser danach in einen String, der im RTF-Format als Bild erkannt wird.
Danach werden die umgewandelten Bilddaten in den RTF-Code eingesetzt, der das Bild repräsentiert. Dabei werden noch die Breite und
die Höhe des Bildes übergeben. Zusätzlich müssen mit \picwgoal
und \pichgoal
die Zielbreite und die
Zielhöhe des Bildes angegeben werden. (Hier habe ich nach dem Try-And-Error-Prinzip die optimale Darstellung für unsere
Barcode-Scanner ermittelt.)