如何创建Micro、Compact和Macro PDF417条码
如何创建Micro、Compact和Macro PDF417条码
本文涵盖如何在使用 Aspose.BarCode 在 .NET 应用程序中创建 Micro PDF417、Compact PDF317 和 Macro pdf418 条码. 这些选项提供空间节约、高容量和多部分功能,适合标签、文档和数据传输。
现实世界问题
标准 PDF417 条码对于某些产品或标签可能太大,有时信息需要分为多个条代码或编码在一个非常紧凑的格式,因为监管或运营原因。
解决方案概述
Aspose.BarCode for .NET 允许开发人员编程创建所有 PDF417 版本。
- Micro PDF417: 对于非常小的标签,数据和尺寸较小。
- PDF417: 可优化为尺寸,无损容量。
- Macro PDF417: 将大数据分为多个条码符号,并将文件/分区的转数据。
原則
在你开始之前,请确保你有:
- Visual Studio 2019 或以后
- .NET 6.0 或更高版本(或 .Net Framework 4.6.2+)
- Aspose.BarCode for .NET 通过 NuGet 安装
- 关于C#的基本知识
PM> Install-Package Aspose.BarCode
步骤实施
步骤 1: 安装和进口 Aspose.BarCode
using Aspose.BarCode.Generation;
步骤2:创建 PDF417 变量发明器
微型 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;
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:调整绳子、列和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 和相匹配的分区 ID / 帐户,以便进行适当的重组。
绩效考虑
- 选择适当的 PDF417 版本为您的应用程序大小/空间
- 根据需要,Batch 会产生 Micro/Compact/Macro 条码。
- 使用内存流与数字工作流的集成
最佳实践
- 使用物理扫描仪或遵守验证器测试所有 PDF417 输出
- 使用Macro分成大文件/文件
- 使用 Macro PDF417 的文档分区 ID
- 出口 PNG 高 DPI 小或详细标签
先进的场景
1. Batch 生成所有 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 for .NET 使所有 PDF417 版本(Micro、Compact 和 Macro)可用于包装、文档、监管和数字工作流。 Aspose.BarCode API 参考 对于细节。