ZXing解碼器與IronBarcode解碼器的比較
條碼無所不在。 條碼掃描技術被作者用於簽名,大多數書籍簽名都是透過條碼掃描技術實現的。 但是,對於我們的應用來說,條碼掃描器可能並不總是合適的。 您可能擁有條碼的數位圖像和視頻,並想知道它們在英文文字中代表什麼。 此外,條碼掃描器只能讀取只能在 Windows RT 類別庫中使用的 1D 條碼,而這些條碼的資料量有限。 二維條碼,也稱為 QR 碼,如今應用廣泛,其資料矩陣可以儲存更多資料。
ZXing(斑馬線)是一個開源的多格式 1D/2D 條碼影像處理庫,使用 Java 實現,並移植到其他語言。 它可以讀取和寫入多種不同條碼格式的數據,包括電腦上的二維碼和UPC碼。
IronBarcode 是一個 C# .NET 軟體庫,它允許開發人員使用 ZXing 庫讀取和寫入條碼圖像,用於 Web 應用程式測試。 它設計簡單易用,易於整合到任何 .NET 應用程式中,並且可以與 Windows Forms、WPF 和 ASP.NET 框架一起使用。
IronBarcode 的庫提供了一個簡單的 API,用於讀取和寫入條碼圖像,使開發人員能夠輕鬆地將條碼掃描和生成功能添加到他們的軟體中。 IronBarcode 支援讀取和寫入多種不同的條碼格式,包括 QR 碼、UPC 碼、UPC-A 碼、EAN 碼、RSS 擴充碼等,這些條碼用於產品識別。

支援的條碼格式
該程式庫擁有編寫完整的文件和範例程式碼,展示如何開始使用 IronBarcode、如何掃描和解碼條碼、如何產生和編碼條碼以及如何自訂讀取和寫入過程。
IronBarcode 最重要的功能之一是支援從 PDF 文件或圖像檔案中識別條碼和二維碼,並能夠從檔案路徑或點陣圖物件中讀取條碼。
IronBarcode 易於使用、功能強大且速度快。對於任何需要在軟體中添加條碼掃描或生成功能的人來說,它都是一款出色的工具。 由於它建立在流行且可靠的 ZXing 庫之上,因此您可以確信它是一個可靠且高品質的解決方案。

IronBarcode C# 函式庫及其功能
IronBarcode是如何從ZXing解碼器創建的?
IronBarcode 是一個商業化的第三方 .NET 條碼解碼函式庫,支援 C# 和 VB.NET 語言,其底層引擎基於開源的 ZXing 函式庫。該庫提供了一個簡化的、易於使用的條碼 API,以及其他功能,例如從圖像和 PDF 文件中讀取條碼,以及創建多種格式的條碼。
IronBarcode 由一群開發者創建,他們希望為 .NET 生態系統建立一個更用戶友好、更豐富的條碼解碼庫。 他們利用 ZXing 庫作為其庫的基礎,ZXing 庫是一個成熟的開源庫,支援多種條碼格式。 然後,他們圍繞 ZXing 程式碼庫建立了自己的自訂包裝器,為開發人員提供了一個更簡單、更一致的 API,以及一些附加功能,例如支援從圖像和 PDF 讀取條碼。
IronBarcode 與 ZXing 解碼器的比較
IronBarcode 和 ZXing 都是用於解碼條碼影像的函式庫,但它們之間存在一些重要的差異,使得 IronBarcode 成為更高級、更通用的選擇。
IronBarcode 支援的 Web 條碼格式比 ZXing 更廣泛。 IronBarcode 可以解碼支援的格式,例如 QR 碼、Code 39、Code 128、EAN-8、EAN-13、UPC-A、UPC-E、Codabar、ITF、Data Matrix、PDF-417、RSS 擴充等。 安卓用戶也不例外; IronBarcode 可以輕鬆整合到行動應用程式中,讓 Android 用戶更容易掃描條碼。 ZXing 支援許多相同的格式,但對某些格式(如 ITF 和 Codabar)沒有完全支持,也不提供對某些二維條碼格式(如 PDF-417)的支援。
// Example showing how to generate a simple QR Code image and save it as a PNG file
// using IronBarcode in C#.
var qrCode = IronBarCode.QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium);
qrCode.SaveAsPng("MyQR.png");// Example showing how to generate a simple QR Code image and save it as a PNG file
// using IronBarcode in C#.
var qrCode = IronBarCode.QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium);
qrCode.SaveAsPng("MyQR.png");
使用 IronBarcode 產生簡單的二維碼影像
IronBarcode的另一個優點是其更友善的Web API。 這個函式庫的設計宗旨是簡單易用,易於整合到現有專案中,它提供了一個高級 Web API,抽象化了條碼解碼的許多複雜細節。
IronBarcode的性能也比ZXing好。 該庫是用 C# 開發的,能夠利用平行處理技術比 ZXing 庫更快地解碼條碼。 此外,IronBarcode 還可以讀取 ZXing 不支援的影像檔案類型(如 GIF、TIFF 和 JPEG-XR)中的條碼。

使用 IronBarcode 產生簡單的二維碼影像
總而言之,IronBarcode 是一個比 ZXing 更先進、功能更全面的條碼解碼庫。 它支援更廣泛的條碼格式,具有更友善的 API 和更好的效能,因此對於使用 .NET 框架的開發人員來說,它是一個不錯的選擇。
如何在 C# 中使用 ZXing 解碼器和 IronBarcode
ZXing .NET 是 ZXing 函式庫的移植版本,ZXing 函式庫是一個用來處理多種格式的一維/二維條碼的開源函式庫,最初是用 Java 實作的。 它已被移植到 C#,並且可透過 NuGet 套件管理器取得。 IronBarcode 是一個 C# .NET 函式庫,可以讀取和寫入條碼。 它是 ZXing 函式庫的封裝,也可以透過 NuGet 取得。
在本教程中,我們將使用 ZXing 線上解碼器和 IronBarcode 在 C# .NET Web 應用程式中解碼條碼。 本教學將使用 Visual Studio,但其中的概念應適用於任何 C# 開發環境。
步驟 1:在 Visual Studio 中建立一個新的 C# .NET 項目
在 Visual Studio 中,透過選擇"檔案">"新建">"專案"建立一個新的 C# 專案。 選擇"Windows 窗體應用程式",並為你的專案命名。
步驟 2:安裝 ZXing .NET 和 IronBarcode NuGet 套件
在解決方案資源管理器中,以滑鼠右鍵按一下項目,然後選擇"管理 NuGet 套件"。搜尋 ZXing.NET 和"IronBarcode",並將它們安裝到專案中。
步驟 3:在表單中新增 PictureBox 和 Button
在窗體的設計視圖中,在窗體上新增一個PictureBox和一個Button 。 PictureBox將用於顯示我們要解碼的圖像, Button將用於啟動解碼過程。
步驟 4:在窗體程式碼的頂端加入以下 using 語句:
using IronBarCode;
using ZXing;using IronBarCode;
using ZXing;步驟 5:處理按鈕的點擊事件
在設計視圖中雙擊按鈕,建立點擊事件處理程序。 在處理程序中,新增以下程式碼以開啟OpenFileDialog並允許使用者選擇要解碼的圖像:
private void button1_Click(object sender, EventArgs e) {
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "Images (*.BMP;*.JPG;*.GIF;*.PNG)|*.BMP;*.JPG;*.GIF;*.PNG|All files (*.*)|*.*";
ofd.FilterIndex = 1;
if (ofd.ShowDialog() == DialogResult.OK) {
pictureBox1.Image = Image.FromFile(ofd.FileName);
// Decode the barcode from the image here
}
}private void button1_Click(object sender, EventArgs e) {
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "Images (*.BMP;*.JPG;*.GIF;*.PNG)|*.BMP;*.JPG;*.GIF;*.PNG|All files (*.*)|*.*";
ofd.FilterIndex = 1;
if (ofd.ShowDialog() == DialogResult.OK) {
pictureBox1.Image = Image.FromFile(ofd.FileName);
// Decode the barcode from the image here
}
}步驟六:解碼影像中的條碼
在下一行之後:
pictureBox1.Image = Image.FromFile(ofd.FileName); pictureBox1.Image = Image.FromFile(ofd.FileName); 在按鈕點擊事件處理程序中新增以下程式碼區塊,以解碼圖像中的條碼。
// Create a BarcodeReader instance from ZXing.NET and decode the image.
var BarcodeReader = new BarcodeReader();
var Result = BarcodeReader.Decode((Bitmap)pictureBox1.Image);
if (Result != null) {
MessageBox.Show(Result.Text);
} else {
MessageBox.Show("No barcode found.");
}// Create a BarcodeReader instance from ZXing.NET and decode the image.
var BarcodeReader = new BarcodeReader();
var Result = BarcodeReader.Decode((Bitmap)pictureBox1.Image);
if (Result != null) {
MessageBox.Show(Result.Text);
} else {
MessageBox.Show("No barcode found.");
}這段程式碼創建了 ZXing.NET 的BarcodeReader類別的新實例,然後使用Decode方法解碼圖像中的條碼。 Decode方法傳回一個Result對象,其中包含有關已解碼條碼的資訊。

使用徽標圖像建立二維碼
IronBarcode 與 ZXIng DecoderOnline 相比的優勢
IronBarcode 和 ZXing 都是 C# 程式語言的條碼和二維碼讀取函式庫。 這兩個庫各有優缺點,選擇哪一個取決於你的專案的特定需求。
IronBarcode 相對於 ZXing 的主要優勢之一是其易用性。 IronBarcode 擁有簡單直覺的 API,讓開發人員能夠輕鬆快速地開始使用條碼和二維碼。 只需幾行程式碼,您就可以輕鬆讀取和寫入條碼和二維碼。 相較之下,ZXing 的 API 更為複雜,對於開發者來說可能具有挑戰性,尤其是對於那些不熟悉讀取條碼和二維碼的開發者而言。
IronBarcode的另一個優點是其高效能。 IronBarcode 使用先進的演算法快速讀取和解碼條碼和二維碼,速度比其他函式庫(如 ZXing)更快。 因此,對於需要快速掃描和解碼條碼和二維碼的專案來說,它是一個不錯的選擇。
IronBarcode 也為讀取和寫入各種影像格式的條碼提供了更好的支持,包括 JPEG、PNG、GIF、BMP 和 TIFF。 相較之下,ZXing 對影像格式的支援較為有限,可能無法讀取或寫入某些類型影像中的條碼。
using IronBarCode;
using System;
using System.Drawing;
// Example of using IronBarcode to read barcodes with advanced options
// such as rotation and image correction.
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;
// Example of using IronBarcode to read barcodes with advanced options
// such as rotation and image correction.
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);
使用 C# 讀取手機相機影像中的條碼
IronBarcode 提供更多自訂選項,例如微調條碼讀取、支援多頁文件以及各種條碼格式,例如 DataMatrix、Aztec 和 PDF-417。如果您需要處理不同類型的條碼或有特定要求,這將非常有用。
另一方面,ZXing 是一個可以免費使用的開源程式庫。 對於預算受限的項目來說,這可能是個顯著的優勢。
總而言之,IronBarcode 和 ZXing 都是功能強大的 C# 條碼和二維碼處理庫,但 IronBarcode 比 ZXing 具有諸多優勢,例如易用性、高效能、更好的影像格式支援和更多自訂選項。 最好對這兩個庫都進行評估,然後選擇最符合您專案需求的庫。
IronBarcode 和 ZXing 都是在 C# 中處理條碼和二維碼的流行函式庫。 這兩個庫各有優缺點,選擇哪一個取決於你的專案的特定需求。 在本文中,我們將詳細介紹使用 IronBarcode 而不是 ZXing 的優勢,並舉例說明關鍵差異。
IronBarcode 的主要優勢之一是其易用性。 IronBarcode 擁有簡單直覺的 API,讓開發人員能夠快速上手使用條碼和二維碼。 只需幾行程式碼,您就可以輕鬆讀取和寫入條碼和二維碼。 例如,要使用 IronBarcode 從影像檔案中讀取條碼,可以使用下列程式碼:
var reader = new BarcodeReader();
var result = reader.Read("image.jpg");
Console.WriteLine(result.Text);var reader = new BarcodeReader();
var result = reader.Read("image.jpg");
Console.WriteLine(result.Text);相較之下,ZXing 的 API 更為複雜,對於開發人員來說可能難以使用,尤其是對於那些不熟悉條碼和二維碼讀取的開發人員而言。 如果使用 ZXing,上述範例需要更多的程式碼行才能達到相同的結果。
IronBarcode的另一個優點是其高效能。 IronBarcode 使用先進的演算法快速讀取和解碼條碼和二維碼,速度比其他函式庫(如 ZXing)更快。 因此,對於需要高速掃描和解碼條碼和二維碼的專案來說,它是一個不錯的選擇。 例如,IronBarcode 可以在不到一秒鐘的時間內從影像中讀取和解碼條碼,使其成為大規模掃描和解碼操作的理想選擇。
IronBarcode 也為讀取和寫入各種影像格式的條碼提供了更好的支持,包括 JPEG、PNG、GIF、BMP 和 TIFF。 這樣一來,開發人員就可以輕鬆處理不同影像格式的條碼,而無需擔心相容性問題。 相較之下,ZXing 對影像格式的支援較為有限,可能無法讀取或寫入某些類型影像中的條碼。
using IronBarCode;
using System;
using System.Drawing;
// Example of reading multiple barcodes from a PDF using IronBarcode
PagedBarcodeResult[] PDFResults = BarcodeReader.ReadBarcodesFromPdf("MultipleBarcodes.pdf");
// Work with the results
foreach (var PageResult in PDFResults)
{
string Value = PageResult.Value;
int PageNum = PageResult.PageNumber;
System.Drawing.Bitmap Img = PageResult.BarcodeImage;
BarcodeEncoding BarcodeType = PageResult.BarcodeType;
byte[] Binary = PageResult.BinaryValue;
Console.WriteLine("Page " + PageNum + ": " + PageResult.Value);
}using IronBarCode;
using System;
using System.Drawing;
// Example of reading multiple barcodes from a PDF using IronBarcode
PagedBarcodeResult[] PDFResults = BarcodeReader.ReadBarcodesFromPdf("MultipleBarcodes.pdf");
// Work with the results
foreach (var PageResult in PDFResults)
{
string Value = PageResult.Value;
int PageNum = PageResult.PageNumber;
System.Drawing.Bitmap Img = PageResult.BarcodeImage;
BarcodeEncoding BarcodeType = PageResult.BarcodeType;
byte[] Binary = PageResult.BinaryValue;
Console.WriteLine("Page " + PageNum + ": " + PageResult.Value);
}
從多幀 TIFF 影像中讀取條碼
IronBarcode 還提供更多自訂選項,讓開發人員可以微調條碼讀取過程以滿足其特定需求。 例如,您可以使用 IronBarcode 指定不同的條碼格式,例如 DataMatrix、Aztec 和 PDF-417。如果您需要處理不同格式或具有特定要求的條碼,這將非常有用。 此外,IronBarcode 還提供多頁文件支持,允許開發人員從文件的多個頁面讀取和提取條碼資訊。
還有一點,IronBarcode 的錯誤處理能力更強,更適合企業級應用。
以下是如何從圖像檔案解碼多個條碼的範例:
var barcodeResults = IronBarCode.BarcodeReader.ReadMultiple("multibarcode.png");
foreach (var result in barcodeResults)
{
Console.WriteLine(result.Text);
}var barcodeResults = IronBarCode.BarcodeReader.ReadMultiple("multibarcode.png");
foreach (var result in barcodeResults)
{
Console.WriteLine(result.Text);
}另一方面,ZXing 是一個開源函式庫,可以免費使用。 對於預算有限的項目來說,這可能是一個顯著的優勢。 但需要注意的是,使用 IronBarcode 的成本可能會被使用更友善、更強大的程式庫所節省的時間和精力所抵消。

使用 C# 建立帶有註解和樣式的條碼圖像
總之,IronBarcode 和 ZXing 都是功能強大的 C# 條碼和二維碼處理庫。 然而,與 ZXing 相比,IronBarcode 具有諸多優勢,例如易於使用、性能高、對圖像格式的支援更好以及更多的自訂選項。 如果您的專案需要快速且有效率的條碼掃描和解碼,或者您需要對條碼讀取過程進行更多控制,那麼 IronBarcode 是一個絕佳的選擇。
定價和許可
ZXing 採用 Apache 2.0 開源授權發布,這意味著它可以被自由使用、分發和修改。 在軟體專案中使用該庫無需任何費用。 但是,如果您在商業產品中使用該程式庫,則必須遵守 Apache 2.0 授權的條款,其中包括顯著顯示授權聲明和免責聲明。
IronBarcode是一款提供免費開發者許可的軟體。 Lite 套餐的起價為 $liteLicense,包含永久許可證,可在開發、測試和生產環境中使用該軟體,30 天退款保證以及一年的軟體支援和升級。 有關 IronBarcode 定價和許可的更多信息,請訪問該公司網站。

IronBarcode 授權價格
為什麼選擇 IronBarcode
IronBarcode 是專門為 .NET 應用程式開發的,並且基於 ZXing 程式庫。 IronBarcode 也完全是用 C# 編寫的,如果您的應用程式也是用 C# 編寫的,並且您想在 .NET 生態系統中使用它,那麼這可能是一個優勢。
IronBarcode 旨在提供更友善、更易於使用的條碼解碼和編碼介面,而 ZXing 主要專注於提供底層演算法和函式庫。
IronBarcode 在 ZXing 庫的基礎上提供了幾個額外的功能,例如自動修正常見掃描錯誤、支援不同類型的條碼讀取和掃描,以及直接從影像檔案或點陣圖讀取條碼內容的功能。
總而言之,如果您的應用程式是用 C# 編寫的,並且您正在尋找一個易於使用、功能強大的庫來讀取和寫入各種條碼格式,那麼 IronBarcode 可能是一個不錯的選擇。 但是,如果您正在尋找一個更通用、更底層的程式庫,可以在多種語言中使用,那麼 ZXing 可能是更好的選擇。
結論
總而言之,IronBarcode 是一個靈活且有效率的軟體庫,支援各種條碼格式、符號和字元。 它兼容多種作業系統,並提供可靠的許可和支援。
IronBarcode 和 ZXing 都是 .NET Framework 中用來讀取和寫入條碼的函式庫。 IronBarcode 使用 ZXing 函式庫作為依賴項來執行條碼讀取和寫入操作。 IronBarcode 提供了一個簡單易用的 API,用於在 C# 和 VB.NET 中讀取和寫入條碼,而 ZXing 是一個底層庫,提供了很大的靈活性和自訂功能。 IronBarcode 使用 ZXing 進行底層條碼處理和解碼,但為開發人員提供了更簡單、更方便的介面。
IronBarcode 是 ZXing 函式庫的 C# / VB.NET 封裝器,這表示它為 ZXing 提供的函數提供了一個 C# / VB.NET 介面。 IronBarcode 透過提供更便利、更簡單的 API 來讀取和寫入條碼,從而簡化了 ZXing 的使用。
與 ZXing.NET 相比,IronBarcode 提供了更多條碼識別和生成功能,處理速度更快,並且還具備從各種圖像格式和 PDF 文件中讀取條碼的能力。

Iron Suite 授權價格
In addition, IronBarcode is available for free for early-stage development and offers a free trial for commercial use. 憑藉不同的價格檔次,開發商可以選擇最符合自身需求和預算的解決方案。 此外,還有以兩款產品的價格購買一套包含五款Iron軟體產品的優惠。總的來說,IronBarcode比ZXing.NET有明顯的優勢。
[{i:(ZXing 是其各自所有者的註冊商標。 本網站與 ZXing 無任何關聯,亦未獲得 ZXing 的認可或贊助。 所有產品名稱、標誌和品牌均為其各自所有者的財產。 文中比較僅供參考,反映的是撰寫本文時可公開取得的資訊。
常見問題解答
如何在C#中將HTML轉換為PDF?
您可以使用 IronPDF 的RenderHtmlAsPdf方法將 HTML 字串轉換為 PDF。您也可以使用RenderHtmlFileAsPdf將 HTML 檔案轉換為 PDF。
對於 C# 應用程式而言,使用 IronBarcode 而不是 ZXing 有哪些優勢?
與 ZXing 相比,IronBarcode 提供更友善的 API、更佳的效能以及更廣泛的條碼格式支援。此外,它還支援從 PDF 文件和影像檔案(包括 GIF、TIFF 和 JPEG-XR)中識別條碼。
IronBarcode 能讀取 PDF 文件中的條碼嗎?
是的,IronBarcode 可以讀取 PDF 文件中的條碼,比主要專注於影像檔案的 ZXing 更靈活。
IronBarcode支援哪些條碼讀取影像格式?
IronBarcode 支援讀取各種影像格式的條碼,包括 GIF、TIFF 和 JPEG-XR,增強了其處理不同類型媒體的多功能性。
IronBarcode提供哪些自訂選項?
IronBarcode 提供自訂選項,例如從多頁文件中讀取條碼,以及進階影像校正功能,例如旋轉和像素深度清理。
IronBarcode 如何處理二維條碼格式?
IronBarcode 可以有效地處理二維條碼格式,例如二維碼和資料矩陣,這些格式可以儲存比傳統一維條碼更多的資料。
IronBarcode有免費版本嗎?
是的,IronBarcode 提供免費的開發者許可,允許開發者使用其部分功能,但有一些限制。此外,它還提供付費版本,包含商業用途的高級功能。
IronBarcode背後的主要引擎是什麼?
IronBarcode 利用 ZXing 庫作為其核心引擎,但透過自訂封裝對其進行增強,從而提供更友善的使用者介面和附加功能。
為什麼開發者會選擇 IronBarcode 來開發 .NET 應用程式?
開發人員可能會選擇 IronBarcode,因為它易於使用、部署速度快,並且支援各種條碼格式,使其成為 .NET 框架內企業級應用程式的理想選擇。






