Barcodes und QR-Codes in SSRS-Reports – kostenlose CRI-Extension

TL;DR — GlueckBarQrCode ist eine kostenlose SSRS Custom Report Item Extension, die 17 Barcode-Symbologien und einen QR-Code-Generator mit Logo-Embedding nativ in SQL Server Reporting Services integriert. Kein externer Dienst, keine Laufzeitkosten, vollständig datengetrieben über SSRS-Ausdrücke.

Architektur: SSRS-Report nutzt GlueckBarQrCode CRI für Barcode- und QR-Code-Ausgabe SSRS Report RDL mit CRI CustomReportItem GlueckBarQrCode Shared · Design · Runtime 17 Symbologien + QR-Code Logo · Farben · Ausdrücke .NET 4.7.2 / 4.8 PNG-Ausgabe HTML · PDF · Excel Word · PowerPoint
Abbildung 1: GlueckBarQrCode als Custom Report Item – SSRS ruft den Renderer pro Datenzeile auf und erhält ein PNG zurück.

Kein SaaS-Abo, kein API-Key, keine Daten verlassen den Server. Die Barcodes werden direkt im SSRS Report Server generiert.


Das Problem: SSRS kennt von Haus aus keine Barcodes

SQL Server Reporting Services (SSRS) liefert Tabellen, Diagramme und Karten. Was fehlt: ein nativer Barcode- oder QR-Code-Control. Wer Lieferscheine mit GS1-DataBar, Produktetiketten mit EAN-13 oder Zertifikate mit QR-Code direkt aus SSRS erzeugen will, braucht entweder eine kostenpflichtige Drittanbieter-Extension oder einen Workaround über Font-Tricks (unzuverlässig) und externe Web-Services (Datenschutzproblem, Ausfallrisiko).

GlueckBarQrCode schließt diese Lücke als natives Custom Report Item (CRI) — die offizielle SSRS-Erweiterungsschnittstelle von Microsoft.

Vergleich: Barcode-Workarounds vs. GlueckBarQrCode als native CRI-Extension Ohne CRI-Extension Barcode-Font: limitierte Typen Web-Service: Datenschutz-Risiko Drittanbieter-CRI: Lizenzkosten Keine SSRS-Ausdrucks-Integration Keine Logo-Einbettung GlueckBarQrCode 17 Symbologien + QR-Code Lokal im Report Server, kein SaaS Kostenlos, kein SaaS Alle Properties per Ausdruck Logo aus DB, URL oder Base64
Abbildung 2: Workarounds im Vergleich zur nativen CRI-Lösung.

Typische Anwendungsfälle

  • Lagerverwaltung und Kommissionierung — Code 128 oder DataMatrix auf Etiketten, Daten direkt aus der SSRS-Datenquelle
  • Handel und Kassensysteme — EAN-13 und EAN-8 für Produktetiketten aus dem Warenwirtschaftssystem
  • Versand und Logistik — GS1 DataBar RSS-14 und RSS Expanded für GS1-konforme Versandlabels
  • Gesundheitswesen und Pharma — DataMatrix nach securPharm/DSCSA auf Beipackzetteln und Verpackungen
  • Zertifikate und Ausweise — QR-Code mit Firmenlogo für Prüfzertifikate, Ausweise, Eintrittskarten
  • Industrielle Kennzeichnung — Aztec oder DataMatrix für harte Umgebungen (kleine Symbole, hohe Fehlertoleranz)
  • Tickets und Fahrausweise — Aztec (DB, ÖPNV) und PDF417 (Boarding Pass, ICAO)
  • Bibliotheken und Archiv — Codabar für historische Systeme und Leihvorgänge

Alle unterstützten Barcode-Typen

GlueckBarQrCode unterstützt insgesamt 18 Symbologien (17 lineare/2D-Barcodes via GlueckBarcode + QR-Code via GlueckQrCode).

Typ Symbologie Zeichenraum Typischer Einsatz
QR-Code QR Code 2005 Alle Unicode-Zeichen, binär URLs, vCards, Wi-Fi, Zertifikate
Code 128 ISO 15417 ASCII 0–127, kompakt Logistik, allgemein
Code 39 ISO 16388 A–Z, 0–9, Sonderzeichen Industrie, Gesundheitswesen (alt)
Code 93 ASCII (kompakter als 39) Inventur, Kanada Post
EAN-13 ISO 15420 12 Ziffern + Prüfziffer Handel Europa (GTIN)
EAN-8 ISO 15420 7 Ziffern + Prüfziffer Kleinverpackungen
UPC-A GS1 11 Ziffern + Prüfziffer Handel USA/Kanada
UPC-E GS1 6 Ziffern komprimiert Kleinverpackungen USA
Interleaved 2 of 5 (ITF) ISO 16390 Ziffern (paarweise) Versandkartons, Lager
GS1 DataBar RSS-14 GS1 13 Ziffern GTIN Frischeprodukte, Obst/Gemüse
GS1 DataBar RSS Expanded GS1 GTIN + Zusatzdaten (Charge, MHD) Pharma, Frische mit Chargennummer
DataMatrix ISO 16022 Binär, sehr kompakt Pharma (securPharm), Industrie, PCB
PDF417 ISO 15438 Binär, mehrreihig Reisepässe, Führerscheine, Verträge
Aztec ISO 24778 Binär, konzentrisch Bahn-Tickets, Boarding Passes
MaxiCode ISO 16023 Fest 93 Zeichen + Adresse UPS-Versandlabels
Codabar Ziffern + Sonderzeichen Bibliotheken, Blutbanken (Legacy)
Plessey Hex-Ziffern UK-Retail (Legacy)
MSI Ziffern Lager-/Bestandsmanagement

SVG-Beispiele

Die folgenden Abbildungen zeigen eine Auswahl gängiger Symbologien — gerendert als statische SVG-Darstellungen.

QR-Code für https://dozent.net

QR-Code mit Inhalt https://dozent.net
Abbildung 3: Scan-fähiger QR-Code – Inhalt https://dozent.net, generiert mit QRCoder (selbe Bibliothek wie GlueckBarQrCode).

Code 128 – universeller 1D-Barcode

Code 128 Barcode – Beispiel für alphanumerischen Inhalt GlueckBarcode – Code 128
Abbildung 4: Code 128 – kompakter alphanumerischer Barcode für Logistik und allgemeine Kennzeichnung.

EAN-13 – europäischer Handelsstandard

EAN-13 Barcode Beispiel – 13-stelliger europäischer Produktcode 4 012345 678905 4 GlueckBarcode – EAN-13
Abbildung 5: EAN-13 mit Klartext und Mittelguard – Pflichtstandard für den europäischen Einzelhandel (GTIN-13).

DataMatrix – kompakt für Industrie und Pharma

DataMatrix 2D-Barcode – kompaktes quadratisches Symbol für industrielle Kennzeichnung GlueckBarcode – DataMatrix (ECC 200)
Abbildung 6: DataMatrix (ECC 200) – kompaktes 2D-Symbol nach ISO 16022. Standard in Pharma (securPharm) und industrieller Bauteilkennzeichnung.

Warum GlueckBarQrCode statt kostenpflichtiger Alternativen?

Feature GlueckBarQrCode Typische kommerzielle CRI Web-Service
Preis 0 € 200–1500 € pro Server Abo ab 20 $/Monat
Barcode-Typen 17 + QR-Code 10–30 (je nach Produkt) variabel
Daten verlassen den Server Nein Nein Ja
SSRS-Ausdrücke Alle Properties Meist ja Nein
Logo im QR-Code Ja (Base64/URL/DB) Selten Oft
Power BI Report Server Ja Oft gegen Aufpreis Nein

Hinweis: Tabelle Stand Mai 2026. Preise und Features kommerzieller Anbieter ändern sich — vor dem Kauf beim jeweiligen Anbieter prüfen.


Datengetriebene Barcode-Generierung mit SSRS-Ausdrücken

Jede Eigenschaft des Controls unterstützt SSRS-Ausdrücke (=Ausdruck). Das bedeutet: pro Datenzeile entsteht ein eigener Barcode — ohne Code, ohne Skript.

Beispiele:

-- Inhalt aus Datenbankfeld
Data = =Fields!EAN.Value

-- Barcode-Typ abhängig von Kategorie
BarcodeType = =IIF(Fields!Kategorie.Value = "Pharma", "DataMatrix", "Code128")

-- Farbe aus RAL-Tabelle
DarkColor = =Fields!BrandColor.Value

-- Logo aus Datenbankfeld (Byte-Array)
LogoSource = Database
LogoData = =Fields!Logo.Value

Damit lassen sich ganze Produktkataloge, Etiketten-Reports und Zertifikate vollständig aus der Datenbank generieren.


Installation: Server und Client

Installation in fünf Schritten: Download, PowerShell, GAC, Config, VS-Restart 1 Download ZIP entpacken 2 PowerShell Als Admin 3 Install.ps1 GAC + Config 4 SSRS-Dienst Neu starten 5 Visual Studio Neu starten
Abbildung 7: Die fünf Installationsschritte im Überblick – Server und Client.

Voraussetzungen

  • Server: SQL Server Reporting Services 2017, 2019 oder 2022 (alternativ Power BI Report Server)
  • Design-Time (optional): Visual Studio 2019 oder 2022 mit der Extension „Microsoft Reporting Services Projects" (kostenlos im Visual Studio Marketplace)
  • PowerShell: Version 5.1 oder neuer, als Administrator ausgeführt
  • .NET Framework: 4.7.2 (für SSRS 2017/2019) oder 4.8 (für SSRS 2022 und Power BI Report Server) — ist auf einem Windows Server mit SSRS in der Regel bereits installiert

Schritt 1 — Release herunterladen und entpacken

Lade das aktuelle Release-ZIP von der Projektseite herunter und entpacke es in ein lokales Verzeichnis, z. B. C:\Install\GlueckBarQrCode\.

Schritt 2 — PowerShell als Administrator starten

Öffne eine PowerShell-Konsole mit erhöhten Rechten: Rechtsklick auf das PowerShell-Symbol → „Als Administrator ausführen".

Schritt 3 — Installationsskript ausführen (Server-Komponenten)

Set-Location "C:\Install\GlueckBarQrCode"
.\Install.ps1

Das Skript führt automatisch durch:

  1. GAC-Registrierung — alle drei Assemblies (GlueckQrCode.Shared.dll, GlueckQrCode.Runtime.dll, GlueckQrCode.Design.dll) werden im Global Assembly Cache registriert.
  2. rsreportserver.config patchen — die SSRS-Serverkonfiguration wird um den CRI-Eintrag erweitert, sodass SSRS die Extension beim Rendern lädt.
  3. RSReportDesigner.config patchen — die Visual-Studio/Report-Builder-Konfiguration wird um den Design-Time-Eintrag erweitert.

Das Skript erkennt automatisch, ob SSRS 2017/2019 (.NET 4.7.2) oder SSRS 2022 (.NET 4.8) installiert ist, und wählt die passende Assembly-Version.

Schritt 4 — SSRS-Dienst neu starten

Restart-Service "SQLServerReportingServices"

Alternativ: Windows-Dienste-Verwaltung öffnen, „SQL Server Reporting Services" auswählen, neu starten.

Schritt 5 — Visual Studio neu starten (Design-Time)

Starte Visual Studio neu. Im Toolbox-Fenster erscheinen anschließend die Einträge GlueckQrCode und GlueckBarcode unter dem Abschnitt „Reporting Items". Per Drag-and-Drop lassen sich die Controls in den Report-Designer ziehen.

Im Eigenschaften-Panel öffnet sich durch Doppelklick auf das Control eine Vorschau-Seite mit Live-Preview: Änderungen an Daten, Farben oder Fehlerkorrektur-Stufe werden sofort sichtbar.

Deinstallation

.\Uninstall.ps1

Das Skript entfernt alle GAC-Einträge und setzt die Konfigurationsdateien zurück.


QR-Code mit Logo konfigurieren

Control: GlueckQrCode
Data            = https://dozent.net
ErrorCorrection = H          (30 % Fehlertoleranz, empfohlen bei Logo)
PixelsPerModule = 10
QuietZone       = 4
LogoSource      = Embedded   (oder: External, Database)
LogoData        = <Base64-String des PNG>
LogoSizePercent = 20         (5–30 %, max. 30 bei ECL H)
LogoBorderRadius = 4
DarkColor       = #FF000000  (ARGB: opak schwarz)
LightColor      = #FFFFFFFF  (ARGB: opak weiß)

Bei LogoSource = Database wird das Logo aus einem Datenbankfeld gelesen:

LogoData = =Fields!LogoBinary.Value   (Byte-Array-Feld im DataSet)

Häufige Fragen (FAQ)

Welche SSRS-Versionen werden unterstützt?

GlueckBarQrCode unterstützt SQL Server Reporting Services 2017, 2019 und 2022 sowie den Power BI Report Server. Für SSRS 2017/2019 wird .NET Framework 4.7.2 verwendet, für SSRS 2022 und Power BI Report Server .NET Framework 4.8.

Funktioniert die Extension mit Report Builder?

Ja. Der eigenständige Microsoft Report Builder wird vollständig unterstützt. Nach der Installation erscheinen GlueckQrCode und GlueckBarcode in der Toolbox und können per Drag-and-Drop in Berichte eingefügt werden.

Welche Barcode-Typen werden unterstützt?

Es werden 17 Symbologien unterstützt: Code 39, Code 93, Code 128, EAN-8, EAN-13, UPC-A, UPC-E, Interleaved 2 of 5 (ITF), Codabar, GS1 DataBar RSS-14, GS1 DataBar RSS Expanded, Plessey, MSI, DataMatrix, PDF417, Aztec und MaxiCode. Zusätzlich gibt es den separaten QR-Code-Control mit Logo-Embedding.

Kann ich ein Logo in den QR-Code einbetten?

Ja. Das Logo kann als Base64-String eingebettet (max. 512 KB), per HTTPS-URL geladen oder direkt aus einem Datenbankfeld (Byte-Array) bezogen werden. Die maximale Logo-Fläche beträgt 30 % des QR-Codes. Bei Fehlerkorrektur H können bis zu 30 % der Codebereiche verdeckt werden — ideal für Logo-Overlays.

Wie werden Barcodes für jeden Datensatz individuell generiert?

Alle Eigenschaften des Controls unterstützen SSRS-Ausdrücke. Zum Beispiel setzt Data = =Fields!EAN.Value den Barcode-Inhalt auf den EAN-Wert jeder Zeile. Farben, Größe und Typ können ebenfalls per Ausdruck gesteuert werden.

Benötige ich Admin-Rechte für die Installation?

Ja, für die Server-seitige Installation sind Administrator-Rechte erforderlich, da Assemblies im Global Assembly Cache (GAC) registriert und Konfigurationsdateien im SSRS-Installationsverzeichnis bearbeitet werden.

Was passiert, wenn ein Barcode ungültige Daten enthält?

Ungültige Daten oder Render-Fehler führen nicht zum Absturz des Reports. Stattdessen wird ein rotes Platzhalter-PNG gerendert. Fehlerdetails werden in das SSRS-Protokollverzeichnis geschrieben.


Jetzt loslegen

Kein Abo, kein API-Key, keine Registrierung erforderlich.