跳至页脚内容
与其他组件比较

Barcode4.NET 与 IronBarcode:C# 条码库对比

Barcode4NET 在没有正式公告的情况下停止了服务。 ComponentSource 已停止销售新许可证,从未发布过NuGet包,并且该库仅面向.NET Framework 。 对于继承了 Barcode4NET 依赖项的团队,本文将该库提供的功能与IronBarcode目前提供的功能进行了比较——涵盖平台覆盖范围、API 设计、条形码读取功能以及许可方面的实际情况,这使得并排评估变得有些不寻常。

了解 Barcode4NET

Barcode4NET 是一个商业条形码生成库,通过 ComponentSource 和类似的软件经销商进行分销。 它专为基于 Windows 的.NET Framework应用程序(主要是 Windows Forms 和ASP.NET Web Forms)而设计,并为当时的核心 1D 符号体系提供了清晰的位图输出。

该库从未以NuGet包的形式提供。 它以 DLL 的形式分发,开发人员将其签入源代码控制系统或放置在共享的工件位置。 使用该 DLL 的每个项目都需要在 .csproj 文件中手动添加 <Reference> 元素,指向磁盘上的 DLL。 这在 Barcode4NET 活跃时期是一种标准做法,但在现代 CI/CD 工作流程中却造成了很大的阻碍。

Barcode4NET 的主要架构特点:

-属性设置器 API:开发者创建了一个 Barcode 对象,并将 SymbologyDataWidthHeight 作为属性赋值,然后调用 GenerateBarcode() 来接收 System.Drawing.Bitmap 对象。 -一维条码重点:支持 Code128、Code39、EAN-13 和 UPC-A; 二维码支持因版本而异,存在局限性。 -仅限生成:该产品从未具备条形码读取或扫描功能。 -仅限 Windows 和.NET Framework :不支持.NET Core、 .NET 5+、Linux、macOS、Docker 或云运行时。 -不支持NuGet分发:每个项目文件和构建管道都需要手动引用 DLL。 -产品生命周期结束:不再提供新许可证、安全补丁、漏洞修复,且供应商不提供迁移方案。

Barcode4NET 生成 API

Barcode4NET 中的完整生成工作流程使用了属性设置器模式:

// Barcode4NET — manual DLL,.NET Frameworkonly
// NoNuGet 软件包— requires ThirdParty/Barcode4NET/Barcode4NET.dll in source control
using Barcode4NET;
using System.Drawing;
using System.Drawing.Imaging;

var barcode = new Barcode4NET.Barcode();
barcode.Symbology = Symbology.Code128;
barcode.Data = "ITEM-12345";
barcode.Width = 300;
barcode.Height = 100;
Bitmap barcodeImage = barcode.GenerateBarcode();
barcodeImage.Save(outputPath, ImageFormat.Png);
// Barcode4NET — manual DLL,.NET Frameworkonly
// NoNuGet 软件包— requires ThirdParty/Barcode4NET/Barcode4NET.dll in source control
using Barcode4NET;
using System.Drawing;
using System.Drawing.Imaging;

var barcode = new Barcode4NET.Barcode();
barcode.Symbology = Symbology.Code128;
barcode.Data = "ITEM-12345";
barcode.Width = 300;
barcode.Height = 100;
Bitmap barcodeImage = barcode.GenerateBarcode();
barcodeImage.Save(outputPath, ImageFormat.Png);
Imports Barcode4NET
Imports System.Drawing
Imports System.Drawing.Imaging

Dim barcode As New Barcode4NET.Barcode()
barcode.Symbology = Symbology.Code128
barcode.Data = "ITEM-12345"
barcode.Width = 300
barcode.Height = 100
Dim barcodeImage As Bitmap = barcode.GenerateBarcode()
barcodeImage.Save(outputPath, ImageFormat.Png)
$vbLabelText   $csharpLabel

这代表了 Barcode4NET API 接口的全部范围。 该库不提供流畅的链接功能、不提供阅读功能、不提供 PDF 输出,也不提供高级二维码选项,例如嵌入徽标或纠错控制。

了解IronBarcode

IronBarcode是Iron Software出品的商业.NET条形码库,在一个软件包中涵盖了条形码生成和条形码读取功能。 它仅通过NuGet分发,目标框架为.NET Framework 4.6.2 至.NET 9,可在 Windows、Linux、macOS、Docker、Azure 和 AWS Lambda 上运行。

该库是围绕流畅的静态 API 构建的。 生成使用 BarcodeWriter.CreateBarcode(),包含数据字符串和编码类型,以及用于大小、颜色和格式的链式选项。 读取功能使用 BarcodeReader.Read(),它接受图像文件路径、流和 PDF 文档,而无需单独的 PDF 库。

IronBarcode的主要特点:

-流畅的静态方法生成 API: BarcodeWriter.CreateBarcode().ResizeTo().AddAnnotationTextAboveBarcode(),并将方法保存在单个表达式中 -条形码读取: BarcodeReader.Read() 可直接从图像和 PDF 中解码条形码 -支持多种码型: Code128、Code39、EAN-13、UPC-A、QR码、Data Matrix、PDF417、Aztec 等 -二维码专用化: QRCodeWriter.CreateQrCode() 提供二维码专用选项,包括嵌入徽标和纠错级别

  • NuGet 发行版:标准 dotnet add package IronBarcode 安装; dotnet restore 处理所有依赖项 -跨平台:可在 Windows、Linux 和 macOS 系统上运行,支持.NET 5、6、7、8 和 9,包括多克容器和无服务器云运行时环境。 -活跃的商业产品:定期更新、安全补丁、 .NET版本兼容性更新,以及按既定价格购买的许可证

功能对比

下表列出了 Barcode4NET 和IronBarcode之间最显著的区别:

特征 Barcode4NET IronBarcode
NuGet包 不——仅限手动 DLL。 是的(IronBarcode
条形码生成
条形码读取
跨平台支持 不——仅限 Windows 系统 是的——Windows、Linux、macOS
主动维护 否(生命终结)
新许可证现已推出

详细功能对比

特征 Barcode4NET IronBarcode
一代
Code128生成
Code39生成
EAN-13 / UPC-A 代
二维码生成 有限的 是的 — QRCodeWriter.CreateQrCode()
带有徽标的二维码 是的 — .AddBrandLogo()
数据矩阵 / PDF417 / 阿兹特克
流畅的链式 API
阅读
从图像中读取条形码 是的 — BarcodeReader.Read()
从PDF中读取条形码 是的——原生支持,无需额外库
多条形码检测 是的 — ExpectMultipleBarcodes
读取速度配置 是的 — ReadingSpeed 枚举
平台
.NET Framework 是的(.NET Framework 4.6.2+)
.NET 5 / 6 / 7 / 8 / 9
Linux / macOS
多克
Azure/AWS Lambda
分配
NuGet 软件包
dotnet restore 兼容
CI/CD 集成 手动 DLL 步骤 标准恢复
维护
积极开发 否(生命终结)
安全补丁
错误修复
新许可证 是的——Lite749 美元, Plus1499 美元,Professional2999 美元,无限版 5999 美元

生成 API 设计

生成 API 是这两个库之间最直接的比较点,因为生成是 Barcode4NET 提供的唯一功能。

Barcode4NET 方法

Barcode4NET 使用了命令式属性设置器模式。 开发人员实例化了一个 Barcode 对象,分配了各个属性,并调用 GenerateBarcode() 来接收一个 System.Drawing.Bitmap:

using Barcode4NET;
using System.Drawing;
using System.Drawing.Imaging;

public Bitmap GenerateLabel(string sku)
{
    var barcode = new Barcode4NET.Barcode();
    barcode.Symbology = Symbology.Code128;
    barcode.Data = sku;
    barcode.Width = 400;
    barcode.Height = 120;
    return barcode.GenerateBarcode();
}
using Barcode4NET;
using System.Drawing;
using System.Drawing.Imaging;

public Bitmap GenerateLabel(string sku)
{
    var barcode = new Barcode4NET.Barcode();
    barcode.Symbology = Symbology.Code128;
    barcode.Data = sku;
    barcode.Width = 400;
    barcode.Height = 120;
    return barcode.GenerateBarcode();
}
Imports Barcode4NET
Imports System.Drawing
Imports System.Drawing.Imaging

Public Function GenerateLabel(sku As String) As Bitmap
    Dim barcode As New Barcode4NET.Barcode()
    barcode.Symbology = Symbology.Code128
    barcode.Data = sku
    barcode.Width = 400
    barcode.Height = 120
    Return barcode.GenerateBarcode()
End Function
$vbLabelText   $csharpLabel

返回类型 — System.Drawing.Bitmap — 表示调用代码负责保存、显示或流式传输图像。 对于 WinForms 应用程序来说,这很合适,因为 Bitmap 可以直接分配给 PictureBox,但对于任何其他输出目标,都需要额外的转换步骤。

IronBarcode方法

IronBarcode使用流畅的静态 API。 单个方法调用即可启动生成过程,而链式方法会在最终保存或转换方法之前配置结果:

// NuGet: dotnet add package IronBarcode
using IronBarCode;

public byte[] GenerateLabel(string sku)
{
    return BarcodeWriter.CreateBarcode(sku, BarcodeEncoding.Code128)
        .ResizeTo(400, 120)
        .ToPngBinaryData();
}
// NuGet: dotnet add package IronBarcode
using IronBarCode;

public byte[] GenerateLabel(string sku)
{
    return BarcodeWriter.CreateBarcode(sku, BarcodeEncoding.Code128)
        .ResizeTo(400, 120)
        .ToPngBinaryData();
}
Imports IronBarCode

Public Function GenerateLabel(sku As String) As Byte()
    Return BarcodeWriter.CreateBarcode(sku, BarcodeEncoding.Code128) _
        .ResizeTo(400, 120) _
        .ToPngBinaryData()
End Function
$vbLabelText   $csharpLabel

BarcodeEncoding 枚举与 Symbology 枚举直接对应。 .ResizeTo() 替换 WidthHeight 属性赋值。 终端方法 — .SaveAsPng(), .SaveAsJpeg(), .ToPngBinaryData() — 取代单独的 GenerateBarcode() 和 bitmap-save 调用。 有关更高级的生成场景,请参阅IronBarcode条形码生成文档

条形码读取能力

阅读能力是这两座图书馆之间最大的差距。 Barcode4NET 在任何版本中都从未提供过条形码读取功能。 IronBarcode在生成条码的同时,将完整的读取功能集成到同一个软件包中。

Barcode4NET 方法

Barcode4NET 没有读取 API。 需要从图像或扫描文档中解码条形码的团队必须完全集成一个单独的库——要么是开源替代方案 ZXing .NET,要么是商业扫描仪 SDK。 结果是形成了两条独立的依赖链:Barcode4NET 用于生成,第二个库用于读取。

IronBarcode方法

IronBarcode 提供 BarcodeReader.Read() 作为静态方法,该方法接受图像文件路径、流对象和 PDF 文档:

using IronBarCode;

// Read from an image file
var results = BarcodeReader.Read("barcode.png");
foreach (var result in results)
{
    Console.WriteLine($"Value: {result.Value}");
    Console.WriteLine($"Format: {result.Format}");
}

// Read all barcodes from a multi-page PDF — no extra PDF library required
var pdfResults = BarcodeReader.Read("invoice-batch.pdf");
foreach (var result in pdfResults)
{
    Console.WriteLine($"Page {result.PageNumber}: {result.Value}");
}
using IronBarCode;

// Read from an image file
var results = BarcodeReader.Read("barcode.png");
foreach (var result in results)
{
    Console.WriteLine($"Value: {result.Value}");
    Console.WriteLine($"Format: {result.Format}");
}

// Read all barcodes from a multi-page PDF — no extra PDF library required
var pdfResults = BarcodeReader.Read("invoice-batch.pdf");
foreach (var result in pdfResults)
{
    Console.WriteLine($"Page {result.PageNumber}: {result.Value}");
}
Imports IronBarCode

' Read from an image file
Dim results = BarcodeReader.Read("barcode.png")
For Each result In results
    Console.WriteLine($"Value: {result.Value}")
    Console.WriteLine($"Format: {result.Format}")
Next

' Read all barcodes from a multi-page PDF — no extra PDF library required
Dim pdfResults = BarcodeReader.Read("invoice-batch.pdf")
For Each result In pdfResults
    Console.WriteLine($"Page {result.PageNumber}: {result.Value}")
Next
$vbLabelText   $csharpLabel

对于大容量或噪声图像场景,BarcodeReaderOptions 类可控制读取速度和多条形码检测。 有关配置选项,请参阅条形码读取文档

平台和部署覆盖范围

平台支持是进行.NET现代化项目的团队面临的最重要差异。

Barcode4NET 方法

Barcode4NET 是针对.NET Framework集编译的。 它可在 Windows 系统、 .NET Framework应用程序、IIS 托管的 Web Forms 和 Windows Forms 项目中运行。 没有 Linux 版本,没有.NET Core版本,也没有云运行时支持。 当微软推出.NET Core并后来将该平台统一为.NET 5+ 时,Barcode4NET 没有相应的更新。 任何面向 net5.0 或更高版本的项目都无法引用该库。

DLL分发模式加剧了平台限制。 每个构建环境——开发人员工作站、构建代理、Docker 容器——都要求 DLL 位于已知路径中。 在基于容器的部署中,这意味着要么将 DLL 打包到自定义基础镜像中,要么在容器构建期间复制它,这两种方法都与标准的 dotnet restore 工作流程不兼容。

IronBarcode方法

IronBarcode通过单个NuGet包支持多个框架:.NET Framework4.6.2 到.NET 9,以及 Windows、Linux 和 macOS 上的所有当前.NET版本。 部署到多克容器时,使用标准的.NET运行时镜像,无需修改。 Azure Functions、AWS Lambda 和其他无服务器运行时都可通过同一个NuGet包获得支持。 dotnet restore 命令无需任何手动 DLL 管理即可解决所有依赖项。

许可架构和供应商状态

Barcode4NET 的许可情况并非竞争点,而是一个实际的限制因素,它影响着是否继续使用该库的每一个决定。

Barcode4NET 方法

Barcode4NET 已停止服务。您无法通过 ComponentSource 或任何其他渠道获得新的许可证。 如果开发人员加入使用 Barcode4NET 的团队,则没有机制可以为他们购买席位。 根据现有许可证的结构,新的开发人员可能没有合法权限在开发过程中运行或调试与条形码相关的代码。 没有问题跟踪系统,没有支持渠道,也没有供应商可以联系以报告缺陷。 上次版本发布后发现的安全漏洞仍然没有得到永久解决。

IronBarcode方法

IronBarcode是一款持续维护的商业产品,拥有永久授权。 单人开发者Lite许可证起价为 749 美元,另有Plus (1499 美元,3 位开发者)、 Professional (2999 美元,10 位开发者)和 Unlimited(5999 美元)版本可供选择。 所有级别均包含免版税部署。 安全补丁、错误修复和.NET版本兼容性更新会定期发布。 提供 30 天免费试用期,无需许可证密钥即可进行评估。

API 映射参考

Barcode4NET IronBarcode
new Barcode4NET.Barcode() BarcodeWriter.CreateBarcode(data, encoding)
barcode.Symbology = Symbology.Code128 BarcodeEncoding.Code128CreateBarcode 的参数)
barcode.Data = "ITEM-12345" CreateBarcode() 的第一个参数
条形码宽度 = 300; 条形码高度 = 100|.ResizeTo(300, 100)`
barcode.GenerateBarcode() 返回 Bitmap .SaveAsPng(path) / .ToPngBinaryData()
Symbology.QRCode BarcodeEncoding.QRCode
Symbology.Code39 BarcodeEncoding.Code39
Symbology.EAN13 BarcodeEncoding.EAN13
Symbology.UPCA BarcodeEncoding.UPCA
手动 DLL <Reference Include="Barcode4NET"> <PackageReference Include="IronBarcode" />
无读取 API BarcodeReader.Read(path)
不支持 PDF BarcodeReader.Read("doc.pdf") native
仅限.NET Framework .NET Framework4.6.2 至.NET 9

当团队考虑从 Barcode4NET 迁移到IronBarcode时

.NET升级被阻止

最常见的强制事件是.NET现代化项目。 一个团队在其 .csproj 中以 net8.0 为目标,运行构建,但遇到编译错误,因为 Barcode4NET 是针对不再引用的.NET Framework程序集编译的。 错误信息很明确:该库无法在新目标框架下加载。 此时,团队面临着一个二选一的选择——要么撤销目标框架的更改并继续使用.NET Framework,要么替换 Barcode4NET。 如果不推迟迁移,就会阻碍更广泛的现代化进程。

基础设施变更后 CI/CD 流水线故障

Barcode4NET 的 DLL 分发模型会在构建管道中造成潜在的脆弱性。 当重新配置构建代理、更新容器镜像或配置新的 CI 环境时,必须手动将 Barcode4NET DLL 放置在项目文件期望的路径中。 没有仔细记录这一步骤的团队,只有在管道出现故障时才会发现问题。 过渡到IronBarcode意味着 dotnet restore 处理一切——DLL 位置问题不复存在。

新团队成员不能获得执照

当承包商加入项目或第二个开发人员需要处理条形码功能时,无需购买许可证。 团队必须想办法克服这个限制——要么新开发人员完全避开条形码,要么有人转让一个根据原条款可能无法合法转让的许可证。 对于一个正在积极开发产品的团队来说,这两种情况都不可持续。

安全与合规审计

运行软件物料清单生成或对照生命周期结束数据库检查依赖项的组织会发现 Barcode4NET 是一个问题。 这是一个商业产品,没有活跃的供应商,没有 CVE 跟踪,也没有补丁可用。 安全审计人员对待生命周期结束的商业依赖项与对待成熟的开源库的方式不同——由于缺乏供应商响应流程,任何漏洞都将永久无法缓解。 这通常会成为正式的补救措施,而不是被搁置的风险。

在现有工作流程中添加读取功能

最初使用 Barcode4NET 进行仅生成工作流程的团队后来发现,他们需要验证扫描文档中的条形码、处理用户上传的图像或从 PDF 发票中提取数据。 使用 Barcode4NET 时,需要集成第二个库。IronBarcode的 BarcodeReader.Read() 可以原生处理图像和 PDF,将依赖项整合到一个维护良好的软件包中。

常见迁移注意事项

移除 DLL 引用

Barcode4NET 从未作为 NuGet 包分发,因此没有 dotnet remove package 命令。 每个引用该库的 .csproj 文件都包含一个 <Reference Include="Barcode4NET"> 元素,该元素包含一个 <HintPath> 元素,指向磁盘上的 DLL。 必须手动查找并删除这些元素。 在解决方案中使用 grep 命令可以找到它们:

grep -rl "Barcode4NET" --include="*.csproj" .
grep -rl "Barcode4NET" --include="*.csproj" .
SHELL

源代码控制中的 DLL 目录(通常为 ThirdParty/Barcode4NET/lib/)也必须使用 git rm 进行暂存删除。

返回类型从位图更改为字节数组

Barcode4NET 的 GenerateBarcode() 返回 System.Drawing.Bitmap。IronBarcode的流畅链以 .ToPngBinaryData() 返回 byte[].SaveAsPng() 直接写入磁盘结束。 将返回值赋给 Bitmap-typed 变量或将其传递给期望 Bitmap 的方法(例如 WinForms PictureBox)的代码需要在调用处进行一行调整:将字节数组包装在 MemoryStream 中并调用 Image.FromStream()

符号枚举重命名

Barcode4NET 中的 Symbology 枚举直接映射到IronBarcode中的 BarcodeEncoding 枚举。 所有常用值 — Code128, Code39, EAN13, UPCA, QRCode — 保留其名称。 解决方案范围内的查找和替换操作,将 Symbology. 替换为 BarcodeEncoding.,可以涵盖大多数情况,但每次替换都应该进行审查以确认上下文。

构建脚本清理

必须更新将 Barcode4NET DLL 复制到输出目录或构建代理的构建脚本和 CI/CD 配置文件。 NuGet 迁移后,这些步骤不再等效——dotnet restore 取代了所有手动 DLL 管理。 迁移后保留过时的 DLL 复制步骤不会导致构建失败,但这代表着失效的配置,会给未来的维护人员带来困惑。

IronBarcode的其他功能

IronBarcode具备 Barcode4NET 在其生命周期内任何阶段都不具备的功能:

-从图像中读取条形码 BarcodeReader.Read() 可解码 PNG、JPEG、TIFF 和其他图像格式中的所有主流一维和二维条形码。

  • PDF条形码读取原生支持PDF输入——无需单独的PDF提取库 -二维码徽标嵌入 QRCodeWriter.CreateQrCode().AddBrandLogo() 用于品牌二维码 -二维码生成支持 Data Matrix、PDF417 和 Aztec 格式,以及二维码 -多条形码检测 BarcodeReaderOptions.ExpectMultipleBarcodes 可查找单张图像中的所有条形码 -读取速度调整 ReadingSpeed 枚举值平衡了高容量处理的吞吐量和准确性
  • ASP.NET Core 集成直接从 .ToPngBinaryData() 返回 byte[],以获得简洁的控制器操作响应

.NET兼容性和未来准备情况

IronBarcode支持.NET Framework 4.6.2 至.NET 9,并会在.NET新版本发布时同步更新兼容性。由于.NET 10 预计将于 2026 年底发布, Iron Software会在正式版发布前推出预览兼容版本。 Barcode4NET 没有.NET Framework以外的.NET版本,也不会收到任何未来的更新。 使用.NET Framework 4.x 的团队可以迁移到IronBarcode ,然后可以自由地将目标框架升级到任何当前或未来的.NET版本,而不受条形码库的限制。

结论

Barcode4NET 和IronBarcode代表了.NET条形码开发历史上的不同阶段。 Barcode4NET 在当时是一个功能齐全、范围明确的库——一个属性设置器 A​​PI,可为.NET Framework上的 Windows Forms 和 Web Forms 应用程序生成清晰的位图输出。 IronBarcode是一款目前已上市的商业产品,具有流畅的静态 API、完整的条形码读取支持、跨平台运行时覆盖范围和标准的NuGet分发。

这种比较并不寻常,因为 Barcode4NET 已不再是一个仍在运营的产品。 它不会收到更新、安全补丁或新的许可证销售。 团队在评估新项目应该采用哪个库时,不会遇到 Barcode4NET——它只与已经在生产环境中使用它并正在决定何时以及如何迁移的团队相关。

对于已经将 Barcode4NET 投入生产的团队来说, IronBarcode是理想的替代品。 API 映射是直接的,代码更改是表面级别的,生成语义是等效的。 这样做的好处是,依赖项得到了实际维护,新团队成员可以安装,并且与现代.NET版本和部署环境兼容。

客观评价是,这并非两个可行方案之间的竞争性选择。 Barcode4NET 无法扩展到新的团队成员,无法在现代.NET上运行,也无法修补安全问题。 IronBarcode可以做到。 迁移的决定是由这些实际限制因素驱动的,而不是由 API 偏好或功能比较驱动的。

常见问题解答

Barcode4.NET是什么?

Barcode4.NET 是一个 .NET 条形码库,用于在 C# 应用程序中生成和读取条形码。它是开发人员在为 .NET 项目选择条形码解决方案时评估的几个备选方案之一。

Barcode4.NET 和 IronBarcode 的主要区别是什么?

IronBarcode 使用静态、无状态的 API,无需实例管理,而 Barcode4.NET 通常需要在使用前创建和配置实例。IronBarcode 还提供原生 PDF 支持、自动格式检测以及跨所有环境的单密钥许可。

IronBarcode 的授权比 Barcode4.NET 更容易吗?

IronBarcode 使用单一许可证密钥,同时涵盖开发和生产部署。与将 SDK 密钥与运行时密钥分开的许可系统相比,这简化了 CI/CD 流水线和 Docker 配置。

IronBarcode是否支持Barcode4.NET支持的所有条形码格式?

IronBarcode 支持超过 30 种条码符号体系,包括 QR 码、Code 128、Code 39、DataMatrix、PDF417、Aztec、EAN-13、UPC-A、GS1 等等。格式自动检测功能意味着无需显式枚举格式。

IronBarcode是否支持原生PDF条码读取?

是的。IronBarcode 可以直接从 PDF 文件中读取条形码,使用 `BarcodeReader.Read("document.pdf")` 方法,无需单独的 PDF 渲染库。每页的读取结果包括页码、条形码格式、数值和置信度评分。

IronBarcode 与 Barcode4.NET 相比,在批量处理方面有何不同?

IronBarcode 的静态方法是无状态的,并且天然线程安全,因此可以直接使用 Parallel.ForEach,而无需进行线程级实例管理。所有定价层级均无吞吐量上限。

IronBarcode支持哪些.NET版本?

IronBarcode 在单个 NuGet 包中支持 .NET Framework 4.6.2+、.NET Core 3.1 以及 .NET 5、6、7、8 和 9。平台目标包括 Windows x64/x86、Linux x64 和 macOS x64/ARM。

如何在.NET项目中安装IronBarcode?

通过 NuGet 安装 IronBarcode:在程序包管理器控制台中运行“Install-Package IronBarCode”,或在命令行界面中运行“dotnet add package IronBarCode”。无需其他 SDK 安装程序或运行时文件。

与 Barcode4.NET 不同,我可以在购买前评估 IronBarcode 吗?

是的。IronBarcode 的试用模式会返回完整的解码条形码值——只有生成的输出图像才会带有水印。您可以在购买前,用自己的文档测试读取准确率。

Barcode4.NET 和 IronBarcode 的价格有什么区别?

IronBarcode 的永久单开发者许可证起价为 749 美元,涵盖开发和生产环境。定价详情和批量许可选项请访问 IronBarcode 许可页面。无需单独的运行时许可证。

从 Barcode4.NET 迁移到 IronBarcode 是否简单?

从 Barcode4.NET 迁移到 IronBarcode 主要涉及将基于实例的 API 调用替换为 IronBarcode 的静态方法、移除许可相关的样板代码以及更新结果属性名称。大多数迁移工作都是减少代码,而不是增加代码。

IronBarcode 能生成带有 logo 的二维码吗?

是的。`QRCodeWriter.CreateQrCode().AddBrandLogo("logo.png")` 可以将品牌图片原生嵌入二维码中,并支持配置纠错功能。此外,它还支持通过 `ChangeBarCodeColor()` 函数创建彩色二维码。

Jordi Bardia
软件工程师
Jordi 最擅长 Python、C# 和 C++,当他不在 Iron Software 利用这些技能时,他就在游戏编程。分享产品测试、产品开发和研究的责任,Jordi 在持续的产品改进中增加了巨大的价值。多样的经验使他面临挑战并保持投入,他表示这是在 Iron Software 工作的最喜欢的方面之一。Jordi 在佛罗里达州迈阿密长大,并在佛罗里达大学学习计算机科学和统计学。

钢铁支援团队

我们每周 5 天,每天 24 小时在线。
聊天
电子邮件
打电话给我