Was ist die Barcode Rendering Framework (BRF)?

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.

Wie bindet man BRF in C# ein?

Folgende Schritte sind umzusetzen:

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.

Ein erstes Code-Beispiel

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.)