在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
究竟什么是 BarCode? BarCode 是一种正方形或长方形图片,由一连串长度不等的平行黑线和白线组成,可用扫描仪读取。 产品上贴有 BarCode 标签,以便于识别。条形码被广泛应用于各种场合,包括零售企业的采购流程、仓库的库存管理以及账单的会计处理。
您能使用 .NET 平台读取和生成 BarCode 吗? 是的,您可以使用 .NET Framework 创建和扫描条形码。 在本文中,我们将了解开发人员如何在 .NET 语言环境中制作和扫描 BarCode。 我们将讨论和比较开发人员用来处理 BarCode 的两个软件程序。 您将需要这些工具:
IronBarcode 是一个用于读取和创建条形码的 .NET 库。 IronBarcode for .NET 是一个流行的 .NET 条码库,可以创建各种一维和二维条码,以及可定制的条码。(彩色和品牌)QR 码 IronBarcode 允许程序员使用任何 .NET 语言。
IronBarcode for .NET 兼容 .NET Core 2x 和 3x、.NET Standard、.NET Framework 4x 和 Azure。 它可以生成 postscript 输出,并使用一些标准代码转换文本字符串。
开发人员使用 Dynamsoft BarCode 阅读器可将一维和二维条形码扫描快速集成到他们在各种平台上运行的程序中。 除扫描线性 BarCode 外,还可用作强大的 QR 码阅读器或二维成像仪。
Dynamsoft 的条形码扫描 SDK 是业内最好的。 它可以轻松应对各种情况,包括
通过默认扫描设置,该 SDK 在许多典型情况下都能很好地工作,但为了使您的独特业务需求获得最佳性能,该 SDK 完全可以调整,以便能够专门为您优化性能。 从大量参数列表中进行选择,每个参数都包含多种模式。 模式是条形码阅读器可执行的特定功能,每种模式都可包含一些参数,用于进一步微调或个性化应用程序。
Dynamsoft BarCode Reader SDK 包含其他任何条码 SDK 都不具备的功能。 开发人员可以利用它从解码过程中获取多个数据点。 这些 "中间图片结果 "包含高级用户可用于提高效率或在其他工作流程中生成新应用程序的数据。 在解码条形码的过程中,会生成许多不同种类的中间图片输出。
Dynamsoft 条码阅读器 SDK 是一款可靠的条码扫描器软件,可为各种类型的条码提供条码阅读功能。
打开 Visual Studio 软件,进入 "文件 "菜单。 选择 "新项目",然后选择控制台应用程序。
在相应文本框中输入项目名称并选择路径。 然后,单击 "创建 "按钮。 选择所需的 .NET Framework,如下图所示:
Visual Studio 项目现在将为所选应用程序生成结构,如果您选择了控制台、Windows 和 Web 应用程序,它将打开 program.cs 文件,您可以在其中输入代码并构建/运行应用程序。
现在我们可以添加库并测试程序了。
IronBarcode 库可以通过四种不同方式下载和安装。 它们是
Visual Studio 软件提供了 NuGet 软件包管理器选项,可直接将软件包安装到解决方案中。 下面的截图显示了如何打开 NuGet 包管理器。
它提供了一个搜索框,用于显示 NuGet 网站上可用的软件包库列表。在软件包管理器中,我们需要搜索关键字 "IronBarCode",如下图所示:
从上图中,我们可以看到搜索列表中的相关软件包列表。我们需要选择 IronBarcode 选项,并在解决方案中安装该软件包。
在 Visual Studio 菜单中,转到工具-> NuGet 包管理器->包管理器控制台。
在软件包管理器控制台选项卡中输入以下一行:
Install-Package BarCode
现在,软件包将下载/安装到当前项目,并可随时使用。
第三种方法是直接从网站下载软件包。
点击 链接 从网站下载最新软件包。下载完成后,请按照以下步骤将软件包添加到项目中。
IronBarcode 库可以通过四种不同的方式下载和安装。 它们是
Dynamsoft BarCode 阅读器使开发人员能够使用 Visual Studio NuGet 软件包管理器轻松地将其工具与 .NET 项目集成。 按照以下步骤进行:
它提供了一个搜索框,显示 NuGet 网站上可用的软件包库列表。在软件包管理器中,我们需要搜索关键字 "Dynamsoft",如下图所示:
在上图中,我们可以看到搜索到的相关软件包列表。 我们需要选择 Dynamsoft 选项并将软件包安装到我们的解决方案中。
在 Visual Studio 菜单中,转到工具-> NuGet 包管理器->包管理器控制台
在软件包管理器控制台选项卡中输入以下一行:
Install-Package Dynamsoft.DotNet.Barcode
现在,软件包将下载/安装到当前项目,并可随时使用。
第三种方法是直接从网页上下载 NuGet 软件包。
点击 链接 在此直接从网页下载最新软件包。 下载完成后,请按照以下步骤将软件包添加到项目中。
阅读 BarCode 以获取嵌入其中的信息非常有用。 在本节中,我们将讨论这些工具如何读取不同的 BarCode。
条码阅读器是一个读取条码的脚本。 IronBarCode 名称空间的 QuicklyReadOneBarcode 函数是在 .NET Framework 中读取条形码的绝佳工具。 我们可以通过选择 BarCode 编码方案来大大提高速度,还可以通过将 TryHarder 选项设置为 True 来强制其自动调整透视和数字噪声。
QuicklyReadAllBarcodes 技术与之类似,但它可以扫描 PDF 和多页 TIFF 等多页文档的多个条形码。
using IronBarCode;
using System;
using System.Drawing;
BarcodeResult QRResult = BarcodeReader.QuicklyReadOneBarcode("QR.png");
if (QRResult != null)
{
string Value = QRResult.Value;
Bitmap Img = QRResult.BarcodeImage;
BarcodeEncoding BarcodeType = QRResult.BarcodeType;
byte [] Binary = QRResult.BinaryValue;
Console.WriteLine(QRResult.Value);
}
using IronBarCode;
using System;
using System.Drawing;
BarcodeResult QRResult = BarcodeReader.QuicklyReadOneBarcode("QR.png");
if (QRResult != null)
{
string Value = QRResult.Value;
Bitmap Img = QRResult.BarcodeImage;
BarcodeEncoding BarcodeType = QRResult.BarcodeType;
byte [] Binary = QRResult.BinaryValue;
Console.WriteLine(QRResult.Value);
}
Imports IronBarCode
Imports System
Imports System.Drawing
Private QRResult As BarcodeResult = BarcodeReader.QuicklyReadOneBarcode("QR.png")
If QRResult IsNot Nothing Then
Dim Value As String = QRResult.Value
Dim Img As Bitmap = QRResult.BarcodeImage
Dim BarcodeType As BarcodeEncoding = QRResult.BarcodeType
Dim Binary() As Byte = QRResult.BinaryValue
Console.WriteLine(QRResult.Value)
End If
Dynamsoft 条码阅读器提供强大的 QR 码阅读器和条码阅读功能,代码简单。 在此,我们将讨论从图像文件中读取条形码并输出条形码格式和文本的最简单方法。
using System;
using Dynamsoft;
using Dynamsoft.DBR;
namespace HelloWorld
{
class Program
{
static void Main(string [] args)
{
try
{
// 1.Initialize license.
EnumErrorCode errorCode = BarcodeReader.InitLicense("DLS2eyJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSJ9", out string errorMsg);
if (errorCode != EnumErrorCode.DBR_SUCCESS)
{
Console.WriteLine(errorMsg);
}
// 2. Create an instance of Barcode Reader
BarcodeReader dbr = new BarcodeReader();
try
{
TextResult [] results = null;
// 3. Read barcode from an image file
results = dbr.DecodeFile("../../../../images/AllSupportedBarcodeTypes.png", "");
if (results != null && results.Length > 0)
{
for (int i = 0; i < results.Length; ++i)
{
Console.WriteLine("Result " + (i + 1).ToString() + ":");
// 4. Get format of each barcode
if (results [i].BarcodeFormat != EnumBarcodeFormat.BF_NULL)
Console.WriteLine(" Barcode Format: " + results [i].BarcodeFormatString);
else
Console.WriteLine(" Barcode Format: " + results [i].BarcodeFormatString_2);
// 5. Get text result of each barcode
Console.WriteLine(" Barcode Text: " + results [i].BarcodeText);
}
}
else
{
Console.WriteLine("No barcode detected.");
}
}
catch (BarcodeReaderException exp)
{
Console.WriteLine(exp.Message);
}
}
catch (Exception exp)
{
Console.WriteLine(exp.Message);
}
Console.WriteLine("Press any key to quit...");
Console.ReadKey();
}
}
}
using System;
using Dynamsoft;
using Dynamsoft.DBR;
namespace HelloWorld
{
class Program
{
static void Main(string [] args)
{
try
{
// 1.Initialize license.
EnumErrorCode errorCode = BarcodeReader.InitLicense("DLS2eyJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSJ9", out string errorMsg);
if (errorCode != EnumErrorCode.DBR_SUCCESS)
{
Console.WriteLine(errorMsg);
}
// 2. Create an instance of Barcode Reader
BarcodeReader dbr = new BarcodeReader();
try
{
TextResult [] results = null;
// 3. Read barcode from an image file
results = dbr.DecodeFile("../../../../images/AllSupportedBarcodeTypes.png", "");
if (results != null && results.Length > 0)
{
for (int i = 0; i < results.Length; ++i)
{
Console.WriteLine("Result " + (i + 1).ToString() + ":");
// 4. Get format of each barcode
if (results [i].BarcodeFormat != EnumBarcodeFormat.BF_NULL)
Console.WriteLine(" Barcode Format: " + results [i].BarcodeFormatString);
else
Console.WriteLine(" Barcode Format: " + results [i].BarcodeFormatString_2);
// 5. Get text result of each barcode
Console.WriteLine(" Barcode Text: " + results [i].BarcodeText);
}
}
else
{
Console.WriteLine("No barcode detected.");
}
}
catch (BarcodeReaderException exp)
{
Console.WriteLine(exp.Message);
}
}
catch (Exception exp)
{
Console.WriteLine(exp.Message);
}
Console.WriteLine("Press any key to quit...");
Console.ReadKey();
}
}
}
Imports System
Imports Dynamsoft
Imports Dynamsoft.DBR
Namespace HelloWorld
Friend Class Program
Shared Sub Main(ByVal args() As String)
Try
' 1.Initialize license.
Dim errorMsg As String
Dim errorCode As EnumErrorCode = BarcodeReader.InitLicense("DLS2eyJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSJ9", errorMsg)
If errorCode <> EnumErrorCode.DBR_SUCCESS Then
Console.WriteLine(errorMsg)
End If
' 2. Create an instance of Barcode Reader
Dim dbr As New BarcodeReader()
Try
Dim results() As TextResult = Nothing
' 3. Read barcode from an image file
results = dbr.DecodeFile("../../../../images/AllSupportedBarcodeTypes.png", "")
If results IsNot Nothing AndAlso results.Length > 0 Then
For i As Integer = 0 To results.Length - 1
Console.WriteLine("Result " & (i + 1).ToString() & ":")
' 4. Get format of each barcode
If results (i).BarcodeFormat <> EnumBarcodeFormat.BF_NULL Then
Console.WriteLine(" Barcode Format: " & results (i).BarcodeFormatString)
Else
Console.WriteLine(" Barcode Format: " & results (i).BarcodeFormatString_2)
End If
' 5. Get text result of each barcode
Console.WriteLine(" Barcode Text: " & results (i).BarcodeText)
Next i
Else
Console.WriteLine("No barcode detected.")
End If
Catch exp As BarcodeReaderException
Console.WriteLine(exp.Message)
End Try
Catch exp As Exception
Console.WriteLine(exp.Message)
End Try
Console.WriteLine("Press any key to quit...")
Console.ReadKey()
End Sub
End Class
End Namespace
IronBarcode 是一个免费提供开发者许可证的库。 IronBarcode 还具有独特的定价结构:Lite 捆绑软件起价为 $749,没有任何隐藏费用。 SaaS 和 OEM 产品也可以重新分配。 所有许可证均有 30 天退款保证、一年的软件支持和升级、开发/分期/生产有效性以及永久许可证。(一次性购买). IronBarcode 还提供免费版本。 要查看 IronBarcode 的整个价格结构和许可证,请访问 这里.
Dynamsoft 条码阅读器提供基于 "每个条码读取 "和 "每个活动浏览器客户端 "的灵活许可选项。 Dynamsoft BarCode 阅读器定价如下:
每条码扫描
100,000 条 BarCode 扫描捆绑包的费用为 4,999 美元/年。
每个活动浏览器客户端
100 个浏览器客户端的捆绑费用为 4999 美元/年。
Dynamsoft 条码阅读器提供出色的许可和支持选项,以鼓励开发人员选择 Dynamsoft 条码阅读器 SDK。
IronBarcode for .NET 是一个领先的 .NET 条码库,使程序员能够读取和创建条码。 它支持广泛的一维和二维 BarCode,以及定制的(彩色和品牌)QR 码 IronBarcode 允许开发人员使用所有与 .NET 相关的语言。 IronBarcode 比其他任何 C# 条码阅读器和生成器都要快。 它采用了一种独特的算法,可以轻松扫描皱巴巴的 QR 码,条形码识别准确率极高。 它还提供了一个功能强大的 QR 码阅读器,只需几行代码就能读取任何类型的条形码和 QR 码。 IronBarcode 在从模糊图像中读取条形码方面表现出色,技术支持可提供终身协助。
Dynamsoft 条码阅读器 SDK 在同时扫描大量条码方面也比竞争对手更胜一筹。 它有不同的使用场景,如适用于 android 移动应用程序、Linux 桌面、Linux 移动应用程序和 iPhone 移动应用程序的 BarCode 阅读功能,以及对多种浏览器的支持。 其还有助于扫描低质量图像的 BarCode。 其可在您的网页、桌面或移动应用程序中提供嵌入式条形码读取功能,只需使用几行代码即可。 Dynamsoft 条码阅读器可满足开发人员对自定义扫描仪分辨率设置的需求,提供及时和有益的响应,以及实现 1d 和 2d 解码条码。 只要 License 仍然有效,Dynamsoft BarCode 阅读器支持团队即可提供支持。 它还提供使用嵌入式条形码读取功能高精度扫描低质量图像的功能。
与 Dynamsoft 许可选项相比,IronBarcode 的定价结构相对较低,可能正是由于 Dynamsoft 条码阅读器的成本问题,才使得用户对其不太青睐。 Dynamsoft 的收费结构以计数为基础,即取决于在单个采购软件中扫描不同平台(如 Windows 桌面和 Mac 桌面)的 BarCode 数量。 另一方面,IronBarcode 提供一次性购买,没有持续性费用,而 Dynamsoft 条码阅读器的定价是基于年度购买。
在比较了 IronBarcode 和 Dynamsoft 条码阅读器之后,我们可以得出这样的结论:IronBarcode 不仅在条码读取方面,而且在提供条码生成功能方面都提供了更多的功能,而且价格更低。Dynamsoft 条码阅读器在读取方面提供的更多,而 IronBarcode 则提供所有类型的条码相关服务。 对于 .NET 编程,IronBarcode 只需几行代码即可提供所有功能,这是其竞争对手未能提供的。除此之外,Iron Software 目前仅以两款软件工具的价格提供全部五款软件工具。 这些工具如下
IronWebScraper
请访问此链接以了解 Iron Suite.