Aspose BarCode for .NET範例對比IronBarcode:並排比較及程式碼範例
Barcode4NETvs IronBarcode:從過時生成器與現代.NET條碼程式庫的比較
Barcode4NET實際上已經停止更新。最後一次釋出的Barcode4NET 2.0來自O2 Solutions,是在2007年6月25日發佈的。新授權不再通過ComponentSource銷售(現有客戶仍可續訂支援和軟體更新),從未發佈任何NuGet套件,且程式庫僅適用於.NET Framework 1.1 / 2.0 / 3.x和.NET Compact Framework。 如果您的團隊繼承了Barcode4NET的依賴,本文將把該程式庫提供的內容與IronBarcode現今提供的功能做比較——涵蓋平台覆蓋範圍、API設計、條碼讀取能力,以及如何使左右比較變得有些不尋常的授權現實。
了解Barcode4NET
Barcode4NET是O2 Solutions發佈並通過ComponentSource分發的商業條碼生成程式庫。 它被設計用於Windows為基礎的.NET Framework應用程式—主要是Windows Forms、ASP.NET Web Forms、.NET Compact Framework,以及SQL Server Reporting Services 2000 / 2005—並提供1D和2D符號學的清晰位圖和向量輸出。
該程式庫從未作為NuGet套件提供。 它是作為DLL分發的,開發者將其檢入源程式碼控制或放在共享工件位置。 每個使用它的專案都需要在<Reference>元素。 當Barcode4NET活躍時,這是標準做法,但在現代CI/CD工作流程中會創造顯著的摩擦。
Barcode4NET的主要架構特性:
- 屬性設置API:開發者建立一個
System.Drawing.Bitmap - 符號學覆蓋:39 種 1D 符號學(Code128、Code39、EAN-13、UPC-A等)以及五種2D格式(DataMatrix、PDF417、MicroPDF417、Code 16K、CODABLOCK F); 不支持二維碼和Aztec
- 僅生成:產品中從未包含條碼讀取或掃描功能
- 僅限Windows和.NET Framework:目標是.NET Framework 1.1 / 2.0 / 3.x 和 .NET Compact Framework; 不支持.NET Core、.NET 5+、Linux、macOS、Docker 或雲端運行時環境
- 無NuGet發佈:每個專案文件和構建管道中都需要手動DLL引用
- 停止更新:自2007年以來,無通過ComponentSource新售的授權及無程式碼釋出
Barcode4NETGeneration API
Barcode4NET中的完整生成工作流程是採用屬性設置模式的:
//Barcode4NET— manual DLL,.NET Frameworkonly
// NoNuGet套件— requires ThirdParty/Barcode4NET/Barcode4NET.dll in source control
using Barcode4NET;
using System.Drawing;
using System.Drawing.Imaging;
var barcode = new Barcode4NET.Barcode();
barcode.Symbology = Symbology.Code128;
barcode.Data = "ITEM-12345";
barcode.Width = 300;
barcode.Height = 100;
Bitmap barcodeImage = barcode.GenerateBarcode();
barcodeImage.Save(outputPath, ImageFormat.Png);
//Barcode4NET— manual DLL,.NET Frameworkonly
// NoNuGet套件— requires ThirdParty/Barcode4NET/Barcode4NET.dll in source control
using Barcode4NET;
using System.Drawing;
using System.Drawing.Imaging;
var barcode = new Barcode4NET.Barcode();
barcode.Symbology = Symbology.Code128;
barcode.Data = "ITEM-12345";
barcode.Width = 300;
barcode.Height = 100;
Bitmap barcodeImage = barcode.GenerateBarcode();
barcodeImage.Save(outputPath, ImageFormat.Png);
Imports Barcode4NET
Imports System.Drawing
Imports System.Drawing.Imaging
Dim barcode As New Barcode4NET.Barcode()
barcode.Symbology = Symbology.Code128
barcode.Data = "ITEM-12345"
barcode.Width = 300
barcode.Height = 100
Dim barcodeImage As Bitmap = barcode.GenerateBarcode()
barcodeImage.Save(outputPath, ImageFormat.Png)
這代表了Barcode4NET API 表面的完整範圍。 該程式庫不提供流暢的鏈式調用,沒有讀取功能,不支持二維碼,並且沒有如標識嵌入或錯誤校正控制等高級2D選項。
理解IronBarcode
IronBarcode是來自Iron Software的一款商業.NET條碼程式庫,它將條碼生成和條碼讀取涵蓋在一個套件中。 它僅通過NuGet分佈,目標是.NET Framework 4.6.2 到.NET 9,並可以在Windows、Linux、macOS、Docker、Azure和AWS Lambda上運行。
該程式庫基於流暢靜態API構建。 生成使用BarcodeWriter.CreateBarcode()與資料字串和編碼型別,隨後可選的鏈式選項用於大小、顏色和格式。 讀取使用BarcodeReader.Read(),它接受圖像文件路徑、串流和PDF文件,而無需單獨的PDF程式庫。
IronBarcode的關鍵特性:
- 流暢的靜態生成API:
.AddAnnotationTextAboveBarcode()和保存方法於一個表達式中 - 條碼讀取:
BarcodeReader.Read()本地解碼圖像和PDF中的條碼 - 廣泛的格式支持:支持Code128、Code39、EAN-13、UPC-A、二維碼、資料矩陣、PDF417、Aztec等
- 二維碼專精:
QRCodeWriter.CreateQrCode()提供專用的二維碼選項,包括標誌嵌入和錯誤校正級別 - NuGet分佈:標準
dotnet add package IronBarcode安裝;dotnet restore處理所有依賴 - 跨平台:可在Windows、Linux、macOS上的.NET 5、6、7、8 和9上運行,包括Docker容器和無伺服器雲端運行時
- 活躍的商業產品:定期更新、安全補丁、.NET版本相容性更新,並以明確的價格點售出授權
特性比較
下表顯示Barcode4NET和IronBarcode之間最顯著的差異:
| 特性 | Barcode4NET | IronBarcode |
|---|---|---|
| NuGet套件 | 否——僅手動DLL | 是(IronBarcode) |
| 條碼生成 | 是 | 是 |
| 條碼讀取 | 否 | 是 |
| 跨平台支持 | 否——僅限Windows | 是——Windows、Linux、macOS |
| 有效維護 | 否(已停止) | 是 |
| 新授權可用 | 否 | 是 |
詳細特性比較
| 特性 | Barcode4NET | IronBarcode |
|---|---|---|
| 生成 | ||
| Code128生成 | 是 | 是 |
| Code39生成 | 是 | 是 |
| EAN-13 / UPC-A生成 | 是 | 是 |
| QR碼生成 | 否 | 是——QRCodeWriter.CreateQrCode() |
| 帶標誌的QR碼 | 否 | 是——.AddBrandLogo() |
| 資料矩陣 / PDF417 | 是 | 是 |
| Aztec | 否 | 是 |
| 流暢的鏈式API | 否 | 是 |
| 讀取 | ||
| 從圖像讀取條碼 | 否 | 是——BarcodeReader.Read() |
| 從PDF讀取條碼 | 否 | 是——本地,無需額外程式庫 |
| 多條碼檢測 | 否 | 是——ExpectMultipleBarcodes |
| 讀取速度配置 | 否 | 是——ReadingSpeed枚舉 |
| 平台 | ||
| .NET Framework | 是 | 是(.NET Framework 4.6.2+) |
| .NET 5 / 6 / 7 / 8 / 9 | 否 | 是 |
| Linux / macOS | 否 | 是 |
| Docker | 否 | 是 |
| Azure / AWS Lambda | 否 | 是 |
| 分發 | ||
| NuGet套件 | 否 | 是 |
dotnet restore相容 |
否 | 是 |
| CI/CD整合 | 手動DLL步驟 | 標準還原 |
| 維護 | ||
| 活躍開發 | 否(已停止) | 是 |
| 安全補丁 | 否 | 是 |
| Bug修復 | 否 | 是 |
| 新授權 | 否 | 是——Lite $749、Plus $1,499、Professional $2,999、Unlimited $5,999 |
生成API設計
生成API代表這兩個程式庫之間最直接的比較點,因為生成是Barcode4NET唯一提供的功能。
Barcode4NET方法
Barcode4NET使用了一種命令式屬性設置模式。 開發人員實例化一個System.Drawing.Bitmap:
using Barcode4NET;
using System.Drawing;
using System.Drawing.Imaging;
public Bitmap GenerateLabel(string sku)
{
var barcode = new Barcode4NET.Barcode();
barcode.Symbology = Symbology.Code128;
barcode.Data = sku;
barcode.Width = 400;
barcode.Height = 120;
return barcode.GenerateBarcode();
}
using Barcode4NET;
using System.Drawing;
using System.Drawing.Imaging;
public Bitmap GenerateLabel(string sku)
{
var barcode = new Barcode4NET.Barcode();
barcode.Symbology = Symbology.Code128;
barcode.Data = sku;
barcode.Width = 400;
barcode.Height = 120;
return barcode.GenerateBarcode();
}
Imports Barcode4NET
Imports System.Drawing
Imports System.Drawing.Imaging
Public Function GenerateLabel(sku As String) As Bitmap
Dim barcode As New Barcode4NET.Barcode()
barcode.Symbology = Symbology.Code128
barcode.Data = sku
barcode.Width = 400
barcode.Height = 120
Return barcode.GenerateBarcode()
End Function
返回型別——System.Drawing.Bitmap——意味著調用程式碼負責儲存、顯示或傳輸圖像。 這適合用於WinForms應用程式,其中PictureBox,但對於其他任何輸出目標需要額外的轉換步驟。
IronBarcode方法
IronBarcode使用流暢的靜態API。 單次方法調用啟動生成,並可鏈式方法在最終保存或轉換方法之前配置結果:
// NuGet: dotnet add package IronBarcode
using IronBarCode;
public byte[] GenerateLabel(string sku)
{
return BarcodeWriter.CreateBarcode(sku, BarcodeEncoding.Code128)
.ResizeTo(400, 120)
.ToPngBinaryData();
}
// NuGet: dotnet add package IronBarcode
using IronBarCode;
public byte[] GenerateLabel(string sku)
{
return BarcodeWriter.CreateBarcode(sku, BarcodeEncoding.Code128)
.ResizeTo(400, 120)
.ToPngBinaryData();
}
Imports IronBarCode
Public Function GenerateLabel(sku As String) As Byte()
Return BarcodeWriter.CreateBarcode(sku, BarcodeEncoding.Code128) _
.ResizeTo(400, 120) _
.ToPngBinaryData()
End Function
Symbology枚舉。 Height屬性設置。 終端方法——GenerateBarcode()和位圖保存調用。 有關更高級的生成場景,請參閱IronBarcode條碼生成文件。
條碼讀取能力
讀取能力是這兩個程式庫之間最尖鋭的能力差距。 Barcode4NET從未在任何版本中提供條碼讀取。 IronBarcode在同一個包中包含完整的讀取能力與生成功能。
Barcode4NET方法
Barcode4NET無讀取API。 需要從圖像或掃描文件中解碼條碼的團隊必須完全整合第二個程式庫——無論是開源的替代方案ZXing.Net,還是商業掃描SDK。 結果是有兩個獨立的依賴鏈:生成使用Barcode4NET,讀取使用另一個程式庫。
IronBarcode方法
IronBarcode提供BarcodeReader.Read()作為一種靜態方法,可以接受圖像檔路徑、串流物件和PDF文件:
using IronBarCode;
// Read from an image file
var results = BarcodeReader.Read("barcode.png");
foreach (var result in results)
{
Console.WriteLine($"Value: {result.Value}");
Console.WriteLine($"Format: {result.Format}");
}
// Read all barcodes from a multi-page PDF — no extra PDF library required
var pdfResults = BarcodeReader.Read("invoice-batch.pdf");
foreach (var result in pdfResults)
{
Console.WriteLine($"Page {result.PageNumber}: {result.Value}");
}
using IronBarCode;
// Read from an image file
var results = BarcodeReader.Read("barcode.png");
foreach (var result in results)
{
Console.WriteLine($"Value: {result.Value}");
Console.WriteLine($"Format: {result.Format}");
}
// Read all barcodes from a multi-page PDF — no extra PDF library required
var pdfResults = BarcodeReader.Read("invoice-batch.pdf");
foreach (var result in pdfResults)
{
Console.WriteLine($"Page {result.PageNumber}: {result.Value}");
}
Imports IronBarCode
' Read from an image file
Dim results = BarcodeReader.Read("barcode.png")
For Each result In results
Console.WriteLine($"Value: {result.Value}")
Console.WriteLine($"Format: {result.Format}")
Next
' Read all barcodes from a multi-page PDF — no extra PDF library required
Dim pdfResults = BarcodeReader.Read("invoice-batch.pdf")
For Each result In pdfResults
Console.WriteLine($"Page {result.PageNumber}: {result.Value}")
Next
對於高容量或噪聲圖像場景,BarcodeReaderOptions類提供對讀取速度和多條碼檢測的控制。 請參閱條碼讀取文件以獲取配置選項。
平台和部署覆蓋
平台支持是團隊進行.NET現代化專案時最重要的區別。
Barcode4NET方法
Barcode4NET是針對.NET Framework組件編譯的。 它運行在Windows上,在.NET Framework應用程式中、在IIS承載的Web Forms和Windows Forms專案中。 沒有Linux版本,沒有.NET Core版本,也沒有雲端運行時支持。 當微軟推出.NET Core並稍後將平台統一為.NET 5+,Barcode4NET沒有相應的更新。 任何目標net5.0或更高版本的專案都不能完全引用該程式庫。
DLL分佈模型加劇了平台限制。 每個構建環境——開發人員工作站、建置代理、Docker容器——都需要在已知路徑中存在DLL。 在基於容器的部署中,這意味著要麼將DLL編譯到自定義基礎映像中,要麼在容器構建期間複製它,兩者都與標準dotnet restore工作流程不相容。
IronBarcode方法
IronBarcode從單一的NuGet套件目標多框架:.NET Framework 4.6.2到.NET 9,以及Windows、Linux和macOS上的所有當前.NET版本。 部署到Docker容器使用標準的.NET運行時映像而不做修改。 Azure Functions、AWS Lambda及其他無伺服器運行時環境通過同一NuGet套件支持。 dotnet restore命令解決了所有依賴,無需任何手動DLL管理。
授權架構和供應商狀態
Barcode4NET的授權狀況不是一個競爭點——它是一個實際的限制,影響了每一個是否繼續使用該程式庫的決定。
Barcode4NET方法
Barcode4NET實際上已經停止更新。新授權不再通過ComponentSource銷售,雖然現有客戶可以根據供應商的條款通過ComponentSource續訂支援和軟體更新。 如果有新的開發人員加入使用Barcode4NET的團隊,沒有機制來為他們購買額外的位。 最後一次程式碼釋出是2007年的版本2.0,因此自該釋出以來發現的任何缺陷或安全問題都未通過補丁解決。
IronBarcode方法
IronBarcode是一個持續維護的商業產品,具有永久性授權。 從$749的單開發者Lite授權起步,還有Plus($1,499,3名開發者)、Professional($2,999,10名開發者)和Unlimited($5,999)層級可選。 所有層級均包含免版稅部署。 安全補丁、Bug修復和.NET版本相容性更新定期發佈。 可以免費獲得為期30天的不含授權金鑰的試用版本。
API對映參考
| Barcode4NET | IronBarcode |
|---|---|
new Barcode4NET.Barcode() |
BarcodeWriter.CreateBarcode(data, encoding) |
barcode.Symbology = Symbology.Code128 |
CreateBarcode的參數) |
barcode.Data = "ITEM-12345" |
CreateBarcode()的第一個參數 |
條碼寬度 = 300; 條碼高度 = 100 |
.ResizeTo(300, 100) |
Bitmap |
.SaveAsPng(path) / .ToPngBinaryData() |
Symbology.Code39 |
BarcodeEncoding.Code39 |
Symbology.EAN13 |
BarcodeEncoding.EAN13 |
Symbology.UPCA |
BarcodeEncoding.UPCA |
Symbology.DataMatrix |
BarcodeEncoding.DataMatrix |
Symbology.PDF417 |
BarcodeEncoding.PDF417 |
| (QR Code not supported in Barcode4NET) | BarcodeEncoding.QRCode |
手動DLL <Reference Include="Barcode4NET"> |
<PackageReference Include="IronBarcode" /> |
| 無讀取API | BarcodeReader.Read(path) |
| 無PDF支持 | BarcodeReader.Read("doc.pdf")本地 |
| 僅限.NET Framework | .NET Framework 4.6.2到.NET 9 |
當團隊考慮從Barcode4NET轉移到IronBarcode
阻止.NET升級
最常見的強制事件是一個.NET現代化專案。 團隊在他們的net8.0中設置目標,運行構建,並遇到載入失敗,因為Barcode4NET是為.NET Framework 1.1 / 2.0 / 3.x構建的,無法從現代.NET目標中引用。 在這個時候,團隊面臨一個二元選擇——回退目標框架更改並留在.NET Framework,或是替換Barcode4NET。 遷移不能被推遲,否則將阻礙更廣泛的現代化努力。
基礎設施變更後的CI/CD管道故障
Barcode4NET的DLL分佈模型創造了建置管道中的潛在脆弱性。 當一個建置代理被重新配置,或一個容器映像被更新,或配置了一個新的CI環境,Barcode4NET DLL必須被手動放置在專案文件預期的位置。 那些未仔細記錄此步驟的團隊只有在管道失敗時才發現問題。 轉換到IronBarcode意味著dotnet restore處理一切——DLL位置問題不再存在。
新團隊成員無法被授權
當承包商加入專案或第二名開發人員需要處理條碼功能時,沒有授權可供購買。 團隊必須圍繞此限制工作——要麼新開發者完全避免條碼程式碼,要麼有人轉讓一個可能不符合最初條款的法律授權。 這兩種情況對於一個正在積極開發產品的團隊來說都不可持續。
安全和合規審計
進行軟體物料清單生成或將依賴項檢查對照已終止資料庫的組織會將Barcode4NET視作一個發現。 它是一個自2007年以來未有程式碼釋出的商業產品,未有CVE跟蹤或補丁流。 安全審核員通常將處於此狀態的依賴項與持續維護的程式庫不同看待,並且發現通常變成正式的補救項,而不是可推遲的風險。
將讀取能力新增到現有的工作流程中
最初使用Barcode4NET生成而非讀取的團隊隨後發現他們需要從掃描文件中驗證條碼,處理使用者上傳的圖像,或從PDF發票中提取資料。 對於Barcode4NET,這需要整合第二個程式庫。 IronBarcode的BarcodeReader.Read()處理圖像和PDF,自然地將依賴整合到一個持續維護的包中。
常見的遷移考慮因素
移除DLL引用
Barcode4NET從未作為NuGet套件發布,沒有dotnet remove package命令。 每個引用該程式庫的<HintPath>指向磁碟上的DLL。 所有這些元素都必須手動找到並刪除。 對整個解決方案進行grep可定位它們:
grep -rl "Barcode4NET" --include="*.csproj" .
grep -rl "Barcode4NET" --include="*.csproj" .
組件控制中的DLL目錄——通常是git rm一起設置為刪除。
從位圖到位元組陣列的返回型別變更
Barcode4NET的System.Drawing.Bitmap。 IronBarcode的流暢鏈結結束於.SaveAsPng()直接寫入磁碟。 將返回值分配給Image.FromStream()。
符號學枚舉重命名
Barcode4NET的BarcodeEncoding枚舉。 所有通用值——QRCode——會保留其名稱。 在全解決方案中對BarcodeEncoding.可涵蓋大多數情況,但應審查每次替換以確認其上下文。
清理構建腳本
構建腳本和CI/CD配置文件中將Barcode4NET DLL複製到輸出目錄或建置代理的步驟必須更新。 這些步驟在NuGet遷移後沒有等效物——dotnet restore取代了所有手動的DLL管理。 在遷移後保留過時的DLL複製步驟不會導致構建失敗,但它們代表了一個死配置,會讓未來的維護人員感到困惑。
額外的IronBarcode能力
IronBarcode中提供的功能,在Barcode4NET生命周期中的任何時期都不曾存在過:
- 從圖像讀取條碼:
BarcodeReader.Read()從PNG、JPEG、TIFF及其他圖像格式解碼所有主要的1D和2D符號學 - PDF條碼讀取:本地PDF輸入支持——無需單獨的PDF提取程式庫
- 二維碼標誌嵌入:
.AddBrandLogo()的品牌化二維碼的支持 - 2D格式生成:除了二維碼之外的Data Matrix、PDF417和Aztec支持
- 多條碼檢測:
BarcodeReaderOptions.ExpectMultipleBarcodes能在單圖像中找到所有條碼 - 讀取速度調節:
ReadingSpeed枚舉為高容量處理平衡吞吐量與準確性 - ASP.NET Core整合:直接從
.ToPngBinaryData()以獲得乾淨的控制器動作響應
.NET相容性和未來準備
IronBarcode支持.NET Framework 4.6.2到.NET 9,並在新的.NET版本推出時獲得相容性更新。Barcode4NET僅目標.NET Framework 1.1 / 2.0 / 3.x和.NET Compact Framework,並且自2007年以來未有任何釋出。使用.NET Framework 4.x 的團隊可以遷移到IronBarcode,然後可自由升級其目標框架至任何當前的.NET版本而不受條碼程式庫的限制。
結論
Barcode4NET和IronBarcode代表了.NET條碼開發歷史中的不同階段。 Barcode4NET是它所處時代中一個功能性且範圍適當的程式庫——一種屬性設置API,為Windows Forms和Web Forms應用程式生成乾淨的位圖輸出於.NET Framework上。 IronBarcode是一個現代的商業產品,擁有流暢的靜態API、完整的條碼讀取支持、跨平台運行時覆蓋及標準的NuGet分發。
比較變得不尋常是因為Barcode4NET不再是一個活生生的產品。 它不再接收更新、安全補丁或新授權銷售。 評估選擇哪個程式庫作為新專案的工具的團隊不會在該評估中面對Barcode4NET——它對那些已經在生產中使用它並決定何時以及如何進行遷移的團隊才有意義。
對生產中使用Barcode4NET的團隊來說,IronBarcode是自然的替代選擇。 API映射是直接的,程式碼變更是表面級的,生成語法是等價的。 獲得的是一個實際上有被維護的依賴,新團隊成員可以安裝,並且與現代.NET版本和部署環境相容。
誠實的評估是,這不是兩個可行選項之間的競爭選擇。 Barcode4NET無法擴展至新團隊成員,無法在現代.NET上運行,無法修補安全問題。 IronBarcode則可以。 遷移的決策更多是由這些實際限制驅動,而不是基於API偏好或功能比較。
常見問題
什麼是Barcode4.NET?
Barcode4.NET是.NET的條碼程式庫,用於在C#應用程式中生成和讀取條碼。它是開發人員在選擇.NET專案的條碼解決方案時評估的幾個替代方案之一。
Barcode4.NET和IronBarcode之間的主要區別是什麼?
IronBarcode使用靜態、無狀態API,無需實例管理,而Barcode4.NET通常需要先建立和配置實例後才能使用。IronBarcode還提供原生PDF支持、自動格式檢測和跨所有環境的單一授權金鑰。
IronBarcode的授權是否比Barcode4.NET更容易?
IronBarcode使用一個覆蓋開發和生產部署的單一授權金鑰。相比於將SDK金鑰與運行時金鑰分開的授權系統,這簡化了CI/CD管道和Docker配置。
IronBarcode是否支持Barcode4.NET支持的所有條碼格式?
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在批次處理方面與Barcode4.NET相比如何?
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安裝程式或運行時文件。
是否可以在購買前評估IronBarcode,與Barcode4.NET不同?
可以。IronBarcode的試用模式返回完整解碼的條碼值——只有生成的輸出圖像上有水印。您可以在自己的文件上評估讀取準確性,然後再決定購買。
Barcode4.NET和IronBarcode之間的價格差異是什麼?
IronBarcode起價為$749,為單開發者所適用的永久授權,覆蓋開發和生產。價格詳情和批量選項可在IronBarcode授權頁面獲得。無需單獨的運行時授權。
從Barcode4.NET遷移到IronBarcode是否簡單?
從Barcode4.NET遷移到IronBarcode主要包含用IronBarcode的靜態方法替換基於實例的API調用,移除授權樣板程式碼,並更新結果屬性名稱。大多數遷移涉及減少程式碼而不是新增程式碼。
IronBarcode可以生成帶有Logo的QR碼嗎?
可以。QRCodeWriter.CreateQrCode().AddBrandLogo("logo.png") 可以原生嵌入品牌圖像進QR碼,並可配置錯誤更正。也支持通過ChangeBarCodeColor() 生成彩色QR碼。

