Scandit SDK 与 IronBarcode:C# 条形码库对比
Telerik RadBarcode与IronBarcode:平台覆盖和读取能力比较
Telerik的RadBarcode在每个平台的Telerik UI中生成条形码。 RadBarcodeReader在其中两个上解码条形码。 WPF RadBarcodeReader覆盖1D编码以及QR码、PDF417和DataMatrix; WinForms RadBarcodeReader只覆盖1D编码。 在Blazor、ASP.NET Core或ASP.NET AJAX套件中,没有阅读器组件的DecodeType枚举包含Aztec、MaxiCode、MicroQR或DotCode。
理解这种平台分割——以及WPF和WinForms阅读器之间的符号差距——是这次比较的核心。
了解 Telerik RadBarcode
Telerik RadBarcode 是 Progress Telerik UISuite的一部分,它是.NET中最成熟的商业控件库之一。 它不是一个独立的条形码库。 它是嵌入在 UISuite中的条形码组件,该套件包含大约 150 个 WinForms 控件、150 个 WPF 控件、100 个Blazor组件等等。 所有这些平台软件包都支持条形码生成功能。 条形码读取功能仅在两个平台中可用:WPF 和 WinForms。
该组件在不同平台上的显示方式有所不同。 在WPF和WinForms中,开发人员可以使用RadBarcodeReader进行读取。 在Blazor、ASP.NET Core和ASP.NET AJAX中,开发人员可以使用TelerikBarcode或等效的标签助手进行生成,但没有阅读器组件。 因此,阅读是Telerik套件中的桌面专用功能。
Telerik RadBarcode 的主要架构特点:
- UISuite组件: RadBarcode 不是一个独立的NuGet包。 它包含在每个平台的Telerik UI套件中(UI for WinForms、WPF或Blazor,$749–$1,249/开发人员/年,依据支持级别)或在跨平台的DevCraft UI捆绑包中($1,149/年)。
- XAML和Razor控制模型:生成通过XAML中的
<TelerikBarcode>以声明方式处理,而不是通过基于代码的工厂API。 - 平台特定程序集:读取功能可在
Telerik.WinControls.UI.Barcode)中使用。 没有等效的Blazor、ASP.NET Core或其他服务器目标的阅读程序集。 - 读者编码拆分:WPF
RadBarcodeReaderDecodeType标志枚举覆盖1D编码以及QR码、PDF417和DataMatrix。 WinFormsRadBarcodeReaderDecodeType枚举仅限于1D。 没有阅读器在其 @@--CODE-2787--@@ 枚举中包括Aztec、MaxiCode、MicroQR或DotCode。 - 订阅和永久许可证: Telerik 套件主要以年度订阅销售,永久选项在更高价格点可用。 没有独立的条码许可证。
- 私人NuGet Feed:生产Telerik UI包通过
nuget.telerik.com/v3/index.json的授权Feed分发,需要从Telerik账户门户获取API密钥。
RadBarcode 和 RadBarcodeReader 的拆分
DecodeType标志枚举定义了WPF RadBarcodeReader可以处理的每种格式。 它涵盖1D符号和三种2D格式——QR、PDF417和DataMatrix:
// Telerik RadBarcodeReader (WPF) — typical DecodeType configuration
using Telerik.Windows.Controls.Barcode;
using System.Windows.Media.Imaging;
var reader = new RadBarcodeReader();
reader.DecodeTypes =
DecodeType.Code128
| DecodeType.Code39
| DecodeType.EAN13
| DecodeType.EAN8
| DecodeType.UPCA
| DecodeType.QR
| DecodeType.PDF417
| DecodeType.DataMatrix;
// Aztec, MaxiCode, MicroQR, and DotCode are not entries in this enum.
// Telerik RadBarcodeReader (WPF) — typical DecodeType configuration
using Telerik.Windows.Controls.Barcode;
using System.Windows.Media.Imaging;
var reader = new RadBarcodeReader();
reader.DecodeTypes =
DecodeType.Code128
| DecodeType.Code39
| DecodeType.EAN13
| DecodeType.EAN8
| DecodeType.UPCA
| DecodeType.QR
| DecodeType.PDF417
| DecodeType.DataMatrix;
// Aztec, MaxiCode, MicroQR, and DotCode are not entries in this enum.
Imports Telerik.Windows.Controls.Barcode
Imports System.Windows.Media.Imaging
Dim reader As New RadBarcodeReader()
reader.DecodeTypes = DecodeType.Code128 Or
DecodeType.Code39 Or
DecodeType.EAN13 Or
DecodeType.EAN8 Or
DecodeType.UPCA Or
DecodeType.QR Or
DecodeType.PDF417 Or
DecodeType.DataMatrix
' Aztec, MaxiCode, MicroQR, and DotCode are not entries in this enum.
WPF阅读器处理最常见的2D格式但不包含Aztec、MaxiCode、MicroQR或DotCode。 WinForms RadBarcodeReader DecodeType枚举再次窄化,仅包含1D条目。 将包含QR码的图像传递给WinForms阅读器不会产生解码结果。
了解IronBarcode
IronBarcode是一个专用的.NET条形码库,它通过统一的静态 API 处理条形码生成和条形码读取。 它不属于任何用户界面Suite,也不依赖任何用户界面框架。 该库作为单个NuGet包(BarCode)可用,并在WPF、WinForms、ASP.NET Core、Blazor Server、控制台应用程序、Docker容器、Azure Functions和AWS Lambda中安装相同。
图书馆的阅读引擎可对所有支持的格式进行自动格式检测。 开发者无需指定要查找的格式——引擎会根据图像内容识别格式。 相同的BarcodeReader.Read()调用能够在一个图像中检测EAN-13条形码,而在另一个图像中检测QR码、DataMatrix或PDF417而无需更改任何配置。
IronBarcode的主要特点:
- 统一的静态API:
BarcodeWriter.CreateBarcode()是主要入口点。 无需实例管理。 -自动格式检测:读取 50 多种条形码格式(包括一维和二维),无需预先指定格式。 -单个包,所有平台:一个NuGet引用即可在任何.NET项目类型中编译,无需特定于平台的代码路径。 - 基于代码的生成:
BitmapSource以进行WPF显示。 -原生 PDF 支持:直接读取 PDF 文件中的条形码,包括带有页码跟踪的多页文档。 -提供永久许可:许可级别包括永久选项,单个开发者的起价为 749 美元。
功能对比
下表总结了Telerik RadBarcode和IronBarcode在主要功能方面的差异:
| 特征 | Telerik RadBarcode | IronBarcode |
|---|---|---|
| 一维条形码生成 | 是的(所有平台) | 是 |
| 二维条形码生成 | 是的(所有平台) | 是 |
| 一维条形码读取 | 仅限 WPF 和 WinForms | 是的(所有平台) |
| 二维码读取 | 仅限WPF | 是的(所有平台) |
| Aztec、MaxiCode、MicroQR、DotCode阅读 | 不可用 | 是 |
| PDF条形码读取 | 不可用 | 是的(母语) |
| 自动格式检测 | 否 — 需要解码类型 | 是 |
| 独立软件包 | 不需要——需要用户界面Suite | 是 |
| 永久许可证 | 是(更高层) | 是 |
详细功能对比
| 特征 | Telerik RadBarcode | IronBarcode |
|---|---|---|
| 一代 | ||
| Code128、Code39、EAN、UPC | 是 | 是 |
| 二维码生成 | 是 | 是 |
| DataMatrix 生成 | 是 | 是 |
| PDF417 生成 | 是 | 是 |
| 阿兹特克世代 | 是 | 是 |
| XAML/Razor控件 | 是 | 否(基于代码的) |
| 基于代码的生成 API | XAML/Razor为先 | 是 (BarcodeWriter) |
| 阅读 | ||
| Code128、Code39、EAN、UPC 读取 | 仅限 WPF + WinForms | 是的(所有平台) |
| 二维码读取 | 仅限WPF | 是 |
| DataMatrix 读取 | 仅限WPF | 是 |
| PDF417 阅读 | 仅限WPF | 是 |
| 阿兹特克语 | 不可用 | 是 |
| MaxiCode / MicroQR / DotCode阅读 | 不可用 | 是 |
| 自动格式检测 | 否 (DecodeType 标志要求) |
是 |
| 读取PDF文件 | 不可用 | 是的(母语) |
| 每张图片包含多个条形码 | 单一结果API | 是 |
| 平台 | ||
| WPF 阅读 | 是(1D + QR/PDF417/DataMatrix) | 是的(所有格式) |
| WinForms 读取 | 是的(仅限 1D) | 是的(所有格式) |
| ASP.NET Core阅读 | 不可用 | 是 |
| Blazor阅读 | 不可用 | 是 |
| 控制台/工作服务 | 不可用 | 是 |
| Docker / Linux | 不可用(阅读) | 是 |
| Azure Functions | 不可用(阅读) | 是 |
| 共享服务库 | 绑定到WPF/WinForms类型 | 是 |
| 许可 | ||
| 独立条形码包 | 否 | 是 |
| 订阅模式 | 是(主要) | 可选项 |
| 永久许可证 | 是(更高层) | 是 |
| 单一开发商入场费 | $749–$1,249/年每个平台 | $749永久(Lite) |
| 10-开发商价格 | $11,490/年(DevCraft UI) | $2,999永久(Professional) |
阅读格式支持
Telerik RadBarcode可以读取和不能读取的边界由DecodeType枚举决定,该枚举在WPF和WinForms读取器之间有所不同。
Telerik RadBarcodeReader 方法
RadBarcodeReader需要在每次读取操作之前明确声明格式。 开发人员使用reader.DecodeTypes。 在WPF上,枚举涵盖1D符号加QR、PDF417和DataMatrix。 在WinForms上,枚举仅涵盖1D符号——传递包含二维码的图像不会产生解码结果。
两个读者的DecodeType枚举都不包括Aztec、MaxiCode、MicroQR或DotCode。 生成(DecodeType枚举当前显示的解码格式广的2D格式集。
IronBarcode方法
IronBarcode会在每次读取调用时自动执行格式检测。 无需列出格式列表。 读取 Code128 条形码的同一个方法调用也可以读取 QR 码、DataMatrix 符号或 PDF417 堆栈:
// NuGet: dotnet add package BarCode
using IronBarCode;
var results = BarcodeReader.Read(imagePath);
foreach (var barcode in results)
{
Console.WriteLine($"{barcode.Format}: {barcode.Value}");
}
// NuGet: dotnet add package BarCode
using IronBarCode;
var results = BarcodeReader.Read(imagePath);
foreach (var barcode in results)
{
Console.WriteLine($"{barcode.Format}: {barcode.Value}");
}
Imports IronBarCode
Dim results = BarcodeReader.Read(imagePath)
For Each barcode In results
Console.WriteLine($"{barcode.Format}: {barcode.Value}")
Next
每个结果上的BarcodeType属性标识检测到的格式。 无需预先设定规格。 对于需要性能调整的应用,BarcodeReaderOptions.ExpectBarcodeTypes提供了可选的过滤,以缩小检测范围。 有关从所有格式的图像中读取条形码的详细分解, IronBarcode文档涵盖了所有选项,包括多条形码检测和速度调整。
平台覆盖范围
Telerik RadBarcode 的读取功能与两个 UI 框架程序集相关联,这两个程序集决定了读取代码可以在哪里运行。
Telerik 方法
Telerik 生成的功能可在 WPF、WinForms、 Blazor、 ASP.NET Core和ASP.NET AJAX 上使用。 通过Telerik进行的读取仅限于WPF(通过Telerik.UI.for.WinForms)。 Blazor、ASP.NET Core、控制台应用程序、后台工作者或服务器端部署不存在阅读组件。
该平台限制还影响将读取逻辑提取到共享.NET库中。 WPF BitmapImage),WinForms System.Drawing.Image)。 导入任一读取类的共享服务库无法在非 WPF、非 WinForms 项目中编译。 希望在WPF桌面客户端和ASP.NET Core后台之间获得一致条码读取行为的团队对每个目标使用不同的代码路径或不同的库。
IronBarcode方法
IronBarcode使用单个静态API,在所有.NET项目类型中编译和运行相同。相同的BarcodeReader.Read(imagePath)调用可以在WPF应用程序、WinForms表单、ASP.NET Core控制器、Blazor页面代码隐藏、控制台应用程序、Docker容器或Azure Function中运行:
// NuGet: dotnet add package BarCode
// Works identically in WPF, WinForms, ASP.NET Core, Blazor, console, Docker, Lambda
using IronBarCode;
var results = BarcodeReader.Read(imagePath);
var value = results.FirstOrDefault()?.Value ?? "No barcode found";
// NuGet: dotnet add package BarCode
// Works identically in WPF, WinForms, ASP.NET Core, Blazor, console, Docker, Lambda
using IronBarCode;
var results = BarcodeReader.Read(imagePath);
var value = results.FirstOrDefault()?.Value ?? "No barcode found";
Imports IronBarCode
Dim results = BarcodeReader.Read(imagePath)
Dim value = If(results.FirstOrDefault()?.Value, "No barcode found")
未提及任何用户界面框架类型。 无需针对特定平台进行配置。 为 WPF 应用程序编写的条形码读取逻辑无需修改即可在ASP.NET Core端点中编译和运行。 完整的平台兼容性涵盖了 Docker、Azure、AWS Lambda、macOS 和 Linux 以及 Windows UI 目标。
生成 API
Telerik RadBarcode 和IronBarcode都支持相同的生成格式,但它们的 API 模型在结构和使用环境方面有所不同。
Telerik 方法
Telerik RadBarcode 生成是一个声明式 UI 控件。 在WPF中,RadBarcode被放置在XAML中,并通过属性配置。 在Blazor中,TelerikBarcode是一个Razor组件。 WPF的BarcodeType的枚举值:
<Window xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation">
<telerik:RadBarcode Value="12345678" Symbology="Code128" />
</Window>
<Window xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation">
<telerik:RadBarcode Value="12345678" Symbology="Code128" />
</Window>
@* Blazor — Razor component generation *@
<TelerikBarcode Value="12345678" Type="@BarcodeType.Code128" />
这种方法可以自然地与 XAML 数据绑定和Blazor组件树集成。 它不是代码优先的 API——它不返回图像对象、字节数组或流。 将生成的条形码导出为图像需要通过 UI 渲染流程的额外步骤。
IronBarcode方法
IronBarcode生成以代码优先。BitmapSource:
// NuGet: dotnet add package BarCode
using IronBarCode;
// Save directly to file
BarcodeWriter.CreateBarcode("12345678", BarcodeEncoding.Code128)
.SaveAsPng("barcode.png");
// Get as WPF BitmapSource for display
var barcodeImage = BarcodeWriter.CreateBarcode("12345678", BarcodeEncoding.Code128)
.ToBitmapSource();
// NuGet: dotnet add package BarCode
using IronBarCode;
// Save directly to file
BarcodeWriter.CreateBarcode("12345678", BarcodeEncoding.Code128)
.SaveAsPng("barcode.png");
// Get as WPF BitmapSource for display
var barcodeImage = BarcodeWriter.CreateBarcode("12345678", BarcodeEncoding.Code128)
.ToBitmapSource();
Imports IronBarCode
' Save directly to file
BarcodeWriter.CreateBarcode("12345678", BarcodeEncoding.Code128) _
.SaveAsPng("barcode.png")
' Get as WPF BitmapSource for display
Dim barcodeImage = BarcodeWriter.CreateBarcode("12345678", BarcodeEncoding.Code128) _
.ToBitmapSource()
同一个方法调用可以涵盖一维和二维生成。 从Code128切换到QR码仅更改BarcodeEncoding参数。 IronBarcode文档提供了完整的示例,详细介绍了包括 QR 纠错级别和 DataMatrix 尺寸在内的所有2D 条形码生成选项。
许可模式
Telerik 方法
Telerik RadBarcode 作为 Progress Telerik UISuite的一部分获得许可,没有单独的条形码许可证。 访问RadBarcodeReader需要适当平台套件的许可:
| 产品 | 年度订阅(2026) |
|---|---|
| WinForms 用户界面 | $749–$1,249/开发人员/年(Lite到Ultimate) |
| WPF 的 UI | $749–$1,249/开发人员/年(Lite到Ultimate) |
| Blazor的用户界面 | $749–$1,249/开发人员/年(Lite到Ultimate) |
| DevCraft UI(所有平台合并) | $1,149/开发人员/年 |
| DevCraft Complete | $1,299/开发人员/年 |
| DevCraft Ultimate | $1,649/开发人员/年 |
价格反映2026年Telerik DevCraft的列表价格。永久许可证可于更高的一次性成本中获取。请访问Telerik的定价页面了解当前费率。
价格按每开发人员计算。 在DevCraft UI上工作的10名开发人员的团队以订阅费率每年支付大约$11,490。 在每个产品线上也可用永久许可,预付费用更高。
IronBarcode方法
IronBarcode 在四个层级中提供永久许可:Lite为$749(1名开发人员),Plus为$1,499(3名开发人员),Professional为$2,999(10名开发人员),Unlimited为$5,999。永久层级授予永久使用权——今天购买的许可证无需续订便仍然有效。 您可以选择每年续订以继续获取更新。
IronBarcode 的许可页面详细介绍了当前的层级结构,包括免版税再分发选项和 SaaS 部署许可。
API 映射参考
| Telerik RadBarcode | IronBarcode |
|---|---|
TelerikLicenseManager.InstallLicense("key") |
IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY" |
<telerik:RadBarcode Value="..." Symbology="Code128" /> |
BarcodeWriter.CreateBarcode(data, BarcodeEncoding.Code128) |
<TelerikBarcode Type="@BarcodeType.Code128" /> |
服务器端生成返回ToPngBinaryData() |
Symbology.Code128 |
BarcodeEncoding.Code128 |
Symbology.QRCode |
BarcodeEncoding.QRCode |
new RadBarcodeReader()(WPF) |
静态类——无需实例 |
new RadBarcodeReader()(WinForms) |
静态类——无需实例 |
reader.DecodeTypes = DecodeType.Code128 \|DecodeType.QR(WPF标志) |
自动检测——无需指定 |
reader.Decode(bitmapImage)(WPF) |
BarcodeReader.Read(imagePath) |
reader.Read(drawingImage)(WinForms) |
BarcodeReader.Read(imagePath) |
result.Text |
result.Value |
result.Symbology |
result.Format |
| WPF: 1D + QR/PDF417/DataMatrix; WinForms: 仅支持1D | 50多种格式,包括Aztec、MaxiCode、MicroQR、DotCode |
| WPF 和 WinForms 只读 | 所有.NET平台 |
当团队考虑从Telerik RadBarcode迁移到IronBarcode时
评估IronBarcode作为Telerik RadBarcode的替代方案的团队,通常是为了满足现有工具无法满足的特定需求。
2D符号阅读需求
一个常见的触发条件是接收到不在WPF阅读器支持范围内的2D符号阅读需求。 WPF RadBarcodeReader解码QR、PDF417和DataMatrix。 它不能解码Aztec、MaxiCode、MicroQR或DotCode。 在WinForms上,这些2D格式都不可解码—DecodeType枚举仅限于1D。 需要从WinForms应用程序中读取Aztec票、MaxiCode运输标签、MicroQR标识符或QR码的团队达到了Telerik阅读器的边界。
PDF条形码处理
生产条形码工作流程通常涉及文档,而不是独立的图像文件。 发票、装运清单、身份证明文件和监管文件经常在 PDF 页面中嵌入条形码。 需要从PDF内容提取条码值的工作流团队会发现RadBarcodeReader仅接受位图图像,没有内置的PDF处理路径。 解决方法是将每个PDF页面转换为外部图像,然后一次将这些图像提供给RadBarcodeReader,这引入了额外的渲染依赖,并将WPF上限为QR/PDF417/DataMatrix,WinForms仅限于1D。 在架构阶段发现这一差距的团队通常会在投入多库集成方案的成本之前,评估那些能够原生处理 PDF 读取的库。
跨平台一致性
跨WPF桌面客户端和ASP.NET Core后端的应用程序无法共享条码阅读逻辑,因为该逻辑依赖于Telerik类型。WPF RadBarcodeReader引用WPF特定的类型,在非WPF项目中无法编译。 WinForms RadBarcodeReader引用WinForms类型。执行条码阅读的共享服务无法引用这两个类中的任何一个,而不创建平台依赖。 希望在共享库中实现单一条形码读取功能的团队(该功能既可用于桌面客户端,也可用于 Web 服务)需要一个不依赖 UI 框架的库。 当团队应用清晰架构模式或尝试将业务逻辑提取到单独的程序集中时,这种情况通常会出现。
许可成本结构
有些团队购买 Telerik UISuite主要是为了条形码功能,或者发现他们出于其他原因购买的Suite中包含了条形码功能,因此在评估续订成本时,他们有时会重新评估自己的选择。 使用嵌入在更大套件中的Telerik条形码组件的开发团队可能会重新评估每年每位开发者的成本,因为条形码功能集未涵盖其完整的读取需求。 需要条形码功能但不需要更广泛的 UISuite的团队——特别是构建服务器端或无头应用程序的团队,因为 UI 控件无法提供任何价值——通常会探索独立的条形码库作为一种经济高效的替代方案。
常见迁移注意事项
从Telerik RadBarcode过渡到IronBarcode 的团队会在整个代码库中遇到一系列一致的技术变化。
XAML控件替换
XAML中的RadBarcode是一个视觉控件,在UI中内联呈现。 IronBarcode在代码中生成条码图像并返回一个GeneratedBarcode对象。 WPF表单的迁移模式是用BarcodeWriter.CreateBarcode(...).ToBitmapSource()生成条码。 对于Blazor,将<img>源返回条码。
解码类型移除
The reader.DecodeTypes = DecodeType.Code128 | DecodeType.QR |... flags assignment present in RadBarcodeReader使用在迁移过程中完全删除。 IronBarcode不需要预先指定格式。 如果现有的DecodeType标志仅覆盖格式的子集,IronBarcode现在将在相同图像中检测到其他格式。 这是预期行为。 如果需要更窄的检测以提高性能,BarcodeReaderOptions.ExpectBarcodeTypes提供可选过滤,而不需要在读取器实例级别声明格式列表。
TelerikLicenseManager 更换
应用程序启动时的IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY"赋值替换。 IronBarcode不需要磁盘上的许可证文件,也不需要特定于平台的初始化路径。 单个键分配在WPF App.xaml.cs中、ASP.NET Core Program.cs中以及任何其他应用程序入口点中以相同方式工作。
IronBarcode的其他功能
除了本对比中涵盖的读取和生成功能外, IronBarcode还包含一些其他功能,这些功能可能与特定应用类型相关:
- 多条码检测:单个
BarcodeReader.Read()调用返回图像中存在的所有条码,包括混合1D和2D格式。 - 流和字节数组输入:
Stream对象和字节数组—这对于在ASP.NET Core中处理上传文件而不写入磁盘非常有用。 - 条码样式:
GeneratedBarcode支持注释文本、边距调整、颜色定制和输出前调整大小。 -支持的条形码格式:完整的格式目录涵盖 50 多种条形码格式,包括 GS1-128、MicroQR 和 MaxiCode,涵盖读取和生成。 -图像增强以方便读取:内置预处理选项可提高低质量、旋转或部分遮挡条形码的读取准确率。 -输出灵活性:生成的条形码可以导出为 PNG、JPEG、BMP、GIF、TIFF、PDF、SVG 格式,或以二进制数据形式返回。
.NET兼容性和未来准备情况
IronBarcode支持.NET 8 和.NET 9,并会积极维护更新,以跟踪新的.NET版本。 随着.NET 10普及率到2026年增加,IronBarcode的发布步伐涵盖当前和即将到来的运行时版本。 该库面向.NET Standard 2.0,具有广泛的项目兼容性,这意味着它可以在传统的.NET Framework项目中与现代的.NET目标一起编译。 Telerik UI套件也在积极维护,并定期接收平台更新; 阅读器符号表面——在WPF上1D加QR/PDF417/DataMatrix,在WinForms上仅1D——在最近的发布周期中保持稳定。
结论
Telerik RadBarcode 和IronBarcode对条形码库的定义给出了不同的答案。Telerik RadBarcode是一个嵌入在综合商业控件Suite中的 UI 控件。它拥有强大的生成功能,并且与 WPF 和Blazor UI 的视觉集成非常出色。 其读取组件仅限于桌面,WPF上覆盖QR/PDF417/DataMatrix,WinForms上仅覆盖1D。 这些边界是结构性的——产品被设计为一款UI组件,阅读引擎反映了该范围。
IronBarcode是一个专用的条形码库,不依赖于 UI 框架。 它通过统一的静态 API 处理 1D 和 2D 读取和生成,该 API 可以在每种.NET项目类型中编译和运行,结果完全相同。 阅读引擎自动检测格式,本地处理PDF文件,并在服务器、云和容器化环境中运行。
对于已经投资于Telerik UI套件的团队——广泛使用其网格、图表、调度器和其他控件——RadBarcode以无边际成本添加生成能力。如果读取需求保持在WinForms的1D格式,或WPF的1D加QR/PDF417/DataMatrix,现有套件就能满足该需求。 Telerik的价值在于其广泛的UI控件,条形码功能是该更广泛目录中的一个组件。
对于条形码需求包括Aztec、MaxiCode、MicroQR或DotCode阅读、PDF处理、服务器端操作或跨平台一致性的团队,IronBarcode直接应对这些需求。 RadBarcodeReader解码之间的格式差距—以及仅限桌面的平台足迹—定义了Telerik的条码功能的终点以及专用条码库成为合适工具的地方。
常见问题解答
什么是 Telerik 条形码?
Telerik Barcode 是一个 .NET 条形码库,用于在 C# 应用程序中生成和读取条形码。它是开发人员在为 .NET 项目选择条形码解决方案时评估的几个备选方案之一。
Telerik Barcode 和 IronBarcode 的主要区别是什么?
IronBarcode 使用静态、无状态的 API,无需实例管理,而 Telerik Barcode 通常需要在使用前创建和配置实例。IronBarcode 还提供原生 PDF 支持、自动格式检测以及跨所有环境的单密钥许可。
IronBarcode 的授权比 Telerik Barcode 更容易吗?
IronBarcode 使用单一许可证密钥,同时涵盖开发和生产部署。与将 SDK 密钥与运行时密钥分开的许可系统相比,这简化了 CI/CD 流水线和 Docker 配置。
IronBarcode是否支持Telerik Barcode支持的所有条形码格式?
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 与 Telerik Barcode 相比,在批量处理方面有何不同?
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 安装程序或运行时文件。
与 Telerik 不同,我可以在购买前评估 IronBarcode 吗?
是的。IronBarcode 的试用模式会返回完整的解码条形码值——只有生成的输出图像才会带有水印。您可以在购买前,用自己的文档测试读取准确率。
Telerik Barcode 和 IronBarcode 的价格差异是多少?
IronBarcode 的永久单开发者许可证起价为 749 美元,涵盖开发和生产环境。定价详情和批量许可选项请访问 IronBarcode 许可页面。无需单独的运行时许可证。
从 Telerik Barcode 迁移到 IronBarcode 是否简单?
从 Telerik Barcode 迁移到 IronBarcode 主要涉及将基于实例的 API 调用替换为 IronBarcode 的静态方法、移除许可相关的样板代码以及更新结果属性名称。大多数迁移工作都是减少代码,而不是增加代码。
IronBarcode 能生成带有 logo 的二维码吗?
是的。`QRCodeWriter.CreateQrCode().AddBrandLogo("logo.png")` 可以将品牌图片原生嵌入二维码中,并支持配置纠错功能。此外,它还支持通过 `ChangeBarCodeColor()` 函数创建彩色二维码。

