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.