Cara Menghasilkan Micro, Compact, dan Macro PDF417 Barcode .NET

Cara Menghasilkan Micro, Compact, dan Macro PDF417 Barcode .NET

Artikel ini mencakup bagaimana untuk menghasilkan Micro PDF417, Compact PDF 417, dan Macro PDF317 barcode dalam aplikasi .NET menggunakan Aspose.BarCode. varian ini menawarkan ruang-menyelamatkan, kapasitas tinggi, dan fitur multi-segment yang ideal untuk label, dokumentasi dan transfer data.

Masalah dunia nyata

Barcode PDF417 standar mungkin terlalu besar untuk beberapa produk atau label, dan kadang-kadang informasi perlu dibagi di antara beberapa barcode atau dikodkan dalam format yang sangat kompak untuk alasan peraturan atau operasi.

Penyelesaian Overview

Aspose.BarCode untuk .NET memungkinkan pengembang untuk menghasilkan semua varian PDF417 secara programmatik.

  • Micro PDF417: Untuk label yang sangat kecil dengan data dan ukuran yang dikurangi.
  • Compact PDF417: dioptimalkan untuk ukuran tanpa kehilangan kapasitas.
  • Macro PDF417: Membagi data besar di berbagai simbol barcode dengan metadata file/segment.

Persyaratan

Sebelum memulai, pastikan Anda memiliki:

  • Visual Studio 2019 atau lebih baru
  • .NET 6.0 atau lebih baru (atau .Net Framework 4.6.2+)
  • Aspose.BarCode untuk .NET diinstal melalui NuGet
  • Pengetahuan dasar tentang C#
PM> Install-Package Aspose.BarCode

Implementasi langkah demi langkah

Langkah 1: Instalasi dan Impor Aspose.BarCode

using Aspose.BarCode.Generation;

Langkah 2: Membuat PDF417 Variant Generator

Keterangan PDF417

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

Daftar PDF417 :

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

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

Langkah 3: menyesuaikan tali, kolom, dan ECC

Sesuai dengan kebutuhan:

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

Langkah 5: Contoh lengkap (semua PDF417 varian)

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

Menggunakan kasus dan aplikasi

  • Micro PDF417: Label produk kecil, pembungkusan kompak
  • Compact PDF417: Dokumentasi tagging, barcode rantai bekalan kompak
  • Macro PDF417: Membagi data untuk formulir, manifesto, atau dokumen regulasi multi-part

Tantangan dan Solusi Umum

Tantangan 1: Tidak cukup kapasitas data?Penyelesaian : Gunakan Macro PDF417 dengan segmen untuk set data yang sangat besar.

Challenge 2: output tidak dapat dibaca atau terlalu kecil?Penyelesaian : Meningkatkan ukuran modul (pixel), menyesuaikan baris/kolom untuk ruang/data.

Tantangan 3: Rekonstruksi file multi segmen?Penyelesaian : Gunakan MacroFileID yang unik dan ID segmen / akun yang sepadan untuk pengaturan ulang yang tepat.

Pertimbangan kinerja

  • Pilih varian PDF417 yang tepat untuk ukuran aplikasi/ruang Anda
  • Batch menghasilkan Micro/Compact/Macro barcode sesuai kebutuhan
  • Menggunakan arus memori untuk integrasi dengan aliran kerja digital

Praktik Terbaik

  • Uji semua output PDF417 dengan scanner fisik atau validator pematuhan
  • Gunakan Macro untuk membagi file/dokumen besar
  • ID segmen dokumen untuk penggunaan Macro PDF417
  • Ekspor PNG pada DPI tinggi untuk label kecil atau terperinci

Skenario Lanjutan

Batch Generate Semua PDF417 Variasi

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

Kesimpulan

Aspose.BarCode untuk .NET membuatnya mudah untuk menghasilkan semua varian PDF417 – Micro, Compact, dan Macro – untuk pembungkusan, dokumentasi, regulasi dan aliran kerja digital. Spesifikasi Aspose.BarCode API Untuk detail.

 Indonesia