在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
條碼是一種機器可讀代碼,以排列成圖案的線條和空格形式存儲各種物品的信息。條碼由一系列平行的條形組成,用於編碼數據。這些條形成為所謂的“條碼”或“條碼符號”,可以由條碼掃描器讀取。 (有時候簡稱為「掃描器」). 所有條形碼都有四個部分:
條形碼是在零售環境中識別產品最有效的方式。每個產品都有一個唯一的條形碼,可以用掃描器掃描以進行庫存控制或價格驗證。如今,條形碼不僅用作在零售環境中識別產品的有效方式,由於它們被用來以電子方式存儲信息和管理消費者身份,它還成為我們日常生活中的重要方面。
在這篇文章中,我們將比較兩個流行的條形碼庫:
這兩個庫都可以用於條形碼的生成和識別,支持所有 .NET 框架,並允許您保存條形碼圖像。
我們將通過一個示例來看看如何使用 IronBarcode 庫在 C# .NET 中生成條碼。我們會看到創建條碼是多麼簡單,以及如何設置條碼樣式,然後使用 IronBarcode 將其導出。
打開 Visual Studio,然後進入文件菜單。選擇新項目,然後選擇控制台應用程式/Windows Forms/WPF 應用程式。IronBarcode 可以用於所有類型的應用程式。此外,你還可以使用 Webform/MVC/MVC Core 等應用程式。
在相應的文本框中輸入項目名稱和文件路徑。然後,點擊創建按鈕並選擇所需的 .NET Framework。現在,將會生成一個具有所選應用程式結構的項目,如果你選擇了控制台應用程式,它將打開 program.cs 文件,你可以在其中輸入代碼並構建/運行應用程式。
IronBarcode 庫可以通過四種方式下載和安裝:
這些方式是:
Visual Studio 軟體提供了 NuGet 套件管理器選項,可以直接將套件安裝到解決方案中。下面的截圖展示了如何打開 NuGet 套件管理器。
它提供一個搜索框,以顯示來自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 參考文獻.
在 .NET 中使用 IronBarcode 類庫讀取條碼或 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) 這樣可以大大提高條碼識別的性能和準確性。我們使用管道字符或“位或”同時指定多種格式。若我們進一步使用視覺方法或 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 實現了一個類似於 System.Linq 的自選流暢 API。通過將方法調用鏈接到方法調用,再鏈接到方法調用,我們首先創建一個條碼,然後設置其邊距,然後將其導出為 Bitmap,只需一行代碼。這非常方便,並且使代碼更易讀。
免費的 Spire.Barcode for .NET 是專為 .NET 開發者設計的免費且專業的條碼 API (C#, VB.NET, ASP.NET) 生成和讀取一維和二維條碼。開發人員和程序員可以使用 Spire.BarCode 爲他們的 .NET 應用、ASP.NET Winforms 和 Web Service 快速且輕鬆地添加企業級條碼格式。免費 Spire.Barcode for .NET 提供了一個非常簡單的方法來整合條碼處理。Spire 支持生成、讀取一維和二維條碼,Spire.BarCode 支持多種常用影像格式,例如 Bitmap, JPG, PNG, EMF, TIFF, GIF 和 WMF。同時也支持 QR 碼。
我們首先需要安裝Spire庫,將條形碼功能添加到.NET框架中。我們可以通過使用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 物件以生成圖片。
條碼掃描器是用來掃描條碼圖片的類。使用包含條碼圖片的 Bitmap 對象調用其方法 Scan,它會返回一個字串。 [] 儲存掃描結果的值。使用 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 Package:
此套餐允許組織中的單個軟體開發者在單一地點利用 Iron Software。Iron Software 可用於單一的網頁應用程式、內聯網應用程式或桌面軟體計畫。授權不可轉讓,且不得在組織外或代理/客戶關係外共享。此授權類型與所有其他授權類型一樣,明確排除協議中未明確授予的所有權利,如未購買額外覆蓋範圍,即不包括 OEM 重新分發和 SaaS 使用。
價格:從每年 $749 開始。
Professional License:
此套餐允許組織中的預定數量的軟體開發者在單一地點利用 Iron Software,最多可達十個。Iron Software 可以用於任意數量的網站、內聯網應用程式或桌面軟體應用程式。授權不可轉讓,且不得在組織外或代理/客戶關係外共享。此授權類型與所有其他授權類型一樣,明確排除協議中未明確授予的所有權利,包括 OEM 重新分發和在未購買額外覆蓋範圍的情況下使用 Iron Software 作為 SaaS。此授權可集成到最多十個項目中。
價格:從每年 $999 開始。
Unlimited License:
此授權允許組織中的無限數量的軟體開發者在無限多的地點利用 Iron Software。Iron Software 可以用於任意數量的網站、內聯網應用程式或桌面軟體應用程式。授權不可轉讓,且不得在組織外或代理/客戶關係外共享。此授權類型與所有其他授權類型一樣,明確排除協議中未明確授予的所有權利,包括 OEM 重新分發和在未購買額外覆蓋範圍的情況下使用 Iron Software 作為 SaaS。
價格:從每年 $2999 開始。
免版稅重新分發:這允許您將 Iron Software 作為不同包裝的商業產品的一部分進行分發。 (無需支付版稅) 根據基礎授權涵蓋的專案數量決定。它還允許基於基礎授權涵蓋的專案數量在SaaS軟體服務中部署Iron Software。
定價:每年起價$1599。
無間斷的產品支援和更新:這允許您獲取產品更新、安全功能升級和我們工程團隊的支援。
定價:每年起價$399。
在 C# 中創建 QR Code
支持是付費的,所有訂閱均為一次性。只有 OEM 訂閱適用於面向公眾的網站和基於雲的應用程序。
開發者訂閱:
此套餐授權一名開發者使用該產品創建無限數量的應用程序,並可在您組織內的一個地理位置進行部署。 (僅供內部使用). 它不允許將您的自定義應用程序分發給第三方、面向公眾的網站,或 SaaS/PaaS/IaaS 項目。
價格:每年起價 $898。
開發人員 OEM 訂閱:
該包授權一位開發人員使用該產品創建無限的自定義應用程序,並允許以任何形式將應用程序分發到任意數量的地理位置。
價格:每年起價 $3395。
企業站點訂閱:
這授權最多 10 位開發人員創建無限數量的應用程序,這些應用程序可以部署至最多 10 個地理位置。它不允許將您的自定義應用程序分發到面向公眾的網站或 SaaS/PaaS/IaaS 項目。
價格:每年起價 $5301。
企業 OEM 訂閱:
這授權最多 50 位開發人員使用某產品創建無限數量的自定義應用程序,並允許以任何形式將應用程序分發到任意數量的地理位置。
價格:每年起價 $10187。
IronBarcode Lite 套件包括一個開發者的包裹,並提供一年的技術支持,價格約為 $749,而 Spire Developer OEM Subscription 包括一個開發者包,價格為 $3394。含一年所有更新、重大版本發布及技術支持,不含發布和技術支持的價格為 $1695。IronPDF Professional 套件包括10個開發者包和一年的支持,價格為 $999,而 Spire Site OEM Subscription 包括10個開發者包的價格為 $10187.00/年。含一年所有更新、重大版本發布及技術支持價格,且不含發布和更新價格為 $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 提供了一種集成條碼處理的方法。只需一行代碼,我們就可以創建條碼並讀取 1D 和 2D 條碼。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#),還可以生成多個條形碼。
所以,你還在等什麼?立即下載免費試用版! 您可以獲取 許可證 立即在這裡開始。