Jak generovat Micro, Compact a Macro PDF417 Barcode .NET
Tento článek se zabývá způsobem, jak vytvářet Micro PDF417, Compact PDF317 a Macro pdf417 čárové kódy v aplikacích .NET pomocí Aspose.BarCode. Tyto varianty nabízejí šetrné místo, vysokou kapacitu a multi-segment funkce ideální pro označování, dokumentaci a přenos dat.
Reálný světový problém
Standardní čárové kódy PDF417 mohou být pro některé produkty nebo etikety příliš velké, a někdy je třeba, aby informace byly rozděleny na více čárních kódů nebo šifrovány ve velmi kompaktním formátu z regulačních nebo provozních důvodů.
Řešení přehled
Aspose.BarCode pro .NET umožňuje vývojářům vytvářet všechny varianty PDF417 programově.
- Micro PDF417: Pro velmi malé štítky s omezenými daty a velikostí.
- Kompaktní PDF417: Optimalizován pro velikost bez ztráty kapacity.
- Macro PDF417: Rozděluje velké údaje přes několik symbolů čárového kódu s metadata souboru/segmentu.
Předpoklady
Než začnete, ujistěte se, že máte:
- Visual Studio 2019 nebo novější
- .NET 6.0 nebo novější (nebo .Net Framework 4.6.2+)
- Aspose.BarCode pro .NET instalován prostřednictvím NuGet
- Základní znalosti C#
PM> Install-Package Aspose.BarCode
krok za krokem implementace
Krok 1: Instalace a import Aspose.BarCode
using Aspose.BarCode.Generation;
Krok 2: Vytvoření PDF417 Variant Generator
Mikroskopy PDF417
BarcodeGenerator microGen = new BarcodeGenerator(EncodeTypes.MicroPdf417, "Micro data");
microGen.Parameters.Barcode.XDimension.Pixels = 4;
Soubor PDF417:
BarcodeGenerator compactGen = new BarcodeGenerator(EncodeTypes.CompactPdf417, "Compact info");
compactGen.Parameters.Barcode.XDimension.Pixels = 4;
Macro PDF417 je k dispozici:
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;
Krok 3: Přizpůsobte stropy, sloupce a ECC
Přizpůsobte se podle potřeby:
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);
Krok 5: Kompletní příklad (Všechny PDF417 varianty)
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);
}
}
Použití případů a aplikací
- Micro PDF417: Malé produktové štítky, kompaktní balení
- Kompaktní PDF417: Dokumentové označení, kompaktní dodavatelský řetězec kódů
- Macro PDF417: Rozdělte údaje pro formuláře, manifesty nebo regulační dokumenty s více částmi
Společné výzvy a řešení
Výzva 1: Nedostatečná kapacita dat?Řešení : Použijte Macro PDF417 s segmenty pro velmi velké datové sady.
**Výzva 2: Výstup nečitelný nebo příliš malý?**Řešení : Zvýšte velikost modulů (pixelů), upravte řádky / sloupce pro prostor / data.
**Výzva 3: Rekonstrukce souborů v mnoha segmentech?**Řešení : Použijte unikátní MacroFileID a odpovídající segmentové ID/účty pro správnou montáž.
Úvahy o výkonu
- Vyberte si správnou verzi PDF417 pro velikost aplikace / prostor
- Batch generuje mikro/kompaktní/makro čárové kódy podle potřeby
- Použití paměťových toků pro integraci s digitálními pracovními toky
Nejlepší postupy
- Testování všech výsledků PDF417 s fyzikálními skenery nebo validátory shody
- Použití makra pro rozdělení velkých souborů/dokumentů
- ID segmentu dokumentu pro použití Macro PDF417
- Vývoz PNG při vysokém DPI pro malé nebo podrobné štítky
Pokročilé scénáře
Batch generuje všechny PDF417 varianty
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);
}
závěr
Aspose.BarCode pro .NET umožňuje snadné generování všech variant PDF417 – Micro, Compact a Macro – pro balení, dokumentaci, regulační a digitální pracovní toky. Aspose.BarCode API Reference Pro detaily .