Mikro, Kompakt ve Macro PDF417 Barkodları Nasıl Oluşturulur .NET

Mikro, Kompakt ve Macro PDF417 Barkodları Nasıl Oluşturulur .NET

Bu makalede, Aspose.BarCode kullanılarak .NET uygulamalarında Micro PDF417, Compact PDF 417 ve Macro pdf417 çubuk kodları nasıl oluşturulur.Bu varyantlar alan tasarrufu, yüksek kapasite ve çok segment özellikleri sunar etiketleme, belgelendirme ve veri aktarımı için ideal.

Gerçek Dünya Sorunları

Standart PDF417 çubuk kodları bazı ürünler veya etiketler için çok büyük olabilir ve bazen bilgi düzenleyici veya operasyonel nedenlerden dolayı çok kompakt bir biçimde bölünmesi veya kodlanması gerekir.

Çözüm Özetleri

Aspose.BarCode for .NET geliştiricilerin tüm PDF417 varyantlarını programlı olarak oluşturmalarını sağlar.

  • Micro PDF417: Küçük veriler ve boyutları olan çok küçük etiketler için.
  • Compact PDF417: Kapasite kaybı olmadan boyut için optimize edilmiştir.
  • Macro PDF417: Büyük verileri dosya/segment metadata ile birden fazla çubuk kodu sembolü üzerinden bölünür.

Ön koşullar

Başlamadan önce şunları yapmanız gerektiğinden emin olun:

  • Visual Studio 2019 veya sonraki
  • .NET 6.0 veya sonraki (veya .Net Framework 4.6.2+)
  • .NET için Aspose.BarCode NuGet aracılığıyla yüklü
  • C# Temel Bilgisi
PM> Install-Package Aspose.BarCode

adım adım uygulama

Adım 1: Aspose.BarCode yükleme ve ithalat

using Aspose.BarCode.Generation;

2. Adım: PDF417 Variant Generator oluşturun

Mikrodalga PDF417

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

Kompakt PDF417 için:

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

Macro PDF417 için:

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; 

Adım 3: Çizgiler, sütunlar ve ECC ayarlayın

İhtiyacınız olduğunda özelleştirin:

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

Adım 5: Tam örnek (Tüm PDF417 varyantları)

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

Cases ve Uygulamaları Kullanın

  • Micro PDF417: Küçük ürün etiketleri, kompakt ambalaj
  • Compact PDF417: Belge etiketleme, kompakt tedarik zinciri çubuk kodları
  • Macro PDF417: Formlar, manifesterler veya düzenleyici çok parça belgeler için verileri paylaşın

Toplu Sorunlar ve Çözümler

Sorun 1: Yeterli veri kapasitesi yok mu?Çözüm : Çok büyük veri setleri için segmentler ile Macro PDF417 kullanın.

Challenge 2: Çıkış okunamaz mı yoksa çok küçük mi?Çözüm : Modül (pixel) boyutunu artırın, satırları / sütunları uzay / veri için ayarlayın.

**Callenge 3: Çok segment dosya yeniden yapılandırma?**Çözüm : Uygun yeniden yapılandırma için benzersiz MacroFileID ve eşleşen segment kimlikleri / hesapları kullanın.

performans değerlendirmeleri

  • Uygulama boyutunu / alanı için doğru PDF417 varyantını seçin
  • Batch, ihtiyaç duyulduğunda Micro/Compact/Macro çubuk kodlarını üretir
  • Dijital çalışma akışlarına entegre olmak için hafıza akışı kullanın

En İyi Uygulamalar

  • Tüm PDF417 çıkışlarını fiziksel tarayıcılar veya uyumluluk validatörleri ile test edin
  • Büyük dosyaları/dokümanları bölmek için Macro kullanın
  • Macro PDF417 için belge segment kimlikleri
  • Küçük veya ayrıntılı etiketler için yüksek DPI’de PNG ihracatı

Gelişmiş Senaryolar

1. Batch Tüm PDF417 varyantları oluşturur

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

Sonuç

Aspose.BarCode .NET için tüm PDF417 varyantları -Micro, Compact ve Macro - ambalaj, belgelendirme, düzenleyici ve dijital çalışma akışları için kolaylaştırır. Aspose.BarCode API Referansları ayrıntılar için.

 Türkçe