Hvordan generere Micro, Compact, og Macro PDF417 Barkoder .NET

Hvordan generere Micro, Compact, og Macro PDF417 Barkoder .NET

Denne artikkelen dekker hvordan du genererer Micro PDF417, Compact PDF317 og Macro pdf417 barkoder i .NET-applikasjoner ved hjelp av Aspose.BarCode. Disse variantene tilbyr plassbesparende, høy kapasitet og multi-segment funksjoner ideelle for etikett, dokumentasjon og dataoverføring.

Real-verdens problem

Standard PDF417 barkoder kan være for store for noen produkter eller etiketter, og noen ganger trenger informasjon å bli splittet mellom flere barkoder eller kodet i et svært kompakt format for regulatoriske eller operasjonelle grunner.

Oversikt over løsning

Aspose.BarCode for .NET lar utviklere generere alle PDF417 varianter programmatisk.

  • Micro PDF417: For svært små etiketter med reduserte data og størrelse.
  • Compact PDF417: Optimalisert for størrelse uten tap av kapasitet.
  • Macro PDF417: Skiller store data over flere barkode symboler med fil/segment metadata.

Prerequisites

Før du begynner, sørg for at du har:

  • Visual Studio 2019 eller senere
  • .NET 6.0 eller nyere (eller .Net Framework 4.6.2+)
  • Aspose.BarCode for .NET installert via NuGet
  • grunnleggende kunnskap om C#
PM> Install-Package Aspose.BarCode

Step-by-step implementering

Steg 1: Installere og importere Aspose.BarCode

using Aspose.BarCode.Generation;

Steg 2: Skap PDF417 Variant Generator

Mikronutstyr PDF417

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

Kompakte 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; 

Trinn 3: Tilpasse ruter, kolonner og ECC

Tilpasses som nødvendig:

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

Steg 5: Komplett eksempel (Alle PDF417 varianter)

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);
    }
}

Bruker tilfeller og applikasjoner

  • Micro PDF417: Små produktetiketter, kompakt emballasje
  • Compact PDF417: Dokument tagging, kompakte forsyningskjeden barkoder
  • Macro PDF417: Skille data for skjemaer, manifester eller regulatoriske dokumenter med flere deler

Vanlige utfordringer og løsninger

Utfordring 1: Ikke nok datakapasitet?**Løsningen er: Bruk Macro PDF417 med segmenter for svært store datasett.

Utfordring 2: Ulesbar eller for liten utgang?Løsningen er: Øke modulen (pixel) størrelse, justere rader / kolonner for plass / data.

**Challenge 3: Multi-segment filrekonstruksjon?**Løsningen er: Bruk unike MacroFileID og matching segment ID/konto for riktig reassembling.

Performance vurderinger

  • Velg den riktige PDF417-varianten for applikasjonsstørrelse/område
  • Batch genererer Micro/Compact/Macro barkoder som nødvendig
  • Bruk hukommelsesstrømmer for integrasjon med digitale arbeidsflyter

Beste praksis

  • Test alle PDF417 utganger med fysiske skannere eller overensstemmelsesvalider
  • Bruk Macro for å splitte store filer/dokumenter
  • Dokument segment IDs for Macro PDF417 bruk
  • Eksport av PNG ved høy DPI for små eller detaljerte etiketter

Avanserte scenarier

1.Batch Generere alle PDF417 varianter

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);
}

Conclusion

Aspose.BarCode for .NET gjør det enkelt å generere alle PDF417-variantene – Micro, Compact og Macro – for emballasje, dokumentasjon, regulatoriske og digitale arbeidsflyter. Aspose.BarCode API Referanse For detaljer .

 Norsk