Barcode-Generierung unter Linux mit einer .NET-Anwendung

Blog-Kategorie: Barcode.NETLinux

22.12.2023

Dieser Artikel erklärt, wie man eine .NET-Konsolenanwendung erstellt und Barcodes unter Ubuntu generiert. Zur Barcode-Generierung wird das VintaSoft Barcode .NET SDK verwendet.

Die folgenden Schritte sind erforderlich:
  1. Öffnen Sie den Ubuntu-Desktop.

  2. Erstellen Sie einen Ordner, in dem die Dateien der .NET-Anwendung gespeichert werden. Erstellen Sie den Ordner "Generate_Barcode" auf dem Desktop des aktuellen Benutzers und wechseln Sie in diesen Ordner.


  3. Öffnen Sie das Terminal. Dies kann über den Menüpunkt "Im Terminal öffnen" im Kontextmenü oder durch Drücken der Tastenkombination Strg+Alt+T erfolgen.


  4. Führen Sie den Befehl im Terminal aus, der ein neues Konsolenprojekt für eine .NET-Anwendung erstellt:
    dotnet new console --framework net8.0
    



    Das erstellte Projekt enthält die Projektdatei "Generate_Barcode.csproj" und die Datei "Program.cs", die den C#-Code der Anwendung enthält. Schließen Sie das Terminal.

  5. Öffnen Sie die Projektdatei "Generate_Barcode.csproj" in einem Texteditor und ändern Sie den Dateitext wie folgt:
    <Project Sdk="Microsoft.NET.Sdk">
    
      <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFramework>net8.0</TargetFramework>
        <RootNamespace>ConsoleApp1</RootNamespace>
        <ImplicitUsings>enable</ImplicitUsings>
        <Nullable>enable</Nullable>
      </PropertyGroup>
    
      <ItemGroup>
        <PackageReference Include="SkiaSharp" Version="2.88.6" />
        <PackageReference Include="SkiaSharp.NativeAssets.Linux" Version="2.88.6" />
        <PackageReference Include="Vintasoft.Barcode" Version="14.2.0.3" />
        <PackageReference Include="Vintasoft.Barcode.SkiaSharp" Version="14.2.0.3" />
        <PackageReference Include="Vintasoft.Shared" Version="4.1.0.3" />
      </ItemGroup>
    
    </Project>
    



    Das geänderte Projekt referenziert die NuGet-Pakete für das VintaSoft Barcode .NET SDK (Vintasoft.Shared.dll, Vintasoft.Barcode.dll, Vintasoft.Barcode.SkiaSharp.dll).

  6. Öffnen Sie die Datei "Program.cs" und ändern Sie deren Code in folgenden C#-Code:
    namespace Generate_Barcode
    {
        class Program
        {
            static void Main(string[] args)
            {
                // register the evaluation license for VintaSoft Barcode .NET SDK
                Vintasoft.Barcode.BarcodeGlobalSettings.Register("%EVAL_LIC_USER_NAME%", "%EVAL_LIC_USER_EMAIL%", "%EVAL_LIC_DATE%", "%EVAL_LIC_REG_CODE%");
    
                // Vintasoft.Barcode.SkiaSharp.dll allows to load bitmap from BMP, DNG, GIF, HEIF, JPEG, PNG, WEBP files using image codecs from SkiaSharp library
                Vintasoft.Barcode.SkiaSharpAssembly.Init();
    
                // generate Code128 barcode as a raster image and save to a PNG file
                GenerateBarcodeAsRasterImage(Vintasoft.Barcode.BarcodeType.Code128, "VintaSoft Barcode .NET SDK", "rasterBarcodeImage.png");
    
                // generate QR barcode as vector image and save to a SVG file
                GenerateBarcodeAsVectorImage(Vintasoft.Barcode.BarcodeType.QR, "VintaSoft Barcode .NET SDK", "vectorBarcode.svg");
            }
    
            /// <summary>
            /// Generates barcode as raster image and saves to an image file.
            /// </summary>
            /// <param name="barcodeType">Barcode type.</param>
            /// <param name="barcodeValue">Barcode value.</param>
            /// <param name="pngFilename">The filename, where barcode image must be saved.</param>
            public static void GenerateBarcodeAsRasterImage(Vintasoft.Barcode.BarcodeType barcodeType, string barcodeValue, string pngFilename)
            {
                // create the barcode writer
                using (Vintasoft.Barcode.BarcodeWriter barcodeWriter = new Vintasoft.Barcode.BarcodeWriter())
                {
                    // set barcode writer settings
                    barcodeWriter.Settings.Barcode = barcodeType;
                    barcodeWriter.Settings.Value = barcodeValue;
    
                    // generate barcode as raster image and save to a PNG file
                    barcodeWriter.SaveBarcodeAsImage(pngFilename);
                }
            }
    
            /// <summary>
            /// Generates barcode in vector form and saves to a SVG file.
            /// </summary>
            /// <param name="barcodeType">Barcode type.</param>
            /// <param name="barcodeValue">Barcode value.</param>
            /// <param name="svgFilename">The filename, where SVG file must be saved.</param>
            public static void GenerateBarcodeAsVectorImage(Vintasoft.Barcode.BarcodeType barcodeType, string barcodeValue, string svgFilename)
            {
                // create the barcode writer
                using (Vintasoft.Barcode.BarcodeWriter barcodeWriter = new Vintasoft.Barcode.BarcodeWriter())
                {
                    // set barcode writer settings
                    barcodeWriter.Settings.Barcode = barcodeType;
                    barcodeWriter.Settings.Value = barcodeValue;
    
                    // generate SVG file
                    string svgFile = barcodeWriter.GetBarcodeAsSvgFile();
    
                    // save SVG file
                    System.IO.File.WriteAllText(svgFilename, svgFile);
                }
            }
    
        }
    }
    



    Der Anwendungscode generiert einen Code128-Barcode als Rasterbild und einen QR-Barcode als Vektorgrafik. Die generierten Barcodes werden in Dateien gespeichert.

  7. Holen Sie sich den Code für die Verwendung der Evaluierungsversion unter Linux gemäß der Beschreibung in der Dokumentation und fügen Sie den erhaltenen Code in den C#-Code der Datei "Program.cs" ein.


  8. Öffnen Sie das Terminal und kompilieren Sie das .NET-Projekt mit folgendem Befehl:
    dotnet build Generate_Barcode.csproj
    



    Schließen Sie das Terminal.

  9. Wechseln Sie zum Ordner "bin/Debug/net8.0/".


  10. Öffnen Sie das Terminal und führen Sie die .NET-Anwendung mit folgendem Befehl aus:
    dotnet ./Generate_Barcode.dll
    



    Schließen Sie das Terminal und betrachten Sie die generierte PNG- und SVG-Datei.