Jak generować mikro, kompaktowe i makro PDF417 kody barowe .NET

Jak generować mikro, kompaktowe i makro PDF417 kody barowe .NET

W tym artykule opisane są sposoby generowania Micro PDF417, Compact PDF 417 i Macro pdf417 kodów rzęs w aplikacjach .NET za pomocą aplikacji Aspose.BarCode.Warianty te oferują oszczędność przestrzeni, wysoką pojemność i funkcje wielosegmentowe idealne do etykietowania, dokumentacji i transferu danych.

Problem świata rzeczywistego

Standardowe kody barowe PDF417 mogą być zbyt duże dla niektórych produktów lub etykiet, a czasami informacje muszą być podzielone na kilka kodów barowych lub kodowane w bardzo kompaktowym formacie z powodów regulacyjnych lub operacyjnych.

Przegląd rozwiązania

Aspose.BarCode dla .NET umożliwia programistom generowanie wszystkich wariantów PDF417 programicznie.

  • Micro PDF417: Dla bardzo małych etykiet z ograniczonymi danymi i rozmiarami.
  • Kompaktny PDF417: Optymalizowany do rozmiaru bez utraty pojemności.
  • Macro PDF417: Rozdziela duże dane na różne symbole kodu paska z metadanymi plikami/segmentami.

Warunki

Zanim zaczniesz, upewnij się, że masz:

  • Visual Studio 2019 lub później
  • .NET 6.0 lub nowszy (lub .Net Framework 4.6.2+)
  • Aspose.BarCode dla .NET zainstalowany za pośrednictwem NuGet
  • Podstawowe informacje o C#
PM> Install-Package Aspose.BarCode

Wdrażanie krok po kroku

Krok 1: Instalacja i import Aspose.BarCode

using Aspose.BarCode.Generation;

Krok 2: Tworzenie generatora PDF417

Mikroskop PDF417

BarcodeGenerator microGen = new BarcodeGenerator(EncodeTypes.MicroPdf417, "Micro data");
microGen.Parameters.Barcode.XDimension.Pixels = 4; 

Kompaktowy PDF417:

BarcodeGenerator compactGen = new BarcodeGenerator(EncodeTypes.CompactPdf417, "Compact info");
compactGen.Parameters.Barcode.XDimension.Pixels = 4; 

Macro PDF417:

BarcodeGenerator macroGen = new BarcodeGenerator(EncodeTypes.MacroPdf417, "Segmented large dataset");
macroGen.Parameters.Barcode.Pdf417.Pdf417MacroFileID = 123;
macroGen.Parameters.Barcode.Pdf417.Pdf417MacroSegmentID = 1;
macroGen.Parameters.Barcode.Pdf417.Pdf417MacroSegmentsCount = 3;
macroGen.Parameters.Barcode.XDimension.Pixels = 4; 

Krok 3: Dostosuj skrzydła, kolumny i ECC

Dostosuj zgodnie z potrzebą:

microGen.Parameters.Barcode.Pdf417.Pdf417Rows = 4;
microGen.Parameters.Barcode.Pdf417.Pdf417Columns = 2;
compactGen.Parameters.Barcode.Pdf417.Pdf417ErrorLevel = Pdf417ErrorLevel.Level2;
macroGen.Parameters.Barcode.Pdf417.Pdf417ErrorLevel = Pdf417ErrorLevel.Level4; ```

---

### Step 4: Save and Test the Barcode Output

```cs
microGen.Save("micro-pdf417.png", BarCodeImageFormat.Png);
compactGen.Save("compact-pdf417.png", BarCodeImageFormat.Png);
macroGen.Save("macro-pdf417-segment1.png", BarCodeImageFormat.Png);

Krok 5: Pełny przykład (Wszystkie wersje PDF417)

using Aspose.BarCode.Generation;
using System.Drawing;

class Program
{
    static void Main()
    {
        // Micro PDF417
        BarcodeGenerator microGen = new BarcodeGenerator(EncodeTypes.MicroPdf417, "Micro data");
        microGen.Parameters.Barcode.XDimension.Pixels = 4;
        microGen.Parameters.Barcode.Pdf417.Pdf417Rows = 4;
        microGen.Parameters.Barcode.Pdf417.Pdf417Columns = 2;
        microGen.Save("micro-pdf417.png", BarCodeImageFormat.Png);

        // Compact PDF417
        BarcodeGenerator compactGen = new BarcodeGenerator(EncodeTypes.CompactPdf417, "Compact info");
        compactGen.Parameters.Barcode.XDimension.Pixels = 4;
        compactGen.Parameters.Barcode.Pdf417.Pdf417ErrorLevel = Pdf417ErrorLevel.Level2;
        compactGen.Save("compact-pdf417.png", BarCodeImageFormat.Png);

        // Macro PDF417 (segment 1 of 3)
        BarcodeGenerator macroGen = new BarcodeGenerator(EncodeTypes.MacroPdf417, "Segmented large dataset");
        macroGen.Parameters.Barcode.Pdf417.Pdf417MacroFileID = 123;
        macroGen.Parameters.Barcode.Pdf417.Pdf417MacroSegmentID = 1;
        macroGen.Parameters.Barcode.Pdf417.Pdf417MacroSegmentsCount = 3;
        macroGen.Parameters.Barcode.XDimension.Pixels = 4;
        macroGen.Parameters.Barcode.Pdf417.Pdf417ErrorLevel = Pdf417ErrorLevel.Level4;
        macroGen.Save("macro-pdf417-segment1.png", BarCodeImageFormat.Png);
    }
}

Korzystanie z przypadków i aplikacji

  • Micro PDF417: Małe etykiety produktów, kompaktowe opakowania
  • Compact PDF417: Oznaczanie dokumentów, kompaktowe kody łańcucha dostaw
  • Macro PDF417: Podział danych dla formularzy, manifestu lub dokumentów regulacyjnych z wieloma częściami

Wspólne wyzwania i rozwiązania

Wyzwanie 1: Brak wystarczającej ilości danych?Rozwiązanie : Użyj Macro PDF417 z segmentami dla bardzo dużych zestawów danych.

Wyzwanie 2: Wydajność nie do czytania lub zbyt mała?Rozwiązanie : Zwiększ rozmiar modułu (pixel), dostosuj rzędy / kolumny dla przestrzeni / danych.

**Wyzwanie 3: Rekonstrukcja plików wielosegmentowych?**Rozwiązanie : Wykorzystaj unikalny MacroFileID i identyfikator segmentu / konto do odpowiedniego ponownego montażu.

uwzględnienie wydajności

  • Wybierz odpowiednią wersję PDF417 dla rozmiaru aplikacji / przestrzeni
  • Batch generuje kody mikro / kompaktowe / makro zgodnie z wymaganiami
  • Użyj strumieni pamięci do integracji z cyfrowym przepływem pracy

Najlepsze praktyki

  • Testowanie wszystkich wyników PDF417 za pomocą skanera fizycznego lub weryfikatorów zgodności
  • Użyj makro do rozdzielenia dużych plików/dokumentów
  • Identyfikator segmentu dokumentu dla Macro PDF417
  • Eksport PNG na wysokim DPI dla małych lub szczegółowych etykiet

Zaawansowane scenariusze

1.Batch generuje wszystkie wersje PDF417

foreach (var doc in documents)
{
    BarcodeGenerator g = new BarcodeGenerator(EncodeTypes.MacroPdf417, doc.SegmentData);
    g.Parameters.Barcode.Pdf417.Pdf417MacroFileID = doc.FileID;
    g.Parameters.Barcode.Pdf417.Pdf417MacroSegmentID = doc.SegmentID;
    g.Parameters.Barcode.Pdf417.Pdf417MacroSegmentsCount = doc.TotalSegments;
    g.Save($"macro_{doc.FileID}_segment{doc.SegmentID}.png", BarCodeImageFormat.Png);
}

konkluzja

Aspose.BarCode dla .NET ułatwia generowanie wszystkich wariantów PDF417 – mikro, kompaktowe i makro – do pakowania, dokumentacji, regulacji i cyfrowych przepływów pracy. Aspose.BarCode API Referencje Dla szczegółów .

 Polski