在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
條碼是可供機器閱讀的視覺數據表示。條碼最初是透過改變平行線的長度和間距來表達數據的。這些線性或一維的條碼 (1D) 條碼可以使用稱為條碼掃描器的特殊光學掃描器進行掃描,這些掃描器有各種類型。後來,二維 (2D) 使用矩形、點、六邊形和其他圖案的變體被開發出來,被稱為矩陣碼,儘管它們不使用條形。專門設計的2D光學掃描儀有多種配置,可以讀取2D條碼。附加到運行相關軟體的微型計算機上的數碼相機可以拍攝條碼的照片圖像,還可以掃描2D條碼。它通過分析圖像來解構和解碼2D條碼。使用專門的應用軟體,內建攝像頭的移動設備,如智能手機,可以作為後者的2D條碼掃描器。
在這篇文章中,我們將比較兩個流行的條碼庫:
這兩個庫都可以用於條碼的生成和識別,支持所有的.NET框架,並允許你保存條碼圖像。
LEADTOOLS Barcode SDK 是世界上最頂尖的工具包,適用於需要 API 來檢測、讀取和生成 1D 和 2D 條碼的開發人員。它擁有快速、高度準確且可靠的條碼引擎,適用於 .NET Framework、.NET Core、Xamarin、UWP、C++ Class Library、C#、VB、C/C++、Java、Objective-C 和 Swift 開發人員。屢獲殊榮的 LEADTOOLS 庫幫助程序員使用功能全面的條碼技術創建令人驚嘆的應用程序。
條碼 API 功能如下:
快速查找和解碼條碼:LEADTOOLS 是市場上最全面的條碼工具包,支持讀取和寫入超過 100 種條碼類型,包括所有主要的 1D 和 2D 條碼,能處理雙色和彩色圖像。一幅圖像或關注區域可以是雙色或彩色,低分辨率,并且可以包含多種類型的條碼,甚至可以是受損和不同方向的條碼。解碼數據的置信度始終是 100%,使 LEADTOOLS 成為任何涉及條碼的工作流程中的可靠組件。它還支持非英文字符,並能生成 2D 和郵政條碼。此外,它還能隱藏條碼文字。
條碼 Web 服務:多個 LEADTOOLS SDK 提供 SOAP 和 RESTful Web 服務,能在任何應用程序中的圖像中檢測、讀取和生成 1D 和 2D 條碼,提供平台無關的解決方案。RESTful Web 服務為 HTML5/JavaScript 應用程序提供簡單的 JSON 介面。使用高級環境的開發人員如 .NET (C# 和 VB) Java 可以利用 LEADTOOLS SOAP Web Services 來獲取更多進階的選項和功能。
在影像處理方面,條碼成像技術 LEADTOOLS Barcode Pro SDK 和 LEADTOOLS Barcode Application 可以很大程度上幫助處理編程介面。此外,LEADTOOLS 支持子類型影像壓縮、螢幕擷取,以及某些流動裝置的文件掃描清理。所有這些都包含在 LEAD Technologies Inc. 的工具許可證中,其他許可證則包含一些額外的信息和工具包相關的重要問題。文檔中包含了有關平台的詳盡報告。
IronBarcode for .NET 允許程式設計師在 .NET 應用程式和網站內讀取和寫入條碼和 QR 碼。IronBarcode 只需一行程式碼即可讀取或寫入條碼。大多數條碼和 QR 標準都可以使用 .NET 條碼庫進行讀取和寫入。常見的有 Code 39/93/128、UPC A/E、EAN 8/13、ITF、RSS 14 / Expanded, Databar, Codabar, Aztec, Data Matrix, MaxiCode, PDF417, MSI, Plessey, USPS 和 QR。條碼結果數據包括類型、文本、二進制數據、頁面和圖片文件。條碼 API 功能如下:
IronBarcode 可以讀取和寫入大多數條碼類型和 QR 標準,包括 UPC A/E、EAN 8/13、Code 39/93/128、ITF、MSI、RSS 14/Expanded、Databar、CodaBar、QR、AR、樣式化 QR、Data Matrix、MaxiCode、PDF417、Plessey 和 Aztec。結果提供的條碼數據、類型、頁面、文本和條碼圖片非常適合歸檔或索引系統。
圖像預處理提升讀取速度和準確性——IronBarcode 自動預處理條碼圖片以提高讀取速度和準確性。它可以讀取掃描或實時視頻幀,糾正旋轉、噪音、失真和傾斜問題。批處理服務器應用程序可以利用多個核心和線程,自動地在單頁和多頁文檔中找到一個或多個條碼。無需使用複雜的 API,您可以搜索特定類型的條碼或文檔位置、物理或虛擬打印機和設備。
為 .NET 項目設計——只需幾行代碼即可在幾分鐘內上手。專為 .NET Framework 構建,作為單個 DLL 無需依賴;支持 32 位和 64 位,可以在任何 .NET 和 .net core 語言中使用。支持網頁、雲端、桌面和控制台應用程序中的移動和桌面設備。它還可以用來創建旋轉條碼。
為各種文檔格式創建條碼和 QR 碼——以各種文件和流格式保存和打印到文件或流,包括 PDF、JPG、TIFF、GIF、BMP、PNG 和 HTML。顏色、質量、旋轉、大小和文本都可以更改。
打開 Visual Studio,然後進入檔案選單。選擇新專案,接著選擇主控台應用程式/Windows Forms/WPF 應用程式。IronBarcode 可以用於所有類型的應用程式。此外,你還可以使用像 Webform/MVC/MVC Core 這樣的應用程式。
在相應的文本框中輸入專案名稱並選擇文件路徑。然後,點擊創建按鈕並選擇所需的 .NET 框架。現在將生成具有所選應用程式結構的專案,如果您選擇的是控制台應用程式,它將打開 program.cs 文件,您可以在其中輸入代碼並構建/運行應用程式。
IronBarcode 庫可以通過四種方式下載和安裝:
這些方式是:
Visual Studio 軟體提供了 NuGet 套件管理器選項,可以將套件直接安裝到解決方案中。下面的截圖顯示了如何打開 NuGet 套件管理器。
它提供一個搜索框,以顯示來自NuGet網站的軟體包列表。在軟體包管理器中,我們需要搜索關鍵字“Barcode”,如下面的截圖所示:
從上圖中,我們將獲取相關搜尋結果的清單。我們需要選擇所需的選項來安裝封裝到解決方案。
在 Visual Studio 工具中,前往工具-> NuGet 包管理器 -> 包管理器控制台
在控制台標籤中輸入以下行:
Install-Package BarCode
現在套件將下載/安裝到當前專案並準備好使用。
第三種方法是直接從網站下載套件。
點擊 連結 從網站下載最新的包。下載後,按照以下步驟將包添加到項目中。
首先,我們需要安裝IronBarcode庫,為.NET框架添加條碼功能。我們可以通過我們的 NuGet 套件 或下載.NET Barcode DLL。
PM > Install-Package Barcode
請提供內容以進行翻譯。
這個庫可以通過四種不同的方式下載和安裝。
這些方式包括:
此方法類似於上述用於 IronBarcode 的方法。我們唯一需要更改的是搜尋條件,如下圖所示。
選擇第一個選項,將會下載 Leadtools 條碼庫。
在 Visual Studio 工具中,前往工具-> NuGet 套件管理器-> 套件管理器控制台
在套件管理器控制台標籤中輸入以下行。
Install-Package Leadtools barcode
現在軟體包將在當前的項目中下載/安裝,然後準備使用。
第三種方法是直接從網站下載套件。
只需點擊 這裡 重定向至NuGet網站以下載該套件。
點擊 連結 此處重新導向至套件版本列表,以選擇所需的版本進行下載。下載後,按照以下步驟將套件添加到專案中。
使用IronBarcode和Leadtools條碼,可以輕鬆完成條碼生成。讓我們用一個例子來看看這一點。
IronBarcode 可以用來創建條碼標籤,然後保存為不同類型的圖像格式。另外,我們可以傳遞所需生成的條碼類型。以下是生成條碼的程式碼片段。
var MyBarCode = BarcodeWriter.CreateBarcode("123456", BarcodeEncoding.Code128);
MyBarCode.AddAnnotationTextBelowBarcode("123456");
MyBarCode.SaveAsImage("MyBarCode.jpeg");
var MyBarCode = BarcodeWriter.CreateBarcode("123456", BarcodeEncoding.Code128);
MyBarCode.AddAnnotationTextBelowBarcode("123456");
MyBarCode.SaveAsImage("MyBarCode.jpeg");
Dim MyBarCode = BarcodeWriter.CreateBarcode("123456", BarcodeEncoding.Code128)
MyBarCode.AddAnnotationTextBelowBarcode("123456")
MyBarCode.SaveAsImage("MyBarCode.jpeg")
Barcodewriter.create barcode 是一個靜態類別,位於 IronBarcode 命名空間中。它接收兩個參數來創建條碼。我們還可以選擇性地使用 CreateBarcode 函數來指定高度和寬度。
在發送參數後,它將返回條碼對象;這將返回不同的條碼屬性,通過這些屬性,我們可以如範例代碼所示添加屬性。AddAnnotationTextBelowBarcode 是其中一個屬性,允許我們在條碼標籤的下方或上方添加文字。如果需要,我們還可以隱藏條碼文字。在上面的代碼中,jpeg 生成器有助於將條碼保存為 jpeg 圖像格式。
這不僅限於圖像格式,我們還可以將條碼導出為 HTML 格式。我們生成了不同類型的圖像以保存為不同的圖像格式。此外,我們還可以從給定的條碼圖像中讀取多個條碼。
var QRWithLogo = QRCodeWriter.CreateQrCodeWithLogo("Hello World",
"logo.png", 500);
QRWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkGreen);
QRWithLogo.SaveAsJpeg("Logoqr.jpeg");
var QRWithLogo = QRCodeWriter.CreateQrCodeWithLogo("Hello World",
"logo.png", 500);
QRWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkGreen);
QRWithLogo.SaveAsJpeg("Logoqr.jpeg");
Dim QRWithLogo = QRCodeWriter.CreateQrCodeWithLogo("Hello World", "logo.png", 500)
QRWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkGreen)
QRWithLogo.SaveAsJpeg("Logoqr.jpeg")
上述範例顯示我們能夠生成包含圖像在QR碼內的條碼。CreateQrCodeWithLogo 是一個允許我們完成這項工作的功能。我們還使用了 ChangeBarCodeColor 功能,它將幫助我們改變條碼/QR碼的顏色。IronBarcode 中的這些功能會為商業目的創建自訂條碼。
Leadtools 條碼可用於條碼生成。我們可以生成不同類型的條碼。以下代碼片段可用於創建條碼。
// Figure out how big to make the image
barcodeEngineInstance.Writer.CalculateBarcodeDataBounds(LeadRect.Empty, imageResolution, imageResolution, qrData, qrWriteOptions);
imageHeight = qrData.Bounds.Height;
imageWidth = qrData.Bounds.Width;
// Create an empty image
barcodeImage = new RasterImage(RasterMemoryFlags.Conventional, imageWidth, imageHeight, bitsPerPixel, RasterByteOrder.Rgb, RasterViewPerspective.TopLeft, palette, IntPtr.Zero, userDataLength);
// Make the image all white
FillCommand fillCmd = new FillCommand(RasterColor.White);
fillCmd.Run(barcodeImage);
// Write the barcode
barcodeEngineInstance.Writer.WriteBarcode(barcodeImage, qrData, qrWriteOptions);
// Save the results
codecs.Save(barcodeImage, barcodeOutputStream, RasterImageFormat.CcittGroup4, bitsPerPixel);
// Figure out how big to make the image
barcodeEngineInstance.Writer.CalculateBarcodeDataBounds(LeadRect.Empty, imageResolution, imageResolution, qrData, qrWriteOptions);
imageHeight = qrData.Bounds.Height;
imageWidth = qrData.Bounds.Width;
// Create an empty image
barcodeImage = new RasterImage(RasterMemoryFlags.Conventional, imageWidth, imageHeight, bitsPerPixel, RasterByteOrder.Rgb, RasterViewPerspective.TopLeft, palette, IntPtr.Zero, userDataLength);
// Make the image all white
FillCommand fillCmd = new FillCommand(RasterColor.White);
fillCmd.Run(barcodeImage);
// Write the barcode
barcodeEngineInstance.Writer.WriteBarcode(barcodeImage, qrData, qrWriteOptions);
// Save the results
codecs.Save(barcodeImage, barcodeOutputStream, RasterImageFormat.CcittGroup4, bitsPerPixel);
' Figure out how big to make the image
barcodeEngineInstance.Writer.CalculateBarcodeDataBounds(LeadRect.Empty, imageResolution, imageResolution, qrData, qrWriteOptions)
imageHeight = qrData.Bounds.Height
imageWidth = qrData.Bounds.Width
' Create an empty image
barcodeImage = New RasterImage(RasterMemoryFlags.Conventional, imageWidth, imageHeight, bitsPerPixel, RasterByteOrder.Rgb, RasterViewPerspective.TopLeft, palette, IntPtr.Zero, userDataLength)
' Make the image all white
Dim fillCmd As New FillCommand(RasterColor.White)
fillCmd.Run(barcodeImage)
' Write the barcode
barcodeEngineInstance.Writer.WriteBarcode(barcodeImage, qrData, qrWriteOptions)
' Save the results
codecs.Save(barcodeImage, barcodeOutputStream, RasterImageFormat.CcittGroup4, bitsPerPixel)
上述程式碼顯示,BarcodeGenerator 是一個類別,我們可以通過創建對象來生成條碼,並且我們需要傳遞兩個參數:一個是條碼類型,另一個是我們需要用來創建條碼的條碼字串。這將然後轉換成 BarcodeGenerator 對象。
條碼生成對象提供了一個稱為 save 的函數,允許我們將生成的條碼保存為圖像格式文件,如程式碼片段中的 jpeg 格式。此外,我們不限於 jpeg 格式,還可以保存為其他格式,如 png、tiff 等。
條碼高度和寬度可以使用 BarcodeGenerator 對象中的單獨函數進行調整,該對象具有設置此項的值 "Parameters.Barcode.dimension.Millimeters"。這使我們能夠指定和自訂高度和寬度。
結果:
上述圖像顯示了這些庫的性能比較。時間以毫秒計算。
IronBarcode 和 Leadtools 允許我們從不同的圖像格式中識別條碼和它們所屬的類型。讓我們更詳細地看看。
IronBarcode 幫助從不同圖像格式中讀取條碼,可以通過三種方式定義:作為字串、流或圖像(如 jpeg、tiff 和 Bitmap)。以下示例是使用字串方法從圖像中讀取條碼。
BarcodeResult QRResult = BarcodeReader.QuicklyReadOneBarcode("MyBarCode.jpg");
if (QRResult != null)
{
Console.WriteLine(QRResult.Value);
Console.WriteLine(QRResult.BarcodeType);
}
BarcodeResult QRResult = BarcodeReader.QuicklyReadOneBarcode("MyBarCode.jpg");
if (QRResult != null)
{
Console.WriteLine(QRResult.Value);
Console.WriteLine(QRResult.BarcodeType);
}
Dim QRResult As BarcodeResult = BarcodeReader.QuicklyReadOneBarcode("MyBarCode.jpg")
If QRResult IsNot Nothing Then
Console.WriteLine(QRResult.Value)
Console.WriteLine(QRResult.BarcodeType)
End If
上述描述我們正在使用一個類別 BarcodeReader ,它具有不同的屬性。其中一個屬性是 QuicklyReadOneBarcode,它幫助我們從圖像格式中讀取條形碼。
QuicklyReadOneBarcode 幫助我們從不同類型的圖像格式中讀取條形碼。它還幫助我們將它們轉換為 BarcodeResult 對象。通過這個對象,我們能夠獲取條形碼的值以及我們從圖像中讀取的條形碼類型。
BarcodeResult 具有以下值:
輸入圖像中條形碼的類型由 BarcodeType 返回,它是一個枚舉數據類型。IronBarcode 支持總共二十二種條形碼格式。應用於提供的輸入圖像的條形碼類型將被返回。
BarcodeResult 上可用的對象類型值還有 value 和 text。字符串數據類型包括 value 和 text。這返回條形碼的字符串值。QuicklyReadOneBarcode 讀取 QR 碼/條形碼並將圖像的字符串值轉換為 value/text。二進制值是 byte 數據類型,它返回圖像的字節。下面顯示了快速答案代碼,並且可以粘貼到任何網絡 Windows Forms 或網絡標準應用程序中。
在 BarCode for .NET 中,條碼識別的來源可以通過三種方式定義:圖像文件、流或位圖。BMP、PNG、JPEG、GIF 和 TIFF 是五種可以從文件中讀取條碼的圖片格式。還提供了三種不同模式的實現細節。以下是使用字符串方法的示例。
using (BarCodeReader reader = new BarCodeReader(@"MyBarCode.jpg"))
{
foreach (BarCodeResult result in reader.ReadBarCodes())
{
Console.WriteLine("Type: " + result.CodeType);
Console.WriteLine("CodeText: " + result.CodeText);
}
}
using (BarCodeReader reader = new BarCodeReader(@"MyBarCode.jpg"))
{
foreach (BarCodeResult result in reader.ReadBarCodes())
{
Console.WriteLine("Type: " + result.CodeType);
Console.WriteLine("CodeText: " + result.CodeText);
}
}
Using reader As New BarCodeReader("MyBarCode.jpg")
For Each result As BarCodeResult In reader.ReadBarCodes()
Console.WriteLine("Type: " & result.CodeType)
Console.WriteLine("CodeText: " & result.CodeText)
Next result
End Using
上述程式碼顯示我們正在從jpeg格式讀取條碼。BarcodeReader 是一個類別,使用影像路徑作為參數幫助我們讀取條碼影像。一旦我們傳遞影像路徑,它會將影像轉換為BarcodeReader物件。然後,我們可以使用該物件從影像中獲取值。
BarcodeReader物件有一個名為ReadBarCodes的函數() 這將幫助我們獲取圖像中所有可用的代碼。使用 for
循環 我們可以逐個獲取圖像,並將它們保存到 BarCodeResult 對象中。通過該對象,我們可以讀取條碼的值和類型。使用此方法,我們能夠一次讀取多個條碼。
30天退款保證:當您購買授權後,如果授權無法運作,您將在30天內獲得退款。
易於集成:IronBarcode 的集成非常簡單,我們只需要通過 NuGet 套件寫一行代碼,或者從網上下載並集成到我們的環境中。
永久授權:每個授權僅需購買一次,不需要續訂。
免費支援和產品更新:每個授權附帶一年免費的產品更新和團隊支援。隨時可以購買延伸服務。可以查看延伸服務。
立即授權:註冊的授權密鑰在收到付款後立即發出。
所有授權都是永久性的,適用於開發、測試和生產環境。
Lite License
這個授權允許組織中的一名軟體開發人員在一個地方使用 Iron Software。Iron Software 可以用於單一的 Web 應用程式、內聯網應用程式或桌面軟體程式。授權不可轉讓,且不可在組織或代理/客戶關係之外共用。此授權類型如同其他所有授權類型,明確排除未在協議中明確授予的所有權利,且僅在未購買額外覆蓋範圍的情況下使用 Iron Software 作為 SaaS。
價格:每年起價為 $749。
Professional License
這個授權允許組織中的特定數量的軟體開發人員在最多十個地點使用 Iron Software。Iron Software 可以用於任意數量的網站、內聯網應用程式或桌面軟體應用程式。授權不可轉讓,且不可在組織或代理/客戶關係之外共用。此授權類型如同其他所有授權類型,明確排除未在協議中明確授予的所有權利,包括 OEM 再分發及在未購買額外覆蓋範圍的情況下作為 SaaS 使用 Iron Software。這個授權可以集成最多10個專案。
價格:每年起價為 $999。
Unlimited License
這個授權允許組織中的無限數量的軟體開發人員在無限多的地點使用 Iron Software。Iron Software 可以用於任意數量的網站、內聯網應用程式或桌面軟體應用程式。授權不可轉讓,且不可在組織或代理/客戶關係之外共用。此授權類型如同其他所有授權類型,明確排除未在協議中明確授予的所有權利,包括 OEM 再分發及在未購買額外覆蓋範圍的情況下作為 SaaS 使用 Iron Software。
價格:每年起價為 $2999。
免版稅再分發:這允許您將 Iron Software 作為不同包裝的商業產品的一部分進行分發 (無需支付版稅) 根據基礎授權所涵蓋的專案數量。它允許在SaaS軟體服務中部署Iron Software,基於基礎授權所涵蓋的專案數量。
價格:每年起價$1599。
支援與維護不包含在套裝中。所有的套裝都可以根據用戶需求定制。
Barcode Pro:
LEADTOOLS Barcode Pro 包含開發者需要檢測、讀取和寫入100多種不同的一維和二維條碼類型及子類型,如 UPC、EAN、Code 128、QR Code、Data Matrix 和 PDF417。它基於屢獲殊榮的 LEADTOOLS Imaging Pro 功能,包含150多種影像格式、影像壓縮、影像處理、影像檢視器、影像共用對話框、200多種顯示效果、TWAIN、SANE 和 WIA 掃描、螢幕截圖和列印。LEADTOOLS Barcode Pro 是市場上具有最佳價值的條碼影像技術產品之一。
價格:每年起價 $1295 美元。
LEADTOOLS Pro Suite:
LEADTOOLS Pro Suite 是 LEADTOOLS Pro 系列 SDK 的一個廣泛捆綁包,包含桌面和 HTML5 無足跡影像檢視器、條碼檢測、解碼和創建、高級 PDF 功能(讀取、寫入、檢視和編輯)、150多種影像格式、影像壓縮、影像處理、影像共用對話框、200多種顯示效果、TWAIN、SANE 和 WIA 掃描、螢幕截圖和列印。使用 LEADTOOLS Pro Suite 的開發者可以以遠低於市場上其他同類功能的成本開發出功能強大的影像應用程序和解決方案。
價格:每年起價 $1995 美元。
IronBarcode Lite 授權包括一個開發者套件,提供一年支援,價格約為 $749,而 Leadtools 的一個開發者套件則需花費 $1295。若沒有更新、主要版本和技術支持,僅包括技術協助,若您需要購買年度維護服務,費用為 $324。IronBarcode Professional 授權包括十個開發者套件,提供一年支援,價格為 $999,而 Leadtools 的十個開發者套件授權每年需花費 $12290,包含一年內的所有更新、主要版本和技術支持,若無更新和版本,費用為 $9050。
IronBarcode Lite 和 Professional 套件擁有 SaaS 服務或 OEM,並提供五年支援選項。Lite 授權包括一個開發者套件,提供五年支援和 SaaS 及 OEM 服務,價格為 $2897,而 Leadtools 也提供 SaaS 或 OEM 服務,以及定制支援選項。Iron Professional 授權包括十個開發者套件,提供五年支援和 SaaS 及 OEM 服務,價格為 $3397,而 Leadtools 的十個開發者套件授權,提供一年支援和 SaaS 及 OEM 服務,費用為 $12290。
IronBarcode 是生成和識別條形碼最強大的庫之一。它還是生成和識別條形碼最快的庫之一。該庫得到各種操作系統的支持。它支持多種條形碼格式,創建簡單。它還支持多種符號、格式和字符。
Leadtools Barcode 也是一個強大的庫,可以幫助我們生成和識別不同圖像格式的條形碼。我們可以使用多種圖像格式來讀取和創建。Leadtools Barcode 還提供更改條形碼外觀的選項,例如高度、寬度、條形碼文本等。
與 Leadtools 相比,IronBarcode 包提供更好的許可證和支持。Leadtools Barcode 更昂貴 - IronBarcode 從$lite許可證
開始,而 Leadtools Barcode 起價為每年 $1295。我們的產品不僅比 Leadtools 更便宜,還提供更多功能。因此,我們可以清楚地看到 IronBarcode 在 Leadtools 之上具有明顯的優勢。
當我們比較條形碼識別和生成的處理時間時,IronBarcode 比 Leadtools 快。IronBarcode 還具有各種屬性,不僅可以從不同圖像格式中讀取條形碼,還可以從 PDF 文件中讀取條形碼。它還允許我們在條形碼或 QR 碼內添加圖像,這是其他庫所不具備的功能。
那麼,你還在等什麼呢?免費試用對所有人開放。你可以獲得 許可證 在這裡直接開始