跳過到頁腳內容
與其他組件的比較

DevExpress Barcode 與 IronBarcode:C# 條碼庫對比

DevExpress 是一款備受好評的 .NET UI 工具包。 網格、日程安排、圖表和資料透視表控制確實非常出色,已被成千上萬的企業團隊使用。 然而,條碼支援的情況則有所不同。 DevExpress 提供了一個 WinForms 控制項(BarCodeControl)和一個 Blazor 標籤(DxBarCode),讓您在設計時將條碼渲染到表單上。當被問及條碼識別問題時,他們的支援團隊的回答始終如一:目前尚無讀取功能,也沒有添加此功能的計劃。 如果您的條碼位於背景作業、Web API、PDF 文件或任何沒有 UI 表單的環境中,則此控制項不適用。

這項限制將 DevExpress 條碼產品的功能縮小到一個特定的領域:在 DevExpress WinForms 或 Blazor UI 中以視覺方式呈現條碼。 對於特定應用場景,它完全夠用。但對於其他任何應用程式——例如伺服器端產生、讀取映像或 PDF 檔案、在 Azure Functions 或 Docker 容器中進行無頭處理——都需要使用不同的工具。

了解 DevExpress 條碼控制項

DevExpress 條碼功能位於 DevExpress.XtraBars.BarCode 和相關符號命名空間。 它不是一個獨立的函式庫。 它包含在 DXperience 套件中,該套件每年的費用約為 2,499 美元以上。 沒有單獨的僅包含條碼的 NuGet 套件可供安裝。

BarCodeControl 是繼承自控制層級結構的 WinForms 控制項。 您可以使用符號系統物件對其進行配置,設定屬性,然後它會在螢幕上呈現。 將渲染結果儲存到檔案需要呼叫 DrawToBitmap,函數需要一個預先分配的、大小合適的 Bitmap 空間:

// DevExpress WinForms: UI control, not a library
using DevExpress.XtraBars.BarCode;
using DevExpress.XtraBars.BarCode.Symbologies;
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.XtraBars.BarCode;
using DevExpress.XtraBars.BarCode.Symbologies;
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.XtraBars.BarCode
Imports DevExpress.XtraBars.BarCode.Symbologies
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 標籤在概念上類似,但它是 Razor 元件,用於 UI 渲染,而不是伺服器端產生 API。

無讀取功能

DevExpress 的官方立場是,他們不提供條碼辨識或掃描功能。 這並非一個等待在即將發布的版本中填補的空白——多年來,答案一直如此。

對於那些最初使用 DevExpress WinForms 應用程式開發,之後又需要掃描上傳圖片中的條碼或讀取 PDF 附件中的二維碼的團隊來說,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,您的團隊需要 DXperience 套件許可證,每位開發人員每年大約需要 2,499 美元。 該套件包括網格、圖表、日程安排器、透視表和許多其他控制項——如果您正在建立完整的 DevExpress WinForms 或 Blazor 應用程序,這是合理的。 如果您只需要為後端服務產生條碼,那麼您實際上正在為整個 UI 工具包付費,而該服務永遠不會使用這個工具包。

IronBarcode是一個獨立軟體包:

dotnet add package IronBarcode
dotnet add package IronBarcode
SHELL

永久 Lite 許可證起價為 749 美元(適用於一位開發者)。 未捆綁任何使用者介面工具包。 您將獲得條碼產生和讀取功能、跨平台支持,以及其他您未要求的功能。

無頭模式使用限制

在伺服器端場景中,BarCodeControl 的根本問題在於它是一個 WinForms 控制項。 在 .NET 6+ ASP.NET Core 最小 API 專案中,預設不引用 WinForms 組件。 要實例化 BarCodeControl,您的 API 專案必須明確地以 Windows 為目標並載入 Windows Forms 執行時間,或新增變通引用,引入您的 API 永遠不會渲染的 UI 基礎架構。

在 Azure 函數消耗計畫中,完全沒有 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 控制器、由服務總線訊息觸發的 Azure 函數或在 Linux 上執行的 Docker 容器中正常運作。 API在不同環境下不會改變。 沒有使用者介面組件相依性。

傳回條碼(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-KEY";
IronBarCode.License.LicenseKey = "YOUR-KEY";
Imports IronBarCode

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

無網路通話。 沒有錯誤處理樣板程式碼。 本地驗證。

並排二維碼

二維碼說明了使用者介面控制項和程式庫之間的 API 差距。

DevExpress 二維碼 — WinForms 控制項:

// DevExpress: QR via BarCodeControl + QRCodeGenerator symbology
using DevExpress.XtraBars.BarCode;
using DevExpress.XtraBars.BarCode.Symbologies;

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.XtraBars.BarCode;
using DevExpress.XtraBars.BarCode.Symbologies;

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.XtraBars.BarCode
Imports DevExpress.XtraBars.BarCode.Symbologies
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 二維碼-效果相同,無需組裝使用者介面:

// 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

在二維碼中心加入品牌識別:

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 沒有類似的嵌入式標誌功能。 此控制項僅產生一個標準的二維碼,沒有其他功能。

功能比較

特點 DevExpress 條碼 IronBarcode
條碼生成 是的(WinForms控件,Blazor標籤) 是的(程式化 API,所有環境)
條碼讀取/掃描 不——已正式確認 是的-圖像、PDF、位元組數組
PDF條碼讀取 是的-原生支持,無需額外函式庫
獨立 NuGet 套件 不需要——需要 DXperience 套件 是的 — IronBarcode 僅限
套房費用 每年約 2,499 美元以上(完整 UI 套件) 不適用 — 獨立
許可證費用 僅訂閱 永久 749 美元起
ASP.NET Core / 最小 API 需要使用 WinForms 變通方法 原生支援
Azure 功能 不支援無頭模式 全面支援
Docker / Linux Linux 基礎鏡像上的 GDI+ 問題 全面支援
控制台應用程式 需要載入 WinForms 程式集 原生支援
二維碼生成 是的(透過 QRCodeGenerator 符號系統) 是的(二維碼寫入器)
帶有嵌入式徽標的二維碼 是的-.AddBrandLogo()
QR誤差校正水平 H、Q、M、L 最高、高、中、低
代碼 128
數據矩陣
PDF417
阿茲特克
文件輸出 DrawToBitmap — 手動點陣圖分配 .SaveAsPng()、.SaveAsGif()、.SaveAsSvg()
二進位輸出(HTTP響應) 手動點陣圖 → 記憶體流 .ToPngBinaryData()
多執行緒讀取 不適用——無讀數 最大並行線程數 = 4
多條碼讀取 不適用——無讀數 ExpectMultipleBarcodes = true
平台 Windows(WinForms / Blazor) Windows、Linux、macOS、Docker、Azure、AWS Lambda
.NET 版本支援 .NET Framework + 近代 .NET(Windows) .NET 4.6.2 至 .NET 9

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) — 手動位圖分配 .SaveAsPng(path) — 自動處理尺寸調整
HTTP 回應的手動操作 BitmapMemoryStream .ToPngBinaryData()
無讀取 API BarcodeReader.Read(imagePath)
TextResult 類型 .Value(字串),.Format(條碼編碼)
每個項目都需要 UI 程序集 適用於任何 .NET 專案類型
僅限套房(約 2,499 美元/年起) 獨立版(永久版起價 749 美元)

當球隊切換

通常有幾個特定場景會觸發從 DevExpress 條碼控制項遷移到 IronBarcode。

讀取需求出現。最常見的情況是,一個 WinForms 應用程式多年來一直在生成條碼,現在收到一項新功能請求:該應用程式必須能夠掃描或驗證上傳影像或相機拍攝影像中的條碼。 DevExpress 沒有讀取 API。 無論如何,團隊都需要一個新的庫,將生成過程整合到同一個庫中也是合理的。

需要一個 Web API 端點。一個團隊正在建立一個微服務,用於按需生成條碼標籤——該服務可從 Web 前端、行動應用程式或其他服務呼叫。這個 ASP.NET Core 專案不依賴 WinForms,團隊也不希望新增 WinForms。IronBarcode的靜態 API 可以整合到 HTTP 端點中,無需任何 UI 組裝。

Azure 函數或 Lambda 部署。無伺服器部署通常使用基於 Linux 的鏡像和最小化的執行環境。 BarCodeControl 不適用於此環境。IronBarcode無需任何設定變更即可在 Linux、Docker 容器、Azure Functions 和 AWS Lambda 上運作。

套件續訂費用僅包含單一功能。當續約臨近,團隊審核他們實際使用的 DXperience 套件功能時,如果發現某個服務中唯一的 DevExpress 組件是 BarCodeControl,就會引發成本方面的討論。 為條碼產生功能支付全套訂閱費用,而一個獨立的條碼產生庫的永久費用為 749 美元,這很難讓人信服。

從 PDF 讀取多個條碼。文件處理工作流程——從發票 PDF、發貨清單或掃描表單中讀取條碼——需要同時支援 PDF 和具備讀取能力。IronBarcode可以直接讀取 PDF 文件,無需額外的庫。 DevExpress 不具備這兩種功能。

結論

DevExpress 的條碼解決方案最好理解為 UI 工具包中捆綁的一個 UI 渲染功能。 如果您的應用程式是 WinForms 或 Blazor 應用程序,並且已經使用 DevExpress 作為其網格和圖表控件,而您唯一的條碼需求是在表單上以可視方式顯示條碼,那麼 BarCodeControl 是一個合理的選擇——您已經擁有許可證。

當您需要以下任何功能時,BarCodeControl 就不再是合適的工具了:讀取條碼、在伺服器端上下文中產生條碼、在無頭環境中運行、在 Linux 上工作或在沒有 WinForms 組件引用的情況下運行。 DevExpress技術支援已確認目前沒有讀取功能,並且沒有計劃添加該功能。 無頭模式的限制是架構問題,而不是配置問題。 UI控制項就是UI控制項。

IronBarcode 專為程式化條碼工作而建構——透過靜態 API 在任何環境、任何平台上產生和讀取條碼。 這兩種工具解決的是不同的問題。 DevExpress 條碼用於在表單內渲染。IronBarcode用於處理條碼代碼。

常見問題解答

什麼是 DevExpress 條碼?

DevExpress Barcode 是一個 .NET 條碼庫,用於在 C# 應用程式中產生和讀取條碼。它是開發人員在為 .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 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 在單一 NuGet 套件中支援 .NET Framework 4.6.2+、.NET Core 3.1 以及 .NET 5、6、7、8 和 9。平台目標包括 Windows x64/x86、Linux x64 和 macOS x64/ARM。

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

透過 NuGet 安裝 IronBarcode:在程式包管理器控制台中執行“Install-Package IronBarCode”,或在命令列介面中執行“dotnet add package IronBarCode”。無需其他 SDK 安裝程式或運行時檔案。

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

是的。 IronBarcode 的試用模式會傳回完整的解碼條碼值-只有產生的輸出影像才會有浮水印。您可以在購買前,用自己的文件測試讀取準確率。

DevExpress Barcode 和 IronBarcode 的價格差異是多少?

IronBarcode 的永久單開發者許可證起價為 749 美元,涵蓋開發和生產環境。定價詳情和大量許可選項請造訪 IronBarcode 授權頁面。無需單獨的運行時許可證。

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

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

IronBarcode 能產生帶有 logo 的二維碼嗎?

是的。 `QRCodeWriter.CreateQrCode().AddBrandLogo("logo.png")` 可以將品牌圖片原生嵌入二維碼中,並支援設定糾錯功能。此外,它還支援透過 `ChangeBarCodeColor()` 函數建立彩色二維碼。

Jordi Bardia
軟體工程師
Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担產品测测试,產品開發和研究的责任時,Jordi 為持续的產品改進增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。

鋼鐵支援團隊

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