Barcodes erstellen, drucken, exportieren - mit List & Label in .NET/C#

Einleitung

Barcodes sind maschinenlesbare Symbole, die bei vielen Prozessen in den unterschiedlichsten Branchen zur schnellen Identifikation verwendet werden. Zuerst vornehmlich in der Fertigungsindustrie genutzt, sind Barcodes mittlerweile vielseitig im Alltag präsent. So etwa beim Scan von Waren an der Supermarktkasse oder beim Frankieren von Postsendungen. Mit den Verwendungsmöglichkeiten haben auch die Varianten von Barcodes zugenommen. Barcodes sind in unterschiedliche Typen wie Strichcodes oder 2D-Codes unterteilt und tragen Namen wie Code128, QR-Code, PDF417, Datamatrix oder EAN-13.

Mit List & Label, unserer Reporting Komponente für die Softwareentwicklung, können Sie Barcodes in zahlreichen Formaten verwenden. Das Portfolio an Barcodes wird stetig erweitert. Mittlerweile gehört List & Label zu den führenden Reporting Tools mit einem breiten Spektrum an verschiedensten Barcode-Formaten für beliebige Lösungen und Anforderungen. Um nur einige zu nennen:

  • Aztec
  • Code39
  • Codablock F
  • Datamatrix
  • EAN128
  • GS1
  • Maxicode
  • FIM
  • ISBN
  • Deutsche Post Premiumadress
  • PDF417 + MicroPDF417
  • Pharmacode
  • QR-Code
  • u.v.m.

Eine Liste aller unterstützen Barcode-Formate kann in den Übersichten für allgemeine 1D-Codes, Postcodes (1D wie auch 2D) und allgemeine 2D-Codes eingesehen werden. Probieren Sie auch unseren Online Barcode Generator aus. Doch wie können diese Barcodes nun mit List & Label konkret erstellt werden und welche Voraussetzungen sind dafür notwendig?

Voraussetzungen für List & Label Barcodes

Damit die Barcodes verwendet werden können, muss List & Label als Komponente in die eigene Anwendung integriert werden. Das .NET Tutorial zeigt wie schnell und einfach das geht. Rufen Sie dann den integrierten List & Label Report Designer mit Hilfe der Methode Design() auf, um ein eigenes Template für einen Bericht mit Barcode zu erstellen.

Es braucht für keinen einzigen Barcode ein spezieller Barcode-Font kostenpflichtig bezogen werden und es werden dafür auch keinerlei Runtime-Gebühren fällig. List & Label zeichnet die Barcodes gemäß dem jeweiligen Standard vollständig selbst. Die Qualität und Konformität der Barcodes haben wir geprüft durch eine Kooperation mit REA, einem renommierten Anbieter von Barcode-Verifikatoren.

Spezialisiert auf Druckoptimierung

Eine Eigenschaft, die List & Label deutlich von anderen Produkten abhebt, ist die optionale Druckoptimierung für eine optimale Ausrichtung der Barcode-Pixel. Diese sorgt dafür, dass beim Drucken auf einem physikalischen Drucker die Qualität des Barcodes in Abhängigkeit der Ausgabegerätepixel angepasst wird. So werden Rundungsfehler vermieden und die Lesbarkeit gewährleistet.

Hinweis: List & Label wird für unterschiedliche Anforderungen in unterschiedlichen Editionen angeboten, 2D-Barcodes sind ab der Professional Edition enthalten.

Barcodes erstellen und definieren

Doch wie können nun die Barcodes mit List & Label erstellt werden - sowohl interaktiv über den Report Designer oder sogar auch über den Source-Code gesteuert?

Im Report Designer

Am einfachsten geht das Erstellen eines beliebigen Barcodes direkt im Designer. Hier gibt es das Barcode-Objekt, das ganz einfach über das Menüband eingefügt werden kann:


Barcode im Report Designer: Verwendung als statischer Text

Für die Option Text wählt man dann ganz einfach den gewünschten Inhalt für den zu codierenden Barcode. Dessen Formatierung ist jedoch vom ausgewählten Barcode (hier: QR-Code) abhängig. So könnten feste bzw. statische Texte für den Barcode verwendet werden. Doch für mehr Dynamik und Flexibilität und auch in Abhängigkeit der angemeldeten Daten in List & Label kann auch eine Formel mit Hilfe der Designer-Funktion Barcode() bestimmt werden, um den Inhalt eines Barcodes und dessen Typ zu definieren:


Barcode im Report Designer: Verwendung als Formel

Im Source-Code (mit .NET Komponente in C#)

Auch hier wird der Report Designer eingesetzt. Direkt aus der angemeldeten Datenquelle wird festgelegt, dass die Daten vordefiniert als bestimmter Barcode-Typ angemeldet werden sollen. So müssen Anwender:innen nicht selbst dafür sorgen, die Formatierung des Barcodes zu berücksichtigen. Der Vorgang kann von der Anwendung selbst im Source-Code spezifiziert werden und reduziert die Komplexität für die späteren Endanwender:innen deutlich. Hierzu steht bei der Programmierung in C# die Klasse LlBarcode zur Verfügung, deren Eigenschaften den Inhalt und den Typen des Barcodes bestimmen. Beispiel:

LlBarcode myBarcode = new LlBarcode("EXPSA01", LlBarcodeType.EAN128);
LL.Variables.Add("Artikel.Nr_EAN128", myBarcode);

Im Designer selbst sehen Anwender:innen nur, dass eine Barcode-Variable mit dem Namen Artikel.Nr_EAN128 zur Verfügung steht. Diese kann nun einfach via Drag & Drop im Bericht platziert werden:


Barcode im Report Designer: Verwendung als Variable

Tipp: Über die Databinding-Ereignisse AutoDefineField/AutoDefineVariable lassen sich die Feld-/Variablen-Typen auch ganz einfach beliebig zur Laufzeit im eigenen Programmcode ändern. Beispiel:

LL.AutoDefineVariable += LL_AutoDefineVariable;
LL.Design();
 
private void LL_AutoDefineVariable(object sender, AutoDefineElementEventArgs e)
{
    if(e.Name == "Artikel.Nr_EAN128")
    {
        e.FieldType = LlFieldType.Barcode_EAN128;
    }
}

Im Source-Code mit der DOM API ohne Designer ( mit .NET Komponente in C#)

List & Label bietet eine weitere elegante Möglichkeit einen Bericht zu erstellen und zu modifizieren: Mit der sogenannten Document Object Model (DOM) API kann ein Bericht vollständig im Source-Code erstellt werden. Über diesen Weg ist es auch möglich, bestehende Berichte zu modifizieren. Mit Hilfe der Klasse ObjectBarcode über die AddNewBarcode() Methode werden Barcodes einfach hinzugefügt, ohne dass der Report Designer ein einziges Mal sichtbar wird. Beispiel:

private void GenerateBarcodeObject()
{
    try
    {
        // Create new DOM project, type LlProject.List
        using (ProjectList proj = new ProjectList(LL))
        {
            // Set file name and file access options
            proj.Open(Path.Combine(Application.StartupPath, "dynamic.lst"), LlDomFileMode.Create, LlDomAccessMode.ReadWrite);
 
            // Get the coordinates for the first page
            Size pageExtend = proj.Regions[0].Paper.Extent.Get();
 
            // Add a barcode object
            ObjectBarcode llobjBarcode = proj.Objects.AddNewBarcode();
            llobjBarcode.Source.BarcodeType = LlBarcodeType.EAN128;
            llobjBarcode.Source.Text = "EXPSA01";
            llobjBarcode.WithText = "true";
            llobjBarcode.Position.Set(pageExtend.Width - 50000, 10000, pageExtend.Width - (pageExtend.Width - 40000), 27000);
 
            proj.Save();
        }
    }
    catch (ListLabelException LlException)
    {
        // Catch Exceptions
        MessageBox.Show("Information: " + LlException.Message + "\n\nThis information was generated by a List & Label custom exception.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }
}

Barcodes drucken oder exportieren

Sobald der Bericht mit Hilfe des Report Designers oder der DOM API erstellt wurde, kommt eine weitere Stärke von List & Label zum Einsatz - die zahlreichen Export-Möglichkeiten. Der Bericht mit den Barcodes kann vielseitig ausgegeben werden:

  • klassisch auf einen beliebigen Drucker
  • in Dokumentenformaten wie PDF, Word (DOCX), Excel (XLSX) etc.
  • in Grafikformaten zur einfachen Weiterverarbeitung wie PNG, SVG, JPEG etc.


Ausgabe-Einstellung: Formatauswahl in List & Label

Der Druck oder Export wird aus der eigenen Anwendung mit Hilfe der List & Label Komponente im Source-Code über die Print() und Export() Methoden durchgeführt und gesteuert. Im .NET Tutorial im Kapitel Design, Druck und Export wird dies ausführlich erklärt.

Tipp: Für Bildexportformate wie PNG oder JPEG stehen die hilfreichen Export-Optionen Picture.CropFile und Picture.CropFrameWidth zur Verfügung, mit denen bei Etiketten/Barcodes ein überflüssiger weißer Rahmen entfernt werden kann.

Beispiele für besondere Barcodes in List & Label

List & Label bietet eine Fülle an unterschiedlichsten Barcodes an, die für verschiedene Anforderungen in beliebigen Einsatzbereichen wie bspw. im Zahlungsverkehr, im Versand (über Spedition), in Abläufen im medizinischen/pharmazeutischen Bereich, als ISBN im Verlagswesen u.v.m. verwendet werden können.

Swiss QR-Code

Im schweizerischen Zahlungsverkehr wird der sogenannte Swiss QR-Code benötigt, der in der Mitte das Schweizerkreuz tragen muss. Der Artikel Schweizer QR-Rechnung mit List & Label drucken enthält dafür einen Beispielbericht für den Report Designer und basiert auf einer typischen Musterrechnung.
grafik
QR-Code mit Schweizerkreuz

Individuelle QR-Codes mit Firmen- oder Produktlogo

Anstatt des Schweizerkreuzes im o.g. Swiss QR-Code ist es auch möglich, das eigene Firmen- oder Produktlogo im QR-Code zu platzieren. So kann die Corporate Identity, etwa auf Briefpapier, noch besser zur Geltung kommen.
grafik
QR-Code mit Produktlogo

EPC-QR-Codes für SEPA-Überweisungen

Im internationalen Zahlungsverkehr können auch für SEPA-Überweisungen QR-Codes erstellt werden, was der Artikel EPC-QR-Codes mit List & Label ausgeben beispielhaft demonstriert.

Lassen Sie uns gerne einen Kommentar da, wenn Sie weitere interessante oder auch spezielle Anforderungen mit List & Label im Barcode-Bereich umgesetzt haben.

Barcodes testen mit Online Demo und Trial

Um sich schnell ein Bild über die Barcode-Fähigkeiten von List & Label zu machen, ohne die Komponente zu integrieren, können Sie unseren Online Barcode Generator ausprobieren.

Sie möchten es genau wissen und testen? Dann laden Sie sich unsere kostenlose List & Label Trial herunter.

© combit GmbH