Kaip sukurti „Micro“, „Compact“ ir „Macro“ PDF417 juostų kodus .NET

Kaip sukurti „Micro“, „Compact“ ir „Macro“ PDF417 juostų kodus .NET

Šiame straipsnyje apžvelgiama, kaip generuoti „Micro PDF417“, „Compact“ ir „Macro“ PDF 417 juostų kodus .NET programose naudojant „Aspose.BarCode“. Šie variantai siūlo erdvės taupymą, didelį pajėgumą ir daugiašalis funkcijas, kurios idealiai tinka etiketavimui, dokumentacijai ir duomenų perdavimui.

Realaus pasaulio problemos

Standartiniai PDF417 juostos kodai gali būti per dideli tam tikriems produktams ar etiketėms, o kartais informacija turi būti suskirstyta tarp kelių juostų kodų arba koduojama labai kompaktišku formatu dėl reguliavimo ar veiklos priežasčių.

Sprendimo apžvalga

Aspose.BarCode .NET leidžia kūrėjams sukurti visus PDF417 variantus programomis.

  • Micro PDF417: Labai mažoms etiketėms su sumažėjusiais duomenimis ir dydžiu.
  • ** Kompaktiškas PDF417:** Optimizuotas dydžiui be pajėgumo praradimo.
  • Macro PDF417: Skirstomi dideli duomenys per kelias juostų kodo simbolius su failo / segmento metadatais.

Prerequisites

Prieš pradėdami, įsitikinkite, kad turite:

  • „Visual Studio 2019“ arba vėliau
  • .NET 6.0 arba naujesnė (arba .Net Framework 4.6.2+)
  • Aspose.BarCode .NET įdiegtas per NuGet
  • Pagrindinės žinios apie C#
PM> Install-Package Aspose.BarCode

Žingsnis po žingsnio įgyvendinimas

1 žingsnis: Įdiegti ir importuoti Aspose.BarCode

using Aspose.BarCode.Generation;

2 žingsnis: sukurkite PDF417 variantų generatorių

Žymės PDF417

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

Kompaktiškas 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; 

3 žingsnis: koreguoti juostus, stulpelius ir ECC

Pritaikyti pagal poreikį:

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

5 žingsnis: Išsamus pavyzdys (Visi PDF417 variantai)

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

Naudokite atvejus ir paraiškas

  • Micro PDF417: Mažos produktų etiketės, kompaktiška pakuotė
  • Compact PDF417: Dokumentų žymėjimas, kompaktiškas tiekimo grandinės kodas
  • Macro PDF417: Skirstomi duomenys formoms, manifestuose ar reguliavimo daugialypiais dokumentais

Bendrieji iššūkiai ir sprendimai

  • 1 iššūkis: nepakankamas duomenų pajėgumas?Sprendimas yra: Naudokite „Macro PDF417“ su segmentais labai dideliems duomenų rinkiniams.

*2 iššūkis: per mažas ar neskaitomas?*Sprendimas yra: Padidinkite modulių (pixelų) dydį, pritaikykite eilutes / kolonijas erdvės / duomenų.

  • 3 iššūkis: daugiapakopio failų rekonstrukcija?**Sprendimas yra: Naudokite unikalų „MacroFileID“ ir atitinkamus segmento ID / sąskaitą, kad būtų galima tinkamai perimti.

Veiksmingumo apžvalgos

  • Pasirinkite tinkamą PDF417 variantą jūsų paraiškos dydžiui / erdvei
  • „Batch“ generuoja mikro / kompaktiškus / makro juostos kodus, kaip reikia
  • Naudokite atminties srautus, kad integruotumėte į skaitmeninius darbo srautus

Geriausios praktikos

  • Išbandykite visus PDF417 rodiklius su fiziniais skeneriais arba atitikties patvirtintojais
  • Naudokite „Macro“ didelių failų/dokumentų dalijimui
  • Dokumentų segmento ID naudoti Macro PDF417
  • Eksportuoti PNG su dideliu DPI mažoms arba išsamioms etiketėms

Išplėstiniai scenarijai

1. „Batch“ generuoja visus PDF417 variantus

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

Conclusion

Aspose.BarCode .NET leidžia lengvai sukurti visus PDF417 variantus – mikro, kompaktišką ir makro – pakuotėms, dokumentacijai, reguliavimui ir skaitmeniniams darbo srautams. Aspose.BarCode API nuoroda Dėl detalių.

 Lietuvių