Jak generować mikro, kompaktowe i makro PDF417 kody barowe .NET
W tym artykule opisane są sposoby generowania Micro PDF417, Compact PDF 417 i Macro pdf417 kodów rzęs w aplikacjach .NET za pomocą aplikacji Aspose.BarCode.Warianty te oferują oszczędność przestrzeni, wysoką pojemność i funkcje wielosegmentowe idealne do etykietowania, dokumentacji i transferu danych.
Problem świata rzeczywistego
Standardowe kody barowe PDF417 mogą być zbyt duże dla niektórych produktów lub etykiet, a czasami informacje muszą być podzielone na kilka kodów barowych lub kodowane w bardzo kompaktowym formacie z powodów regulacyjnych lub operacyjnych.
Przegląd rozwiązania
Aspose.BarCode dla .NET umożliwia programistom generowanie wszystkich wariantów PDF417 programicznie.
- Micro PDF417: Dla bardzo małych etykiet z ograniczonymi danymi i rozmiarami.
- Kompaktny PDF417: Optymalizowany do rozmiaru bez utraty pojemności.
- Macro PDF417: Rozdziela duże dane na różne symbole kodu paska z metadanymi plikami/segmentami.
Warunki
Zanim zaczniesz, upewnij się, że masz:
- Visual Studio 2019 lub później
- .NET 6.0 lub nowszy (lub .Net Framework 4.6.2+)
- Aspose.BarCode dla .NET zainstalowany za pośrednictwem NuGet
- Podstawowe informacje o C#
PM> Install-Package Aspose.BarCode
Wdrażanie krok po kroku
Krok 1: Instalacja i import Aspose.BarCode
using Aspose.BarCode.Generation;
Krok 2: Tworzenie generatora PDF417
Mikroskop PDF417
BarcodeGenerator microGen = new BarcodeGenerator(EncodeTypes.MicroPdf417, "Micro data");
microGen.Parameters.Barcode.XDimension.Pixels = 4;
Kompaktowy PDF417:
BarcodeGenerator compactGen = new BarcodeGenerator(EncodeTypes.CompactPdf417, "Compact info");
compactGen.Parameters.Barcode.XDimension.Pixels = 4;
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;
Krok 3: Dostosuj skrzydła, kolumny i ECC
Dostosuj zgodnie z potrzebą:
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: Pełny przykład (Wszystkie wersje PDF417)
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);
}
}
Korzystanie z przypadków i aplikacji
- Micro PDF417: Małe etykiety produktów, kompaktowe opakowania
- Compact PDF417: Oznaczanie dokumentów, kompaktowe kody łańcucha dostaw
- Macro PDF417: Podział danych dla formularzy, manifestu lub dokumentów regulacyjnych z wieloma częściami
Wspólne wyzwania i rozwiązania
Wyzwanie 1: Brak wystarczającej ilości danych?Rozwiązanie : Użyj Macro PDF417 z segmentami dla bardzo dużych zestawów danych.
Wyzwanie 2: Wydajność nie do czytania lub zbyt mała?Rozwiązanie : Zwiększ rozmiar modułu (pixel), dostosuj rzędy / kolumny dla przestrzeni / danych.
**Wyzwanie 3: Rekonstrukcja plików wielosegmentowych?**Rozwiązanie : Wykorzystaj unikalny MacroFileID i identyfikator segmentu / konto do odpowiedniego ponownego montażu.
uwzględnienie wydajności
- Wybierz odpowiednią wersję PDF417 dla rozmiaru aplikacji / przestrzeni
- Batch generuje kody mikro / kompaktowe / makro zgodnie z wymaganiami
- Użyj strumieni pamięci do integracji z cyfrowym przepływem pracy
Najlepsze praktyki
- Testowanie wszystkich wyników PDF417 za pomocą skanera fizycznego lub weryfikatorów zgodności
- Użyj makro do rozdzielenia dużych plików/dokumentów
- Identyfikator segmentu dokumentu dla Macro PDF417
- Eksport PNG na wysokim DPI dla małych lub szczegółowych etykiet
Zaawansowane scenariusze
1.Batch generuje wszystkie wersje PDF417
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);
}
konkluzja
Aspose.BarCode dla .NET ułatwia generowanie wszystkich wariantów PDF417 – mikro, kompaktowe i makro – do pakowania, dokumentacji, regulacji i cyfrowych przepływów pracy. Aspose.BarCode API Referencje Dla szczegółów .