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.