在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
條碼是一種類型的機器可讀代碼,它以線條和空格排列的形式存儲有關各種項目的信息。 條碼由一系列平行線條組成,用於編碼數據。 這些條紋構成了所謂的「條碼」或「條碼符號」,可以被條碼掃描器讀取。(有時候簡稱為「掃描器」). 所有條碼都有四個部分:
停止字符
條碼是識別零售環境中產品的最有效方式。 每個產品都有一個唯一的條碼,這可以用掃描器進行庫存控制或價格驗證。 如今,條碼不僅僅是零售環境中識別產品的有效方式,它們已經成為我們日常生活中一個重要的方面,因為它們用於電子存儲信息和管理消費者身份。
在這篇文章中,我們將比較兩個受歡迎的條碼庫:
IronBarcode
這兩個函式庫均可用於生成和識別條碼,提供對所有 .NET 框架的支持,並允許您儲存條碼圖像。
我們將透過一個範例來看看如何使用 IronBarcode 庫在 C# .NET 中生成條碼。 我們將看到創建條碼是多麼容易,以及如何設計我們的條碼,然後使用IronBarcode導出它。
打開 Visual Studio,然後進入檔案選單。 選擇新專案,然後選擇主控台應用程式/Windows 表單/WPF 應用程式。 IronBarcode 可以用於各種類型的應用程式。 此外,您可以使用 Webform/MVC/MVC Core 等應用程式。
在相應的文字框中輸入專案名稱並選擇文件路徑。 然後,點擊「建立」按鈕並選擇所需的 .NET Framework。 該專案現在將按照所選應用程式的結構生成,如果選擇了主控台應用程式,則會開啟 program.cs 檔案,您可以在其中輸入程式碼並建置/運行應用程式。
IronBarcode 庫可以通過四種方式下載和安裝:
這些是:
Visual Studio 軟體提供 NuGet 套件管理器選項,以直接將套件安裝至解決方案。 以下截圖顯示如何打開 NuGet Package Manager。
它提供一個搜索框,以顯示來自NuGet網站的軟體包列表。在軟體包管理器中,我們需要搜索關鍵字“Barcode”,如下面的截圖所示:
從上圖中,我們將獲得相關搜尋結果的清單。 我們需要選擇所需選項將套件安裝到解決方案中。
在 Visual Studio 工具中,前往 工具 -> NuGet 套件管理員 -> 套件管理員主控台
在控制台標籤中輸入以下行:
Install-Package BarCode
現在套件將下載/安裝到當前專案並準備好使用。
第三種方法是直接從網站下載套件。
點擊 連結 從網站下載最新套件。下載後,按照以下步驟將套件添加到專案中。
然後,點擊「確定」以添加參考。
首先我們需要做的是安裝 IronBarcode 程式庫,將條碼功能添加到 .NET 框架中。 我们可以使用我们的 NuGet 套件 或下載.NET Barcode DLL。
Install-Package BarCode
在下面的範例中,我們可以看到,使用 IronBarcode 只需要幾行代碼,即可生成包含數字或文本內容的條碼。
// Generate a Simple BarCode image and save as PNG
//using IronBarCode;
GeneratedBarcode MyBarCode = IronBarCode.BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeWriterEncoding.Code128);
MyBarCode.SaveAsPng("MyBarCode.png");
// This line opens the image in your default image viewer
System.Diagnostics.Process.Start("MyBarCode.png");
// Generate a Simple BarCode image and save as PNG
//using IronBarCode;
GeneratedBarcode MyBarCode = IronBarCode.BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeWriterEncoding.Code128);
MyBarCode.SaveAsPng("MyBarCode.png");
// This line opens the image in your default image viewer
System.Diagnostics.Process.Start("MyBarCode.png");
' Generate a Simple BarCode image and save as PNG
'using IronBarCode;
Dim MyBarCode As GeneratedBarcode = IronBarCode.BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeWriterEncoding.Code128)
MyBarCode.SaveAsPng("MyBarCode.png")
' This line opens the image in your default image viewer
System.Diagnostics.Process.Start("MyBarCode.png")
我們首先通過指定其值來創建條碼,我們將使用的條碼格式來自 IronBarCode.BarcodeWriterEncoding Enum。 然後,我們可以選擇存儲為圖片,或作為 System.Drawing.Image,或作為 Bitmap 對象。 這就是全部程式碼所需的內容! 最後一行程式碼只是為了讓您親眼看到範例中的條碼 PNG 而打開它。
儘管前一個例子很有效,但在現實世界中,我們可能希望做更多。 在下面的例子中,我們可以在條碼上添加註解,設置字體,並在其下顯示其值,添加邊距,更改條碼顏色,然後在C#中非常簡單地保存它。 我們也可以選擇匯出為 HTML 或 PDF,而不是圖像,如果這樣更適合我們的應用。
//using IronBarCode;
//using System.Drawing;
// Styling a QR code and adding annotation text
var MyBarCode = IronBarCode.BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeWriterEncoding.QRCode);
MyBarCode.AddAnnotationTextAboveBarcode("Product URL:");
MyBarCode.AddBarcodeValueTextBelowBarcode();
MyBarCode.SetMargins(100);
MyBarCode.ChangeBarCodeColor(Color.Purple);
// Save as HTML
MyBarCode.SaveAsHtmlFile("MyBarCode.html");
//using IronBarCode;
//using System.Drawing;
// Styling a QR code and adding annotation text
var MyBarCode = IronBarCode.BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeWriterEncoding.QRCode);
MyBarCode.AddAnnotationTextAboveBarcode("Product URL:");
MyBarCode.AddBarcodeValueTextBelowBarcode();
MyBarCode.SetMargins(100);
MyBarCode.ChangeBarCodeColor(Color.Purple);
// Save as HTML
MyBarCode.SaveAsHtmlFile("MyBarCode.html");
'using IronBarCode;
'using System.Drawing;
' Styling a QR code and adding annotation text
Dim MyBarCode = IronBarCode.BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeWriterEncoding.QRCode)
MyBarCode.AddAnnotationTextAboveBarcode("Product URL:")
MyBarCode.AddBarcodeValueTextBelowBarcode()
MyBarCode.SetMargins(100)
MyBarCode.ChangeBarCodeColor(Color.Purple)
' Save as HTML
MyBarCode.SaveAsHtmlFile("MyBarCode.html")
程式碼應該是不言自明的,但如果不是這樣的話,我鼓勵你閱讀 生成的條碼 類文件內 API 參考文獻.
使用 IronBarcode 類別庫在 .NET 中讀取條碼或 QR 碼非常簡單,並且 .NET 條碼讀取器. 在我們的第一個範例中,我們可以看到如何用一行程式碼讀取此條碼。
用C#掃描條碼圖像
我們可以提取其值、其影像、其編碼類型、其二進位數據(如果有),然後我們可以將其輸出到控制台。
using IronBarCode;
using System;
BarcodeResult Result = BarcodeReader.QuicklyReadOneBarcode("GetStarted.png");
if (Result !=null && Result.Text == "https://ironsoftware.com/csharp/barcode/")
{
Console.WriteLine("GetStarted was a success. Read Value: " + Result.Text);
}
using IronBarCode;
using System;
BarcodeResult Result = BarcodeReader.QuicklyReadOneBarcode("GetStarted.png");
if (Result !=null && Result.Text == "https://ironsoftware.com/csharp/barcode/")
{
Console.WriteLine("GetStarted was a success. Read Value: " + Result.Text);
}
Imports IronBarCode
Imports System
Private Result As BarcodeResult = BarcodeReader.QuicklyReadOneBarcode("GetStarted.png")
If Result IsNot Nothing AndAlso Result.Text = "https://ironsoftware.com/csharp/barcode/" Then
Console.WriteLine("GetStarted was a success. Read Value: " & Result.Text)
End If
我們將把 TryHarder 變數添加到 QuicklyReadOneBarcode 方法中。 這會使程式更努力地嘗試,事實上花費更多時間,但它會更深入地掃描可能被遮蔽、損壞或有偏斜角度的 QR 碼。
BarcodeResult Result = BarcodeReader.QuicklyReadOneBarcode("TryHarderQR.png", BarcodeEncoding.QRCode
BarcodeEncoding.Code128 , true);
BarcodeResult Result = BarcodeReader.QuicklyReadOneBarcode("TryHarderQR.png", BarcodeEncoding.QRCode
BarcodeEncoding.Code128 , true);
Dim Result As BarcodeResult = BarcodeReader.QuicklyReadOneBarcode("TryHarderQR.png", BarcodeEncoding.QRCode BarcodeEncoding.Code128, True)
它現在可以識別這個傾斜的 QR Code:
使用 C# 掃描旋轉 45 度的 QR 碼
您會看到我們可以指定條碼編碼(s)我們正在尋找的格式或指定多種格式。 這樣做可以大幅提高條碼讀取的性能和準確性。 管道字符或「位元運算 OR」用於同時指定多個格式。 如果我們採用視覺方法或使用 BarcodeReader.ReadASingleBarcode 方法的元件模式,便可以以更高的特定化程度達成相同的成果。
在現實世界的使用情境中,我們可能希望讀取不是完美截圖的條碼。 它們可能是不完美的圖像、掃描或照片,並包含數位噪聲或失真。 對於大多數傳統的開源 .net 條碼生成器和讀取庫來說,這是不可能的。 然而,這 C# 中的條碼讀取器 這讓它變得非常簡單。 我們將查看 QuicklyReadOneBarcode
的 TryHarder
方法。 此單一參數使 IronBarcode 嘗試去傾斜並從不完美的數位樣本中讀取條碼。
我們將設置特定的條碼旋轉校正和條碼影像校正,以校正數位噪音,以及手機攝影可能出現的傾斜、透視和旋轉。
使用 C# 從手機相機讀取條碼
using IronBarCode;
using System;
using System.Drawing;
var PhotoResult = BarcodeReader.ReadASingleBarcode("Photo.png", BarcodeEncoding.Code128, BarcodeReader.BarcodeRotationCorrection.Medium, BarcodeReader.BarcodeImageCorrection.DeepCleanPixels);
string Value = PhotoResult.Value;
System.Drawing.Bitmap Img = PhotoResult.BarcodeImage;
BarcodeEncoding BarcodeType = PhotoResult.BarcodeType;
byte [] Binary = PhotoResult.BinaryValue;
Console.WriteLine(PhotoResult.Value);
using IronBarCode;
using System;
using System.Drawing;
var PhotoResult = BarcodeReader.ReadASingleBarcode("Photo.png", BarcodeEncoding.Code128, BarcodeReader.BarcodeRotationCorrection.Medium, BarcodeReader.BarcodeImageCorrection.DeepCleanPixels);
string Value = PhotoResult.Value;
System.Drawing.Bitmap Img = PhotoResult.BarcodeImage;
BarcodeEncoding BarcodeType = PhotoResult.BarcodeType;
byte [] Binary = PhotoResult.BinaryValue;
Console.WriteLine(PhotoResult.Value);
Imports IronBarCode
Imports System
Imports System.Drawing
Private PhotoResult = BarcodeReader.ReadASingleBarcode("Photo.png", BarcodeEncoding.Code128, BarcodeReader.BarcodeRotationCorrection.Medium, BarcodeReader.BarcodeImageCorrection.DeepCleanPixels)
Private Value As String = PhotoResult.Value
Private Img As System.Drawing.Bitmap = PhotoResult.BarcodeImage
Private BarcodeType As BarcodeEncoding = PhotoResult.BarcodeType
Private Binary() As Byte = PhotoResult.BinaryValue
Console.WriteLine(PhotoResult.Value)
在我們的最後一個示例中,我們將看到可以使用一行代碼創建、設計和匯出條碼。 IronBarcode 實現了一個可選的流暢 API,類似於 System。 Linq。 通過連續不斷的方法調用,我們首先創建一個條碼,然後設置其邊距,再將其匯出為位圖,只需一行程式碼即可完成。這樣做非常便利,且能讓程式碼更易於閱讀。
Free Spire.Barcode for .NET 是一個專為 .NET 開發者設計的免費和專業條碼 API。(C#, VB.NET, ASP.NET)生成和讀取一維及二維條碼。 開發人員和程式設計師可以使用 Spire.BarCode 快速且輕鬆地將企業級條碼格式添加到他們的 .net 應用程式、asp.net Winforms 和 Web 服務中。 Free Spire.Barcode for .NET 提供了一種非常簡單的方式來整合條碼處理。 生成、讀取 1D 和 2D 條碼,Spire.BarCode 支援多種常見的圖像格式,如 Bitmap、JPG、PNG、EMF、TIFF、GIF 和 WMF。 它也支持 QR 碼。
首先,我們需要安裝 Spire 函式庫,為 .NET Framework 添加條碼功能。 我們可以透過使用NuGet套件來做到這一點。 就像我們在 IronBarcode 的情況中所做的一樣,過程相同——按照相同的步驟,鍵入「Spire barcode」,並將套件新增到專案中。
該庫提供了用於創建條碼圖像的方法。 這是多載方法。 在這部分中,我列出了方法的定義。 這些方法將在程式碼中用來測試該庫的性能。
using Spire.Barcode;
using System.Drawing;
namespace QRCode
{
class Program
{
static void Main(string [] args)
{
BarcodeSettings settings = new BarcodeSettings();
settings.Type = BarCodeType.QRCode;
settings.Data = "Hello world";
settings.Data2D = "Hello 123456789";
settings.QRCodeDataMode = QRCodeDataMode.AlphaNumber;
settings.X = 1.0f;
settings.QRCodeECL = QRCodeECL.H;
BarCodeGenerator generator = new BarCodeGenerator(settings);
Image image = generator.GenerateImage();
image.Save("QRCode.png");
}
}
}
using Spire.Barcode;
using System.Drawing;
namespace QRCode
{
class Program
{
static void Main(string [] args)
{
BarcodeSettings settings = new BarcodeSettings();
settings.Type = BarCodeType.QRCode;
settings.Data = "Hello world";
settings.Data2D = "Hello 123456789";
settings.QRCodeDataMode = QRCodeDataMode.AlphaNumber;
settings.X = 1.0f;
settings.QRCodeECL = QRCodeECL.H;
BarCodeGenerator generator = new BarCodeGenerator(settings);
Image image = generator.GenerateImage();
image.Save("QRCode.png");
}
}
}
Imports Spire.Barcode
Imports System.Drawing
Namespace QRCode
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim settings As New BarcodeSettings()
settings.Type = BarCodeType.QRCode
settings.Data = "Hello world"
settings.Data2D = "Hello 123456789"
settings.QRCodeDataMode = QRCodeDataMode.AlphaNumber
settings.X = 1.0F
settings.QRCodeECL = QRCodeECL.H
Dim generator As New BarCodeGenerator(settings)
Dim image As Image = generator.GenerateImage()
image.Save("QRCode.png")
End Sub
End Class
End Namespace
生成的 QR 條碼圖像如下所示。
在 C# 中創建 QR Code
//Generate the barcode based on the this.barCodeControl1
BarCodeGenerator generator = new BarCodeGenerator(this.barCodeControl1);
Image barcode = generator.GenerateImage();
//save the barcode as an image
barcode.Save("barcode.png");
//Generate the barcode based on the this.barCodeControl1
BarCodeGenerator generator = new BarCodeGenerator(this.barCodeControl1);
Image barcode = generator.GenerateImage();
//save the barcode as an image
barcode.Save("barcode.png");
'Generate the barcode based on the this.barCodeControl1
Dim generator As New BarCodeGenerator(Me.barCodeControl1)
Dim barcode As Image = generator.GenerateImage()
'save the barcode as an image
barcode.Save("barcode.png")
在此方法中有兩個導入類別 — BarCodeControl 和 BarCodeGenerator。 BarCodeControl 用於儲存關於條碼的資訊。 BarCodeGenerator 是生成條形碼圖像的類別。 它的構造函數接受一個參數 — 一個 BarCodeControl 實例。 它有一個稱為 GenerateImage 的方法()其返回值為 Image 物件以生成圖片。
條碼掃描器是用來掃描條碼圖像的類別。 調用它的方法 Scan,並使用包含條碼圖像的 Bitmap 對象; 它返回一個字符串[]掃描結果存儲的值。 使用 BarcodeScanner 類別來掃描條碼圖像。 它可以在 VB.NET 和 C# 中存儲和新增企業級條碼。
以下是程式碼:
private void btnScan_Click(object sender, EventArgs e)
{
//scan the barcode
string [] datas = Spire.Barcode.BarcodeScanner.Scan("barcode.png");
//show the scan result
this.TextB_ScanResult.Text = datas [0];
}
private void btnScan_Click(object sender, EventArgs e)
{
//scan the barcode
string [] datas = Spire.Barcode.BarcodeScanner.Scan("barcode.png");
//show the scan result
this.TextB_ScanResult.Text = datas [0];
}
Private Sub btnScan_Click(ByVal sender As Object, ByVal e As EventArgs)
'scan the barcode
Dim datas() As String = Spire.Barcode.BarcodeScanner.Scan("barcode.png")
'show the scan result
Me.TextB_ScanResult.Text = datas (0)
End Sub
30天退款保證:購買許可證時,如許可證無法使用或IronBarcode無法正常運行,您可以在30天內獲得退款。
輕鬆整合:IronPDF 與您的專案和環境的整合非常簡單,我們只需在添加時撰寫一行代碼即可實現。 NuGet 套件,或者如果我們從網路下載它,我們可以以這種方式將其整合到我們的環境中。
永久授權:每個授權僅需購買一次,無需續約。
免費支援與產品更新:每個授權都附帶一年的免費產品更新和來自產品團隊的支援。 可以隨時購買擴充套件。 可以查看擴展。
立即授權:註冊的授權金鑰在收到付款後立即發送。
所有授權都是永久性的,適用於開發、測試和生產環境。
Lite 套件:
永久授權
此套件允許組織中的單一軟體開發人員在單一位置使用Iron Software。 Iron Software 可以用於單一的網路應用程式、內部網應用程式或桌面軟體程式。 許可證不可轉讓,且不可在組織外或機構/客戶關係之外共享。此許可證類型,如所有其他許可證類型一樣,明確排除協議中未明確授予的所有權利,若未購買額外覆蓋,則不包括 OEM 重新分發和 SaaS。
定價:每年起始於 $749。
專業授權:
永久授權
此套件允許組織中的一定數量的軟體開發人員在單個地點使用Iron Software,最多可達十人。 Iron Software 可以用於任意數量的網站、內部網應用或桌面軟體應用。授權為不可轉讓,且不能在組織外或代理機構/客戶關係外共享。此類型授權和所有其他類型授權一樣,明確排除協議中未明確授予的所有權利,包括 OEM 重新分發和在未購買額外覆蓋的情況下將 Iron Software 用作 SaaS。 此許可證可以整合至最多10個單一專案。
定價:每年起價 $999。
Unlimited License:
永久授權
這允許一個組織中的無限數量的軟體開發人員在無限數量的地點使用 Iron Software。 Iron Software 可以在任意數量的網站、內聯網應用程式或桌面軟體應用程式中使用。許可證不可轉讓,也不能在組織或機構/客戶關係之外共用。此類型的許可證與所有其他類型的許可證一樣,明確排除在協議下未明確授予的所有權利,包括 OEM 重新分發和在未購買額外保障的情況下將 Iron Software 作為 SaaS 使用。
價格:每年起價 $2999。
免版稅再分發:這允許您作為多種不同包裝的商業產品的一部分來分發 Iron Software。(無需支付版稅)根據基礎授權涵蓋的專案數量。 它還允許在依據基本許可證涵蓋的專案數量內,將 Iron Software 部署於 SaaS 軟體服務中。
價格:每年起價 $ 1599。
不間斷的產品支援和更新:這使您能夠獲得產品更新、安全功能升級以及我們工程團隊的支援。
價格:每年起價 $399。
在 C# 中創建 QR Code
支援是付費的,所有訂閱都只需一次性付款。只有 OEM 訂閱適用於面向公眾的網站和雲端應用程式。
開發者訂閱:
單一部署位置
此套件授權一名開發人員使用該產品創建無限制數量的應用程式,這些應用程式可以在您組織內的一個地理位置部署。(僅供內部使用). 它不允許將您的自定義應用程式分發給第三方、面向公眾的網站或SaaS/PaaS/IaaS專案。
價格:每年起價 $898。
開發者 OEM 訂閱:
無限部署位置
此套件授權一名開發人員使用該產品創建無限制的自訂應用程式,並允許將這些應用程式以任何形式分發到任何數量的地理位置。
價格:每年起價 $3395。
網站企業訂閱:
最多 10 個部署位置
這授權最多 10 名開發人員創建無限數量的應用程式,這些應用程式可以部署在最多 10 個地理位置。 它不允許將您自訂的應用程式分發到面向公眾的網站或 SaaS/PaaS/IaaS 項目。
定價:每年起價為 $5301。
網站 OEM 訂閱:
無限部署位置
這授權最多 50 名開發人員使用某產品創建無限制數量的自訂應用程式,且允許這些應用程式以任何形式分發到任意地理位置。
價格:每年起價 $10187。
IronBarcode Lite 套件包括一個開發者套件和一年的支持服務,約需 $749,而 Spire Developer OEM Subscription 包括一個開發者套件,費用為 $3394。包含所有更新、主要版本發布和技術支持 1 年,不包含版本發布和技術支持的費用為 $1695。IronPDF Professional 套件包括 10 個開發者套件和一年的支持服務,費用為 $999,而 Spire Site OEM Subscription 包括 10 個開發者套件,費用為每年 $10187.00,包括所有更新、主要版本發布和技術支持 1 年,不包含版本發布和更新的費用為 $6558.00。
IronPDF 的 Lite 和 Professional 套餐都提供 SaaS 服務或 OEM,以及五年支援選項。 Lite 版本包括一套開發者包,提供五年支援,附帶 SaaS 和 OEM 服務,費用為 2897 美元。 雖然Spire提供SaaS服務或OEM和一年支援選項。 IronPDF Professional 版本,包括 10 位開發者套件,提供五年的支持及 SaaS 和 OEM 服務,價格為 $3397,而 Spire 套件為 10 位開發者,提供一年支持及 SaaS 和 OEM 服務,價格為 $10187.00。
IronBarcode 用於生成企業級條碼格式的條碼圖像。 它還允許開發者旋轉條形碼圖像,並創建條形碼圖像邊框,以進一步協助條形碼圖像的格式化。 IronBarcode 提供可靠的條碼生成,與其他生成器相比,它生成高品質的條碼圖像。 簡而言之,我們可以使用 IronBarcode 獲得我們想要的輸出圖像格式。 由 IronBarcode 生成的條碼圖像是最好的,因為我們可以通過一行代碼創建、樣式化和導出條碼。 條碼開發人員可以輕鬆整合其他 .NET 應用程式,並提供其可識別的不同條碼類型,包括條碼和郵政條碼。 該庫的組件模型也更有效率——每個組件模式使開發人員能夠生成具有不同風格和格式的條形碼。 這段代碼非常簡單,僅需一行。IronBarcode的識別組件和識別功能更佳。 API 模式使其比其他生成器更可靠。
Spire.Barcode for .NET 提供了一種整合條碼處理的方法。 只需一行代碼,我們就可以創建條碼並讀取一維和二維條碼。 Spire.BarCode 支援多種常見的影像格式,如 Bitmap、JPG、PNG、EMF、TIFF、GIF 和 WMF。 因此,我們可以創建條碼圖像,條碼圖像的開發人員可以輕鬆地通過幾行程式碼添加條碼生成並製作條碼。
IronBarcode 套件提供比 Spire.Barcode 更好的許可證和支援,而且 Spire 的價格更昂貴。IronBarcode 的起價為 $749,而 Spire.Barcode 的起價為 $898,所以 IronBarcode 顯然比 Spire 更具成本效益。IronBarcode 也提供比 Spire.Barcode 更多的功能。 它還提供更好的支援和退款保證,而 Spire 並沒有。 IronBarcode 提供長期支援,並可輕鬆整合至 API 模式的 .NET 應用程式中。 很容易集成到新文件中。(C、VB.NET 和 C#),並且還生成多個條碼。
那麼,你還在等什麼呢? 獲取免費試用! 您可以獲取 許可證 立即在這裡開始。