Hoe Micro, Compact en Macro PDF417 Barcodes te genereren .NET

Hoe Micro, Compact en Macro PDF417 Barcodes te genereren .NET

In dit artikel wordt beschreven hoe u micro PDF417, compact pdf417 en macro PDF 417 barcodes te genereren in .NET-toepassingen met behulp van Aspose.BarCode. Deze varianten bieden ruimtebesparende, hoge capaciteit en multi-segment functies ideaal voor etikettering, documentatie en gegevensoverdracht.

Real-wereld probleem

Standard PDF417 barcodes kunnen te groot zijn voor sommige producten of etiketten, en soms moet informatie worden verdeeld over meerdere barcode’s of gecodeerd in een zeer compact formaat voor regelgevende of operationele redenen.

Overzicht oplossingen

Aspose.BarCode voor .NET stelt ontwikkelaars in staat om alle PDF417 varianten programmatisch te genereren.

  • Micro PDF417: Voor zeer kleine etiketten met verminderde gegevens en grootte.
  • Compact PDF417: Geoptimaliseerd voor grootte zonder capaciteitsverlies.
  • Macro PDF417: Het verdeelt grote gegevens over meerdere barcode symbolen met bestand/segmentmetadata.

Voorwaarden

Voordat u begint, zorg ervoor dat u:

  • Visual Studio 2019 of later
  • .NET 6.0 of hoger (of .Net Framework 4.6.2+)
  • Aspose.BarCode voor .NET geïnstalleerd via NuGet
  • Basiskennis van C#
PM> Install-Package Aspose.BarCode

Stap voor stap implementatie

Stap 1: Installeren en importeren Aspose.BarCode

using Aspose.BarCode.Generation;

Stap 2: Maak de PDF417 Variant Generator

Micro PDF417

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

Compact voor PDF417:

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

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

Stap 3: aanpassen van rijen, kolommen en ECC

Customiseren als nodig:

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

Stap 5: Complete Example (alle PDF417 varianten)

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

Gebruik Cases en Applicaties

  • Micro PDF417: Kleine productlabel, compacte verpakking
  • Compact PDF417: Document tagging, compact supply chain barcodes
  • Macro PDF417: Verdeling van gegevens voor formulieren, manifesten of regelgevende multi-part documenten

Gemeenschappelijke uitdagingen en oplossingen

Challenge 1: Geen voldoende gegevenscapaciteit?De oplossing: Gebruik Macro PDF417 met segmenten voor zeer grote data sets.

Challenge 2: Output onleesbaar of te klein?De oplossing: Verhoog de module (pixel) grootte, aanpassen rijen / kolommen voor ruimte / gegevens.

**Challenge 3: Multi-segment bestand reconstructie?**De oplossing: Gebruik een unieke MacroFileID en matching segment-ID’s/account voor de juiste reassembly.

Performance overwegingen

  • Kies de juiste PDF417 variant voor uw applicatiegrootte/ruimte
  • Batch genereert Micro/Compact/Macro barcodes als nodig
  • Gebruik geheugenstromen voor integratie met digitale workflows

Beste praktijken

  • Test alle PDF417-uitgang met fysieke scanners of compliance validatoren
  • Macro gebruiken om grote bestanden/documenten te splitsen
  • Document segment ID’s voor Macro PDF417 gebruik
  • Export PNG bij hoge DPI voor kleine of gedetailleerde etiketten

Geavanceerde scenario’s

1.Batch Generate Alle PDF417 Varianten

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

Conclusie

Aspose.BarCode voor .NET maakt het gemakkelijk om alle PDF417 varianten te genereren - Micro, Compact en Macro - voor verpakking, documentatie, regelgeving en digitale werkstromen. Aspose.BarCode API Referentie voor details.

 Nederlands