Come generare Micro, Compact e Macro PDF417 Barcodi .NET
Questo articolo copre come generare i codici a barre Micro PDF417, Compact PDF317 e Macro PDF517 in applicazioni .NET utilizzando Aspose.BarCode.Queste varianti offrono funzionalità di risparmio di spazio, alta capacità e multi-segmenti ideali per l’etichettatura, la documentazione e il trasferimento dei dati.
Il problema del mondo reale
I codici a barre PDF417 standard possono essere troppo grandi per alcuni prodotti o etichette, e talvolta le informazioni devono essere suddivise in diversi codice a barra o codificate in un formato altamente compatto per motivi regolamentari o operativi.
Soluzione Overview
Aspose.BarCode per .NET consente agli sviluppatori di generare tutte le varianti PDF417 in modo programmatico.
- Micro PDF417: Per etichette molto piccole con dati e dimensioni ridotte.
- Compact PDF417: Ottimizzato per dimensioni senza perdita di capacità.
- Macro PDF417: Divide i grandi dati in diversi simboli di codice bar con i metadati di file/segmento.
Prerequisiti
Prima di iniziare, assicurati di avere:
- Visual Studio 2019 o successivo
- .NET 6.0 o successivo (o .Net Framework 4.6.2+)
- Aspose.BarCode per .NET installato tramite NuGet
- Conoscenza di base di C#
PM> Install-Package Aspose.BarCode
Implementazione passo dopo passo
Passo 1: Installare e importare Aspose.BarCode
using Aspose.BarCode.Generation;
Passo 2: Creare il PDF417 Variant Generator
Il microfono PDF417
BarcodeGenerator microGen = new BarcodeGenerator(EncodeTypes.MicroPdf417, "Micro data");
microGen.Parameters.Barcode.XDimension.Pixels = 4;
Compatibile PDF417:
BarcodeGenerator compactGen = new BarcodeGenerator(EncodeTypes.CompactPdf417, "Compact info");
compactGen.Parameters.Barcode.XDimension.Pixels = 4;
Il nuovo 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;
Passo 3: Adattare le corde, le colonne e l’ECC
Personalizzare come necessario:
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);
Passo 5: Esempio completo (Tutte le varianti 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);
}
}
Utilizzare casi e applicazioni
- Micro PDF417: Piccole etichette di prodotto, imballaggio compatto
- Compact PDF417: Etichettatura del documento, codice bar della catena di fornitura compatto
- Macro PDF417: Condividi i dati per form, manifesti o documenti regolamentari multi-parte
Sfide e soluzioni comuni
**Divisione 1: Non c’è abbastanza capacità di dati?**La soluzione: Utilizzare Macro PDF417 con segmenti per set di dati molto grandi.
Divisione 2: la scadenza non leggibile o troppo piccola?La soluzione: Aumentare la dimensione del modulo (pixel), adattare le righe/colonne per lo spazio/data.
**Dio 3: ricostruzione di file multi-segmento?**La soluzione: Utilizzare MacroFileID unico e i segmenti id/conto corrispondenti per la corretta riassemblaggio.
Considerazioni di prestazioni
- Scegli la versione PDF417 giusta per la dimensione/spazio dell’applicazione
- Batch genera i codici a barre Micro/Compact/Macro come necessario
- Utilizzare i flussi di memoria per l’integrazione con i fluvi di lavoro digitali
Migliori pratiche
- Testare tutti i risultati PDF417 con scanner fisici o validatori di conformità
- Utilizzare Macro per dividere file/documenti
- ID del segmento del documento per Macro PDF417 utilizzo
- Esportazione di PNG ad alto DPI per etichette piccole o dettagliate
Scenari avanzati
Batch Generare tutte le varianti 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);
}
conclusione
Aspose.BarCode per .NET consente di generare facilmente tutte le varianti PDF417 – Micro, Compact e Macro – per l’imballaggio, la documentazione, i flussi di lavoro regolamentari e digitali. Aspose.BarCode API di riferimento per i dettagli.