Hvordan man genererer Micro, Compact og Macro PDF417 Barkoder .NET
Denne artikel dækker, hvordan man genererer Micro PDF417, Compact PDF 417, og Macro pdf417 barkoder i .NET-applikationer ved hjælp af Aspose.BarCode. Disse varianter tilbyder pladsbesparende, høj kapacitet og multi-segment funktioner ideelle til mærkning, dokumentation og dataoverførsel.
Det virkelige problem
Standard PDF417 barkoder kan være for store for visse produkter eller etiketter, og nogle gange skal oplysninger deles mellem flere barkoder eller kodes i et meget kompakt format for regulatoriske eller operationelle grunde.
Oversigt over løsning
Aspose.BarCode for .NET giver udviklere mulighed for at generere alle PDF417 varianter programmeret.
- Micro PDF417: For meget små etiketter med reduceret data og størrelse.
- Compact PDF417: Optimeret til størrelse uden kapacitetstab.
- Macro PDF417: Skiller store data over flere barkode symboler med fil/segment metadata.
Forudsætninger
Før du starter, 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 installeret via NuGet
- Grundlæggende viden om C#
PM> Install-Package Aspose.BarCode
Step-by-Step gennemførelse
Trin 1: Installation og import af Aspose.BarCode
using Aspose.BarCode.Generation;
Trin 2: Skab PDF417 Variant Generator
Mikroformater PDF417
BarcodeGenerator microGen = new BarcodeGenerator(EncodeTypes.MicroPdf417, "Micro data");
microGen.Parameters.Barcode.XDimension.Pixels = 4;
Udgivelse af PDF417:
BarcodeGenerator compactGen = new BarcodeGenerator(EncodeTypes.CompactPdf417, "Compact info");
compactGen.Parameters.Barcode.XDimension.Pixels = 4;
Macro af 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;
Trin 3: Tilpasning af rækker, kolonner og ECC
Tilpasses som nødvendigt:
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);
Trin 5: Fuld eksemplar (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);
}
}
Brug af tilfælde og applikationer
- Micro PDF417: Små produktmærker, kompakte emballage
- Compact PDF417: Dokument tagging, kompakte forsyningskæde barkoder
- Macro PDF417: Skille data til formularer, manifester eller regulatoriske multipartdokumenter
Fælles udfordringer og løsninger
Udfordring 1: Ikke tilstrækkelig kapacitet af data?**Løsningen er: Brug Macro PDF417 med segmenter til meget store datasæt.
*Challenge 2: Ulyst eller for lille udgang?*Løsningen er: Forøg moduler (pixel) størrelse, justere rader/kolumner for rum/data.
**Challenge 3: Multi-segment fil rekonstruktion?**Løsningen er: Brug unikke MacroFileID og matchende segment-ID’er/konton for korrekt genopsamling.
Performance overvejelser
- Vælg den rigtige PDF417-variant for din ansøgningsstørrelse/område
- Batch genererer Micro/Compact/Macro barkoder som nødvendigt
- Brug hukommelsestrømme til integration med digitale arbejdstrømme
Bedste praksis
- Test alle PDF417-udganger med fysiske scannere eller overensstemmelsesvalider
- Brug Macro til at splitte store filer/dokumenter
- Dokument segment ID’er til Macro PDF417 brug
- Eksport af PNG ved høj DPI for små eller detaljerede etiketter
Avancerede 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);
}
Konklusion
Aspose.BarCode for .NET gør det nemt at generere alle PDF417 varianter – Micro, Compact og Macro – til emballage, dokumentation, regulatoriske og digitale arbejdsprocesser. Aspose.BarCode API Reference for detaljerne.