Hur man genererar Micro, Compact och Macro PDF417 Barkoder .NET

Hur man genererar Micro, Compact och Macro PDF417 Barkoder .NET

I den här artikeln beskrivs hur man genererar Micro PDF417, Compact PDF317 och Macro PDF517 barkoder i .NET-applikationer med hjälp av Aspose.BarCode. Dessa varianter erbjuder rymdbesparande, högkapacitet och multi-segment funktioner som är idealiska för märkning, dokumentation och dataöverföring.

Realvärldsproblem

Standard PDF417-barkoder kan vara för stora för vissa produkter eller etiketter, och ibland behöver informationen delas mellan flera barkoder eller kodas i ett mycket kompakt format för reglerings- eller operativa skäl.

Översikt över lösningen

Aspose.BarCode för .NET tillåter utvecklare att generera alla PDF417-versioner programmatiskt.

  • Micro PDF417: För mycket små etiketter med minskade data och storlek.
  • Compact PDF417: Optimerad för storlek utan kapacitetsförlust.
  • Macro PDF417: Delar stora data över flera barkodsymboler med fil/segmentmetadata.

förutsättningar

Innan du börjar, se till att du har:

  • Visual Studio 2019 eller senare
  • .NET 6.0 eller senare (eller .Net Framework 4.6.2+)
  • Aspose.BarCode för .NET installerat via NuGet
  • Grundläggande kunskap om C#
PM> Install-Package Aspose.BarCode

Steg för steg genomförande

Steg 1: Installera och importera Aspose.BarCode

using Aspose.BarCode.Generation;

Steg 2: Skapa PDF417 Variant Generator

Mikrofon PDF417

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

Kompakta PDF417:

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

För 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; 

Steg 3: Anpassa strängar, kolumner och ECC

Anpassa efter behov:

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 Exempel (All PDF417 Variant)

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

Använd fall och applikationer

  • Micro PDF417: Små produktetiketter, kompakt förpackning
  • Compact PDF417: Dokumenttaggning, kompakta leveranskedjor barkoder
  • Macro PDF417: Uppdelar data för formulär, manifest eller regulatoriska dokument med flera delar

Gemensamma utmaningar och lösningar

Utmaning 1: Inte tillräckligt med datakapacitet?Lösningen är: Använd Macro PDF417 med segment för mycket stora dataset.

Challenge 2: Utgången okänd eller för liten?Lösningen är: Öka modulstorleken (pixel), justera rader/kolumner för utrymme/data.

**Challenge 3: Multi-segment filkonstruktion?**Lösningen är: Använd unika MacroFileID och matchande segment-ID/konton för korrekt återuppbyggnad.

Prestanda överväganden

  • Välj rätt PDF417 variant för din ansökan storlek/utrymme
  • Batch genererar Micro/Compact/Macro barkoder som behövs
  • Använd minneströmmar för integration med digitala arbetsflöden

Bästa praxis

  • Testa alla PDF417-produkter med fysiska skannrar eller överensstämmelse validatorer
  • Använd Macro för att dela stora filer/dokument
  • Dokument segment ID för Macro PDF417 användning
  • Export PNG vid hög DPI för små eller detaljerade etiketter

Avancerade scenarier

1.Batch Generera Alla 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);
}

slutsatser

Aspose.BarCode för .NET gör det enkelt att generera alla PDF417-versioner – Micro, Compact och Macro – för förpackning, dokumentation, reglering och digitala arbetsflöden. Aspose.BarCode API Referens för detaljer.

 Svenska