Як генерувати мікро, компакт і макро PDF417 баркоди .NET

Як генерувати мікро, компакт і макро PDF417 баркоди .NET

Ця стаття охоплює, як ** генерувати Micro PDF417, Compact PDF 417, і Macro PDF317 баркоди** в .NET додатках за допомогою Aspose.BarCode. Ці варіанти пропонують простір-збереження, високу потужність, і багатосегмент функції ідеальні для етикетки, документації та передачі даних.

Реальні проблеми світу

Стандартні баркоди PDF417 можуть бути занадто великими для деяких продуктів або етикетки, і іноді інформація повинна бути розділена між кількома бар-кодами або зашифрована в дуже компактному форматі з регуляторних або операційних причин.

Огляд рішення

Aspose.BarCode для .NET дозволяє розробникам програматично генерувати всі варіанти PDF417.

  • Micro PDF417: Для дуже невеликих етикет з скороченими даними та розмірами.
  • Compact PDF417: Оптимізований для розмірів без втрати потужності.
  • Macro PDF417: Розділяє великі дані між кількома символами баркоду з метаданими файлів/сегментів.

Передумови

Перед тим, як почати, переконайтеся, що у вас є:

  • Visual Studio 2019 або вище
  • .NET 6.0 або вище (або .Net Framework 4.6.2+)
  • Aspose.BarCode для .NET встановлено через NuGet
  • Основні знання C#
PM> Install-Package Aspose.BarCode

Крок за кроком реалізація

Крок 1: Інсталяція та імпорт Aspose.BarCode

using Aspose.BarCode.Generation;

Крок 2: Створення PDF417 Variant Generator

Створення PDF417

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

Завантажити PDF417:

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

Макро 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: Налаштування стовпів, колонн і ECC

Налаштуйте так, як потрібно:

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: Повний приклад (Всі варіанти 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);
    }
}

Використання випадків та додатків

  • Micro PDF417: Маленькі етикетки продукту, компактна упаковка
  • Compact PDF417: Етикетки документів, компактні баркоди ланцюга поставок
  • Macro PDF417: Розділити дані для форм, маневрів або регуляторних багаточасових документів

Спільні виклики та рішення

Виклик 1: Недостатній вміст даних?Рішення → Використовуйте Macro PDF417 з сегментами для дуже великих наборів даних.

Виклик 2: Вихід нечистий чи занадто маленький?Рішення → Збільшити розмір модуля (пікселів), налаштувати рядки / колони для простору / даних.

**Виклик 3: реконструювання мультисегментних файлів?**Рішення → Використовуйте унікальний MacroFileID та відповідні сегментні ідентифікатори/рахунки для правильного перезавантаження.

Виконання розглядів

  • Виберіть правильний варіант PDF417 для вашого розміру / простору додатку
  • Batch генерує Micro/Compact/Macro баркоди, як це потрібно
  • Використання потоків пам’яті для інтеграції з цифровими робочими потоками

Найкращі практики

  • Перевірте всі результати PDF417 з фізичними сканерами або валідаторами відповідності
  • Використовуйте Macro для розділення великих файлів/документів
  • Ідентифікатор сегменту документів для використання Macro PDF417
  • Експорт ПНГ на високому ДПІ для малих або детальних етикет

Розширені сценарії

Батч генерує всі варіанти 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);
}

Заключення

Aspose.BarCode для .NET дозволяє легко генерувати всі варіанти PDF417 — Micro, Compact і Macro — для упаковки, документації, регулярних та цифрових робочих потоків. Aspose.BarCode API Референт Для деталей .

 Українська