跳至頁尾內容
與其他組件的比較

BarcodeScanning.MAUI 與 IronBarcode:C# 條碼庫比較

DevExpress 條碼 vs IronBarcode:UI 控件 vs 獨立程式庫

DevExpress 是一個頗受好評的 .NET UI 工具包。 網格、排程器、圖表和樞紐分析表控件被企業團隊廣泛使用。 然而,條碼支援則是另一個故事。 DevExpress 提供一個 BarCodeControl ——一個 WinForms 控件和一個 Blazor DxBarCode 標籤——讓您可以將條碼渲染到表單上。 DevExpress 支援已確認沒有閱讀功能,並且目前沒有計劃增加這一功能。 如果您的條碼存在於背景作業、一個 Web API、一本 PDF 文件或任何沒有 UI 表單的環境中,則該控件不適用。

這個限制將 DevExpress 條碼產品的應用範圍縮小到一個特定的利基市場:在 DevExpress WinForms 或 Blazor UI 內部直觀看到條碼。 對於這個利基市場,它運作良好。對於其他任何——伺服器端生成,從圖像或 PDF 中讀取,無頭處理如 Azure Functions 或 Docker 環境——您需要不同的工具。

理解 DevExpress 條碼控件

DevExpress BarCodeControl 位於 DevExpress.XtraEditors 中,其符號生成類位於 DevExpress.XtraPrinting.BarCode 中。 這不是一個獨立的程式庫。 它包含在 DXperience 套件中,起價 $1,699.99 每年(Universal 訂閱為 $2,299.99)。 您無法安裝單獨的僅限條碼的 NuGet 包。

BarCodeControl 是一個 WinForms 控件。 您使用符號物件配置它,設置屬性,然後它會顯示在螢幕上。 將渲染保存到文件需要呼叫 DrawToBitmap,它需要一個預先配置好的大小合適的 Bitmap

// DevExpress WinForms: UI control, not a library
using DevExpress.XtraEditors;              // BarCodeControl
using DevExpress.XtraPrinting.BarCode;     // Code128Generator, etc.
using System.Drawing;
using System.Drawing.Imaging;

var barCode = new BarCodeControl();
var symbology = new Code128Generator();
symbology.CharacterSet = Code128CharacterSet.CharsetAuto;
barCode.Symbology = symbology;
barCode.Text = "ITEM-12345";
barCode.Module = 0.02f;  // document units, not pixels
barCode.ShowText = true;

// File output requires DrawToBitmap — you must size the Bitmap manually
barCode.Width = 400;
barCode.Height = 100;
var bitmap = new Bitmap(barCode.Width, barCode.Height);
barCode.DrawToBitmap(bitmap, new Rectangle(0, 0, barCode.Width, barCode.Height));
bitmap.Save("barcode.png", ImageFormat.Png);
bitmap.Dispose();
// DevExpress WinForms: UI control, not a library
using DevExpress.XtraEditors;              // BarCodeControl
using DevExpress.XtraPrinting.BarCode;     // Code128Generator, etc.
using System.Drawing;
using System.Drawing.Imaging;

var barCode = new BarCodeControl();
var symbology = new Code128Generator();
symbology.CharacterSet = Code128CharacterSet.CharsetAuto;
barCode.Symbology = symbology;
barCode.Text = "ITEM-12345";
barCode.Module = 0.02f;  // document units, not pixels
barCode.ShowText = true;

// File output requires DrawToBitmap — you must size the Bitmap manually
barCode.Width = 400;
barCode.Height = 100;
var bitmap = new Bitmap(barCode.Width, barCode.Height);
barCode.DrawToBitmap(bitmap, new Rectangle(0, 0, barCode.Width, barCode.Height));
bitmap.Save("barcode.png", ImageFormat.Png);
bitmap.Dispose();
Imports DevExpress.XtraEditors
Imports DevExpress.XtraPrinting.BarCode
Imports System.Drawing
Imports System.Drawing.Imaging

Dim barCode As New BarCodeControl()
Dim symbology As New Code128Generator()
symbology.CharacterSet = Code128CharacterSet.CharsetAuto
barCode.Symbology = symbology
barCode.Text = "ITEM-12345"
barCode.Module = 0.02F ' document units, not pixels
barCode.ShowText = True

' File output requires DrawToBitmap — you must size the Bitmap manually
barCode.Width = 400
barCode.Height = 100
Dim bitmap As New Bitmap(barCode.Width, barCode.Height)
barCode.DrawToBitmap(bitmap, New Rectangle(0, 0, barCode.Width, barCode.Height))
bitmap.Save("barcode.png", ImageFormat.Png)
bitmap.Dispose()
$vbLabelText   $csharpLabel

這裡有幾個摩擦點。 首先,barCode.Module 是文件單位而非像素,這在您思考像素尺寸時會出現不匹配。 其次,您必須知道最終的像素大小,才能分配 Bitmap。 第三,控件需要載入 WinForms 程式集——這意味著一個 ASP.NET Core 最小 API 或控制台背景服務必須載入 Windows Forms 基礎結構才能生成條碼圖像。

Blazor DxBarCode 標籤在概念上類似,但它是一個 UI 渲染的 Razor 組件,而不是伺服器端生成 API。

無閱讀功能

DevExpress 的官方立場是他們不提供條碼識別或掃描功能。 DevExpress Support Center 表示:"DevExpress BarCode 控件僅用於條碼生成。 我們不提供條碼識別/掃描功能。"目前沒有計劃增加這一功能。

對於那些從 DevExpress WinForms 應用開始並在後期收到要求從上傳的圖像掃描條碼或從 PDF 附件中讀取 QR 程式碼的團隊,DevExpress 工具箱無法提供幫助。您需要引入一個獨立的程式庫來處理閱讀,這立即引發了問卷,生成端是否也應移至該程式庫以保持 API 一致性。

IronBarcode 處理這兩個方向:

//IronBarcodereading — works on images, PDFs, and byte arrays
// NuGet: dotnet add package IronBarcode
using IronBarCode;

var results = BarcodeReader.Read("scanned-label.png");
foreach (var result in results)
{
    Console.WriteLine($"Format: {result.Format}");
    Console.WriteLine($"Value: {result.Value}");
}
//IronBarcodereading — works on images, PDFs, and byte arrays
// NuGet: dotnet add package IronBarcode
using IronBarCode;

var results = BarcodeReader.Read("scanned-label.png");
foreach (var result in results)
{
    Console.WriteLine($"Format: {result.Format}");
    Console.WriteLine($"Value: {result.Value}");
}
Imports IronBarCode

' IronBarcode reading — works on images, PDFs, and byte arrays
' NuGet: dotnet add package IronBarcode

Dim results = BarcodeReader.Read("scanned-label.png")
For Each result In results
    Console.WriteLine($"Format: {result.Format}")
    Console.WriteLine($"Value: {result.Value}")
Next
$vbLabelText   $csharpLabel

從 PDF 文件中讀取不需要額外的程式庫:

// Reading barcodes from a PDF — no PdfiumViewer or similar required
var pdfResults = BarcodeReader.Read("shipping-manifest.pdf");
foreach (var result in pdfResults)
{
    Console.WriteLine($"Page barcode: {result.Value}");
}
// Reading barcodes from a PDF — no PdfiumViewer or similar required
var pdfResults = BarcodeReader.Read("shipping-manifest.pdf");
foreach (var result in pdfResults)
{
    Console.WriteLine($"Page barcode: {result.Value}");
}
Imports System

' Reading barcodes from a PDF — no PdfiumViewer or similar required
Dim pdfResults = BarcodeReader.Read("shipping-manifest.pdf")
For Each result In pdfResults
    Console.WriteLine($"Page barcode: {result.Value}")
Next
$vbLabelText   $csharpLabel

套件捆綁問題

DevExpress 條碼元件不作為獨立產品銷售。 要在任何項目中使用 BarCodeControl,您的團隊需要一個 DevExpress 訂閱——ASP.NET & Blazor 級別起價 $1,099.99/年,DXperience(WinForms + WPF)是 $1,699.99/年,而 Universal 是 $2,299.99/年。 這個套件包括網格、圖表、排程器、樞紐分析表和許多其它控件——如果您正在構建完全的 DevExpress WinForms 或 Blazor 應用程式,是合理的。 如果您只需要一個後端服務的條碼生成,您付出了整個 UI 工具包的價格而這個服務卻不會使用。

IronBarcode 是一個獨立的包:

dotnet add package IronBarcode
dotnet add package IronBarcode
SHELL

永久的 Lite 授權起價為一位開發者 $749。 沒有捆綁的 UI 工具包。 您將獲得條碼生成和讀取、跨平台支持,以及您未曾要求的其他功能。

無頭使用限制

在伺服器端情景中 BarCodeControl 基本問題是它是一個 WinForms 控件。 在 .NET 6+ ASP.NET Core 最小 API 專案中,預設情況下不引用 WinForms 程式集。 要實例化 BarCodeControl,您的 API 項目必須明確針對 Windows 並載入 Windows Forms 運行時,或新增工作崗位引用來拉入您的 API 永遠不會渲染的 UI 基礎結構。

在 Azure Function 消費計劃中,您完全沒有 UI 層。 在運行 Linux 基礎鏡像的 Docker 容器中,可能完全不存在 Windows Forms GDI+ 依賴。 DevExpress 官方不支持在這些無頭環境中的 BarCodeControl 使用。

IronBarcode 使用的是全程式化、靜態 API:

// IronBarcode: works in WinForms, ASP.NET Core, Azure Function, console — same code
// NuGet: dotnet add package IronBarcode
using IronBarCode;

BarcodeWriter.CreateBarcode("ITEM-12345", BarcodeEncoding.Code128)
    .SaveAsPng("barcode.png");
// IronBarcode: works in WinForms, ASP.NET Core, Azure Function, console — same code
// NuGet: dotnet add package IronBarcode
using IronBarCode;

BarcodeWriter.CreateBarcode("ITEM-12345", BarcodeEncoding.Code128)
    .SaveAsPng("barcode.png");
Imports IronBarCode

' IronBarcode: works in WinForms, ASP.NET Core, Azure Function, console — same code
' NuGet: dotnet add package IronBarcode

BarcodeWriter.CreateBarcode("ITEM-12345", BarcodeEncoding.Code128) _
    .SaveAsPng("barcode.png")
$vbLabelText   $csharpLabel

這個確切的調用可以在控制台應用程式、ASP.NET Core 控件器、由 Service Bus 消息觸發的 Azure 功能或者在 Linux 上運行的 Docker 容器中運行。 API 不會因環境的變化而改變。 沒有 UI 程式集的依賴。

一個返回條碼為 PNG 文件響應的 ASP.NET Core 端點看起來像這樣:

app.MapGet("/barcode/{sku}", (string sku) =>
{
    var bytes = BarcodeWriter.CreateBarcode(sku, BarcodeEncoding.Code128)
        .ResizeTo(400, 100)
        .ToPngBinaryData();

    return Results.File(bytes, "image/png");
});
app.MapGet("/barcode/{sku}", (string sku) =>
{
    var bytes = BarcodeWriter.CreateBarcode(sku, BarcodeEncoding.Code128)
        .ResizeTo(400, 100)
        .ToPngBinaryData();

    return Results.File(bytes, "image/png");
});
Imports Microsoft.AspNetCore.Builder
Imports Microsoft.AspNetCore.Http

app.MapGet("/barcode/{sku}", Function(sku As String)
                                Dim bytes = BarcodeWriter.CreateBarcode(sku, BarcodeEncoding.Code128) _
                                    .ResizeTo(400, 100) _
                                    .ToPngBinaryData()

                                Return Results.File(bytes, "image/png")
                             End Function)
$vbLabelText   $csharpLabel

沒有顯著工作量的 BarCodeControl 等效模式。

理解IronBarcode

IronBarcode 是一個生成和讀取條碼的獨立 .NET 程式庫。 API 完全靜態——無需管理實例,無控件生命週期,無 UI 依賴性。 生成和讀取都在同一個呼叫中工作:

// NuGet: dotnet add package IronBarcode
using IronBarCode;

// Generate Code 128
BarcodeWriter.CreateBarcode("ORDER-9921", BarcodeEncoding.Code128)
    .ResizeTo(450, 120)
    .SaveAsPng("order-label.png");

// Generate and get bytes (for HTTP responses, blob storage, etc.)
byte[] pngBytes = BarcodeWriter.CreateBarcode("ORDER-9921", BarcodeEncoding.Code128)
    .ResizeTo(450, 120)
    .ToPngBinaryData();

// Read from an image file
var results = BarcodeReader.Read("order-label.png");
Console.WriteLine(results.First().Value); // ORDER-9921
// NuGet: dotnet add package IronBarcode
using IronBarCode;

// Generate Code 128
BarcodeWriter.CreateBarcode("ORDER-9921", BarcodeEncoding.Code128)
    .ResizeTo(450, 120)
    .SaveAsPng("order-label.png");

// Generate and get bytes (for HTTP responses, blob storage, etc.)
byte[] pngBytes = BarcodeWriter.CreateBarcode("ORDER-9921", BarcodeEncoding.Code128)
    .ResizeTo(450, 120)
    .ToPngBinaryData();

// Read from an image file
var results = BarcodeReader.Read("order-label.png");
Console.WriteLine(results.First().Value); // ORDER-9921
Imports IronBarCode

' Generate Code 128
BarcodeWriter.CreateBarcode("ORDER-9921", BarcodeEncoding.Code128) _
    .ResizeTo(450, 120) _
    .SaveAsPng("order-label.png")

' Generate and get bytes (for HTTP responses, blob storage, etc.)
Dim pngBytes As Byte() = BarcodeWriter.CreateBarcode("ORDER-9921", BarcodeEncoding.Code128) _
    .ResizeTo(450, 120) _
    .ToPngBinaryData()

' Read from an image file
Dim results = BarcodeReader.Read("order-label.png")
Console.WriteLine(results.First().Value) ' ORDER-9921
$vbLabelText   $csharpLabel

授權激活在啟動時只需一行:

IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY";
IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY";
Imports IronBarCode

IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY"
$vbLabelText   $csharpLabel

無需網路呼叫。 無需錯誤處理樣板。 本地驗證。

QR Code 對比

QR 碼展示了 UI 控件和程式化程式庫之間的 API 差距。

DevExpress QR 程式碼—WinForms 控件:

// DevExpress: QR via BarCodeControl + QRCodeGenerator symbology
using DevExpress.XtraEditors;              // BarCodeControl
using DevExpress.XtraPrinting.BarCode;     // QRCodeGenerator + QRCodeErrorCorrectionLevel

var barCode = new BarCodeControl();
var symbology = new QRCodeGenerator();
symbology.ErrorCorrectionLevel = QRCodeErrorCorrectionLevel.H;
symbology.CompactionMode = QRCodeCompactionMode.AlphaNumeric;
barCode.Symbology = symbology;
barCode.Text = "https://example.com";
barCode.Width = 500;
barCode.Height = 500;

var bitmap = new Bitmap(barCode.Width, barCode.Height);
barCode.DrawToBitmap(bitmap, new Rectangle(0, 0, barCode.Width, barCode.Height));
bitmap.Save("qr.png", ImageFormat.Png);
bitmap.Dispose();
// DevExpress: QR via BarCodeControl + QRCodeGenerator symbology
using DevExpress.XtraEditors;              // BarCodeControl
using DevExpress.XtraPrinting.BarCode;     // QRCodeGenerator + QRCodeErrorCorrectionLevel

var barCode = new BarCodeControl();
var symbology = new QRCodeGenerator();
symbology.ErrorCorrectionLevel = QRCodeErrorCorrectionLevel.H;
symbology.CompactionMode = QRCodeCompactionMode.AlphaNumeric;
barCode.Symbology = symbology;
barCode.Text = "https://example.com";
barCode.Width = 500;
barCode.Height = 500;

var bitmap = new Bitmap(barCode.Width, barCode.Height);
barCode.DrawToBitmap(bitmap, new Rectangle(0, 0, barCode.Width, barCode.Height));
bitmap.Save("qr.png", ImageFormat.Png);
bitmap.Dispose();
Imports DevExpress.XtraEditors ' BarCodeControl
Imports DevExpress.XtraPrinting.BarCode ' QRCodeGenerator + QRCodeErrorCorrectionLevel
Imports System.Drawing
Imports System.Drawing.Imaging

Dim barCode As New BarCodeControl()
Dim symbology As New QRCodeGenerator()
symbology.ErrorCorrectionLevel = QRCodeErrorCorrectionLevel.H
symbology.CompactionMode = QRCodeCompactionMode.AlphaNumeric
barCode.Symbology = symbology
barCode.Text = "https://example.com"
barCode.Width = 500
barCode.Height = 500

Dim bitmap As New Bitmap(barCode.Width, barCode.Height)
barCode.DrawToBitmap(bitmap, New Rectangle(0, 0, barCode.Width, barCode.Height))
bitmap.Save("qr.png", ImageFormat.Png)
bitmap.Dispose()
$vbLabelText   $csharpLabel

IronBarcode QR 程式碼—同樣結果,無需 UI 程式集:

// IronBarcode: QR in one method chain
QRCodeWriter.CreateQrCode("https://example.com", 500, QRCodeWriter.QrErrorCorrectionLevel.Highest)
    .SaveAsPng("qr.png");
// IronBarcode: QR in one method chain
QRCodeWriter.CreateQrCode("https://example.com", 500, QRCodeWriter.QrErrorCorrectionLevel.Highest)
    .SaveAsPng("qr.png");
$vbLabelText   $csharpLabel

在 QR 碼中間放置品牌標誌:

QRCodeWriter.CreateQrCode("https://example.com", 500, QRCodeWriter.QrErrorCorrectionLevel.Highest)
    .AddBrandLogo("company-logo.png")
    .SaveAsPng("qr-branded.png");
QRCodeWriter.CreateQrCode("https://example.com", 500, QRCodeWriter.QrErrorCorrectionLevel.Highest)
    .AddBrandLogo("company-logo.png")
    .SaveAsPng("qr-branded.png");
QRCodeWriter.CreateQrCode("https://example.com", 500, QRCodeWriter.QrErrorCorrectionLevel.Highest) _
    .AddBrandLogo("company-logo.png") _
    .SaveAsPng("qr-branded.png")
$vbLabelText   $csharpLabel

DevExpress 沒有內嵌標誌的相等功能。 控件僅繪製標準QR碼,沒有更多。

特性比較

特性 DevExpress 條碼 IronBarcode
條碼生成 是的 (WinForms 控件, Blazor 標籤) 是的 (程式化 API,適用於所有環境)
條碼讀取/掃描 否——官方確認 是的——圖像,PDF,位元組陣列
PDF 條碼讀取 是——本地,無需額外程式庫
獨立 NuGet 包 否——需要 DXperience 套件 是的——僅有 IronBarcode
套件成本 每年 $1,099.99 起(ASP.NET & Blazor)至 $2,299.99(Universal) 不適用——獨立的
授權成本 僅限訂閱 永久從 $749 開始
ASP.NET Core / minimal API 需要 WinForms 的變通辦法 原生支持
Azure功能 不支持無頭的 完全支援
Docker / Linux Linux 基礎鏡像的 GDI+ 問題 完全支援
控制台應用程式 需要載入 WinForms 程式集 原生支持
QR 程式碼生成 是的(通過 QRCodeGenerator 符號) 是的(QRCodeWriter)
QR 中嵌入標誌 是的——.AddBrandLogo()
QR 錯誤校正等級 H, Q, M, L 最大、高、中、低
Code 128
Data Matrix
PDF417
Aztec
文件輸出 DrawToBitmap——手動 BMP 分配 .SaveAsPng(), .SaveAsGif(), .SaveAsSvg()
二進制輸出(HTTP 響應) 手動 BMP → MemoryStream .ToPngBinaryData()
多執行緒讀取 不適用——無讀取 MaxParallelThreads = 4
多條碼讀取 不適用——無讀取 ExpectMultipleBarcodes = true
平台 Windows(WinForms / Blazor) Windows、Linux、macOS、Docker、Azure、AWS Lambda
.NET 版本支持 .NET Framework + 現代 .NET(Windows) .NET Framework 4.6.2 通過當前 .NET

API對映參考

熟悉 DevExpress BarCodeControl 模式的團隊會發現這些等價性很有用:

DevExpress 條碼 IronBarcode
new BarCodeControl() 靜態——無需實例
new Code128Generator() + barCode.Symbology = symbology 作為參數傳遞的 BarcodeEncoding.Code128
new QRCodeGenerator() + QRCodeErrorCorrectionLevel.H QRCodeWriter.CreateQrCode("data", 500, QRCodeWriter.QrErrorCorrectionLevel.Highest)
new DataMatrixGenerator() + DataMatrixSize.Matrix26x26 BarcodeWriter.CreateBarcode("data", BarcodeEncoding.DataMatrix)
new PDF417Generator() BarcodeWriter.CreateBarcode("data", BarcodeEncoding.PDF417)
new AztecGenerator() BarcodeWriter.CreateBarcode("data", BarcodeEncoding.Aztec)
barCode.Module = 0.02f(文件單位) .ResizeTo(width, height)(像素)
barCode.ShowText = true .AddBarcodeText()
DrawToBitmap(bitmap, rect)——手動 BMP 分配 .SaveAsPng(path)——自動處理尺寸
手動 BitmapMemoryStream 用於 HTTP 響應 .ToPngBinaryData()
無讀取API BarcodeReader.Read(imagePath)
沒有讀取結果型別 .Value (string), .Format (BarcodeEncoding)
每個項目都需 UI 程式集 適用於任何 .NET 項目型別
只限套件(每年 $1,099.99 起) 獨立(永久 $749 起)

當團隊轉換

幾個特定場景通常會觸發從 DevExpress 條碼控件移動到 IronBarcode。

讀取需求來臨。 最常見的情況是,一個生成條碼多年的 WinForms 應用程式收到新需求:現在該應用程式必須從上傳的圖像或相機捕獲中掃描或驗證條碼。 DevExpress 沒有讀取 API。 無論如何團隊都需要一個新的程式庫,同時整合生成到該程式庫上是有意義的。

需要 Web API 端點。 一個團隊構建了微服務,可以按需生成條碼標籤——從 Web 前端、移動應用程式或其他服務調用。ASP.NET Core 項目沒有 WinForms 依賴,團隊不希望增加一個。IronBarcode的靜態 API 整合到 HTTP 端點而沒有任何 UI 程式集負擔。

Azure Function 或 Lambda 部署。 無伺服器部署經常使用 Linux 基礎映像和最小運行時。 BarCodeControl 不適合此環境。IronBarcode在 Linux、Docker 容器、Azure Functions 和 AWS Lambda 運行,無需配置更改。

僅限單一功能的套件續約成本。 當續約來臨,團隊審計他們實際使用的 DXperience 套件內容,發現特定服務中的唯一 DevExpress 組件是 BarCodeControl,也激發了成本問題。 支付整個 DXperience 訂閱($1,699.99/年新,續訂 $849.99/年)用於條碼生成,而獨立程式庫只需 $749 永久,是很難講得通的。

從 PDF 中多條碼讀取。 文件處理工作流——從發票 PDF、運單或掃描表單讀取條碼——需要 PDF 支持和讀取功能。IronBarcode直接從 PDF 文件讀取,無需額外程式庫。 DevExpress 不提供任一功能。

結論

DevExpress 的條碼產品最好理解為一個內建於 UI 工具包中的 UI 渲染功能。 如果您的應用程式是已經使用 DevExpress 進行其網格和圖表控件的 WinForms 或 Blazor 應用程式,並且您唯一的條碼需求是直觀地在表單上顯示條碼,則 BarCodeControl 是一個合理選擇——因為您已經擁有該授權。

一旦您需要以下任何一項,BarCodeControl 就不再是合適的工具:讀取條碼、在伺服器端上下文中生成條碼、在無頭環境中運行、在 Linux 上工作或在不使用 WinForms 程式集參考的情況下操作。 DevExpress 支援已確認沒有讀取功能,並且沒有計劃增加它。 無頭限制是架構問題,不是配置問題。 UI 控件是一個 UI 控件。

IronBarcode 則是為程式化的條碼工作而建造的——透過靜態 API,在任何環境中的生成和讀取,適用於任何平台。 這兩個工具解決了不同的問題。 DevExpress 條碼是為在表單內渲染而設計。IronBarcode是用於程式化處理條碼。

常見問題

什麼是 DevExpress Barcode?

DevExpress Barcode 是一個用於在 C# 應用程式中生成和讀取條碼的 .NET 條碼庫。它是開發人員在選擇 .NET 專案條碼解決方案時考慮的幾種替代方案之一。

DevExpress Barcode 和 IronBarcode 的主要區別是什麼?

IronBarcode 使用不需要實例管理的靜態無狀態 API,而 DevExpress Barcode 通常需要在使用之前建立和配置實例。IronBarcode 還提供本地 PDF 支持、自動格式檢測和跨所有環境的單鍵授權。

IronBarcode 是否比 DevExpress Barcode 更容易授權?

IronBarcode使用一個覆蓋開發和生產部署的單一授權金鑰。相比於將SDK金鑰與運行時金鑰分開的授權系統,這簡化了CI/CD管道和Docker配置。

IronBarcode 是否支持所有 DevExpress Barcode 支持的條碼格式?

IronBarcode支持超過30種條碼符號,包括QR Code、Code 128、Code 39、DataMatrix、PDF417、Aztec、EAN-13、UPC-A、GS1等。格式自動檢測意味著不需要顯式的格式枚舉。

IronBarcode支持原生PDF條碼讀取嗎?

是的。IronBarcode可以直接從PDF文件中讀取條碼,使用BarcodeReader.Read("document.pdf"),無需單獨的PDF渲染程式庫。每頁結果包括頁碼、條碼格式、值和置信分數。

IronBarcode 在處理批處理時如何與 DevExpress Barcode 比較?

IronBarcode的靜態方法無狀態且天然執行緒安全,可以直接使用Parallel.ForEach而無需每個執行緒的實例管理。任何價格級別下都沒有吞吐量上限。

IronBarcode支持哪些.NET版本?

IronBarcode支持.NET Framework 4.6.2+、.NET Core 3.1,以及.NET 5、6、7、8和9,單一NuGet包。平台目標包括Windows x64/x86、Linux x64和macOS x64/ARM。

如何在.NET專案中安裝IronBarcode?

通過NuGet安裝IronBarcode:在Package Manager Console中運行 'Install-Package IronBarCode',或在CLI中運行 'dotnet add package IronBarCode'。不需要額外的SDK安裝程式或運行時文件。

與 DevExpress 不同,我可以在購買前評估 IronBarcode 嗎?

可以。IronBarcode的試用模式返回完整解碼的條碼值——只有生成的輸出圖像上有水印。您可以在自己的文件上評估讀取準確性,然後再決定購買。

DevExpress Barcode 和 IronBarcode 之間的價格差異是什麼?

IronBarcode起價為$749,為單開發者所適用的永久授權,覆蓋開發和生產。價格詳情和批量選項可在IronBarcode授權頁面獲得。無需單獨的運行時授權。

從 DevExpress Barcode 遷移到 IronBarcode 是否簡單?

從 DevExpress Barcode 遷移到 IronBarcode 主要涉及將基於實例的 API 呼叫替換為 IronBarcode 的靜態方法,刪除授權樣板程式碼,並更新結果屬性名稱。大多數遷移涉及減少程式碼而不是新增它。

IronBarcode可以生成帶有Logo的QR碼嗎?

可以。QRCodeWriter.CreateQrCode().AddBrandLogo("logo.png") 可以原生嵌入品牌圖像進QR碼,並可配置錯誤更正。也支持通過ChangeBarCodeColor() 生成彩色QR碼。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話