Kako generirati Micro, Compact i Macro PDF417 Barkode .NET

Kako generirati Micro, Compact i Macro PDF417 Barkode .NET

Ovaj članak obuhvaća kako generirati Micro PDF417, Compact PDF317 i Macro pdf417 barkode u .NET aplikacijama pomoću Aspose.BarCode. Ove varijante nude spašavanje prostora, visoke kapacitete i multi-segment funkcije savršene za označavanje, dokumentaciju i prijenos podataka.

Real-svjetski problem

Standardni PDF417 barkodi mogu biti preveliki za neke proizvode ili oznake, a ponekad informacije moraju biti podijeljene na više barkodova ili kodirane u vrlo kompaktnom formatu iz regulatornih ili operativnih razloga.

Pregled rješenja

Aspose.BarCode za .NET omogućuje razvijalcima da programski generiraju sve PDF417 varijante.

  • Micro PDF417: Za vrlo male oznake s smanjenim podacima i veličinama.
  • Kompaktni PDF417: Optimiziran za veličinu bez gubitka kapaciteta.
  • Macro PDF417: Razdvaja velike podatke na više simbola čvornog koda s metapodatima datoteke/segmenta.

Preduzeća

Prije nego što počnete, pobrinite se da imate:

  • Visual Studio 2019 ili kasnije
  • .NET 6.0 ili noviji (ili .Net Framework 4.6.2+)
  • Aspose.BarCode za .NET instaliran preko NuGeta
  • Osnovna znanja o C#
PM> Install-Package Aspose.BarCode

Korak po korak provedba

Korak 1: Instaliranje i uvoz Aspose.BarCode

using Aspose.BarCode.Generation;

Korak 2: Kreirajte PDF417 Variant Generator

Sljedeći članakMicro PDF417

BarcodeGenerator microGen = new BarcodeGenerator(EncodeTypes.MicroPdf417, "Micro data");
microGen.Parameters.Barcode.XDimension.Pixels = 4; 

Kompaktni PDF417:

BarcodeGenerator compactGen = new BarcodeGenerator(EncodeTypes.CompactPdf417, "Compact info");
compactGen.Parameters.Barcode.XDimension.Pixels = 4; 

Sljedeći članakMacro 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; 

Korak 3: Prilagodite trake, stolpce i ECC

Korištenje prema potrebi:

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);

Korak 5: Popuniti primjer (Sve PDF417 varijante)

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);
    }
}

Korištenje slučajeva i aplikacija

  • Micro PDF417: Malo oznake proizvoda, kompaktna ambalaža
  • Kompaktni PDF417: Oznaka dokumenta, kompaktni kodovi lanca opskrbe
  • Macro PDF417: Razdvajanje podataka za obrasce, manifeste ili regulatorni višestruki dokumenti

Zajednički izazovi i rješenja

**Izazov 1: Nije li dovoljno kapaciteta podataka?**Rješenje : Koristite Macro PDF417 s segmentima za vrlo velike zbirke podataka.

Izazov 2: Nečitan ili previše mali?Rješenje : Povećajte veličinu modula (pixel), prilagodite redove / stolpce za prostor / podatke.

**Izazov 3: Multi-segment obnova datoteke?**Rješenje : Koristite jedinstvenu MacroFileID i odgovarajuće ID segmenta/računa za ispravnu ponovnu montažu.

Razmatranje učinkovitosti

  • Odaberite pravu PDF417 varijantu za veličinu/prostor aplikacije
  • Batch generira mikro/kompaktne/makro kodove po potrebi
  • Koristite memorijske struje za integraciju s digitalnim radnim tokovima

Najbolje prakse

  • Provjerite sve PDF417 izlaze s fizičkim skenerima ili validatorima sukladnosti
  • Koristite Macro za razdvajanje velikih datoteka/dokumenata
  • ID segmenta dokumenata za Macro PDF417 korištenje
  • Izvoz PNG na visokom DPI za male ili detaljne oznake

Napredni scenariji

Batch generira sve PDF417 varijante

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);
}

zaključak

Aspose.BarCode za .NET olakšava generiranje svih PDF417 varijanti – Micro, Compact i Macro – za pakiranje, dokumentaciju, regulatorne i digitalne radne tokove. Aspose.BarCode API referenca Za detalje.

 Hrvatski