使用IRONBARCODE 如何在C# Windows應用程式中使用條碼掃描器 Jordi Bardia 更新:6月 22, 2025 下載 IronBarcode NuGet 下載 DLL 下載 開始免費試用 法學碩士副本 法學碩士副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在雙子座打開 請向 Gemini 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 本教學將以 IronBarcode 函式庫為例,示範如何在 C# 控制台應用程式和 .NET Windows 窗體應用程式中掃描二維碼和條碼。 使用 IronBarcode 庫,可以同時掃描和讀取多個條碼,並且可以成功掃描不完美的影像。 我們先來明確一下什麼是條碼掃描器。 什麼是條碼掃描器? 條碼是由一系列寬度不一的平行黑線和白色空白組成的方形或長方形影像。 條碼掃描器或條碼閱讀器是一種可以讀取列印的條碼、解碼條碼中包含的資料並將資料傳送到電腦的裝置。 以下步驟將介紹如何使用 IronBarcode 庫建立條碼掃描器。 如何在 C# 中讀取條碼 在 Microsoft Visual Studio 中建立一個 .NET Windows 窗體應用程式專案 安裝條碼庫 讀取任何條碼或二維碼 一次掃描即可讀取多個條碼或二維碼 允許 IronBarcode 讀取不完美的掃描件和照片 1. 在 Microsoft Visual Studio 中建立一個 Windows 窗體應用程式 開啟 Visual Studio > 按一下"建立新專案" > 選擇"Windows 表單應用程式範本" > 按下"下一步" > 為專案命名 > 按"下一步" > 選擇目標 .NET Framework > 按一下"建立"按鈕。 專案建立完成後,使用 Visual Studio 工具箱中的下列控制項設計窗體:PictureBox、Label、TextBox 和 Button 控制項。 如何在 C# Windows 應用程式中使用條碼掃描器,圖 1:條碼掃描器 條碼掃描器 2. 在 C# 中安裝 Barcode .NET 函式庫 條碼庫可以透過以下三種方法之一進行安裝: 1. 軟體包管理器控制台 在軟體包管理器控制台中輸入以下命令。 它將為您下載並安裝該軟體包。 Install-Package BarCode 2. NuGet 套件管理器解決方案 您也可以使用 NuGet 套件解決方案安裝條碼庫。 只需按照以下步驟操作: 按一下"工具" > "NuGet 套件管理員" > "管理解決方案的 NuGet 套件" 。 這將開啟 NuGet 套件管理器。 點擊"瀏覽"並蒐索"條碼",然後安裝類別庫。 3. 從連結下載 作為替代方案,您可以下載IronBarCode.Dll並將其作為引用新增至您的專案。 下載完成後,將以下引用新增至您的條碼閱讀器專案。 using IronBarCode; using IronBarCode; Imports IronBarCode $vbLabelText $csharpLabel 3. 讀取任何條碼或二維碼 使用 IronBarcode 庫和.NET 條碼閱讀器在 .NET 中讀取條碼或二維碼非常容易。 條碼掃描器 在您的專案中,瀏覽找到您想要讀取的圖像。 它將在PictureBox中開啟; 現在點選"掃描二維碼"。 文字將顯示在文字方塊中。 以下是用於開啟圖片的"瀏覽"按鈕的程式碼: // Open file dialog OpenFileDialog open = new OpenFileDialog(); // Image filters open.Filter = "Image Files(*.jpg; *.png; *.jpeg; *.gif; *.bmp)|*.jpg;*.png;*.jpeg;*.gif;*.bmp"; if (open.ShowDialog() == DialogResult.OK) { // Display image in PictureBox pictureBox1.Image = new Bitmap(open.FileName); // Store image file path in class data member. Initialize it as string ImageFileName; ImageFileName = open.FileName; } // Open file dialog OpenFileDialog open = new OpenFileDialog(); // Image filters open.Filter = "Image Files(*.jpg; *.png; *.jpeg; *.gif; *.bmp)|*.jpg;*.png;*.jpeg;*.gif;*.bmp"; if (open.ShowDialog() == DialogResult.OK) { // Display image in PictureBox pictureBox1.Image = new Bitmap(open.FileName); // Store image file path in class data member. Initialize it as string ImageFileName; ImageFileName = open.FileName; } ' Open file dialog Dim open As New OpenFileDialog() ' Image filters open.Filter = "Image Files(*.jpg; *.png; *.jpeg; *.gif; *.bmp)|*.jpg;*.png;*.jpeg;*.gif;*.bmp" If open.ShowDialog() = DialogResult.OK Then ' Display image in PictureBox pictureBox1.Image = New Bitmap(open.FileName) ' Store image file path in class data member. Initialize it as string ImageFileName; ImageFileName = open.FileName End If $vbLabelText $csharpLabel "掃描二維碼"按鈕的代碼: // Read the barcode from the image file path BarcodeResult Result = BarcodeReader.Read(ImageFileName); // Display the decoded text in TextBox textBox1.Text = Result.Text; // Read the barcode from the image file path BarcodeResult Result = BarcodeReader.Read(ImageFileName); // Display the decoded text in TextBox textBox1.Text = Result.Text; ' Read the barcode from the image file path Dim Result As BarcodeResult = BarcodeReader.Read(ImageFileName) ' Display the decoded text in TextBox textBox1.Text = Result.Text $vbLabelText $csharpLabel 條碼掃描器會在文字方塊中顯示條碼數據,如下所示: 如何在 C# Windows 應用程式中使用條碼掃描器,圖 2:要使用 C# 掃描的條碼影像 使用 C# 掃描條碼影像 QR 圖碼掃描器 本節中,IronBarcode 庫有效地處理了涉及傾斜二維碼的現實世界情況。 雖然傾斜角度的二維碼可以透過Read方法處理和讀取,但解決起來仍然需要更多的時間。 IronBarcode 庫提供了一種自訂方式,可以使用BarcodeReaderOptions作為額外的參數來處理此類影像輸入。 代碼如下: // Define a collection of image filters to apply var filtersToApply = new ImageFilterCollection() { new SharpenFilter(), new InvertFilter(), new ContrastFilter(), new BrightnessFilter(), new AdaptiveThresholdFilter(), new BinaryThresholdFilter() }; // Configure barcode reader options with specified filters BarcodeReaderOptions myOptionsExample = new BarcodeReaderOptions() { ImageFilters = filtersToApply, ExpectBarcodeTypes = BarcodeEncoding.QRCode | BarcodeEncoding.Code128, }; // Read the barcode/QR code with custom options and display result BarcodeResult Result = BarcodeReader.Read(ImageFileName, myOptionsExample); textBox1.Text = Result.Text; // Define a collection of image filters to apply var filtersToApply = new ImageFilterCollection() { new SharpenFilter(), new InvertFilter(), new ContrastFilter(), new BrightnessFilter(), new AdaptiveThresholdFilter(), new BinaryThresholdFilter() }; // Configure barcode reader options with specified filters BarcodeReaderOptions myOptionsExample = new BarcodeReaderOptions() { ImageFilters = filtersToApply, ExpectBarcodeTypes = BarcodeEncoding.QRCode | BarcodeEncoding.Code128, }; // Read the barcode/QR code with custom options and display result BarcodeResult Result = BarcodeReader.Read(ImageFileName, myOptionsExample); textBox1.Text = Result.Text; ' Define a collection of image filters to apply Dim filtersToApply = New ImageFilterCollection() From { New SharpenFilter(), New InvertFilter(), New ContrastFilter(), New BrightnessFilter(), New AdaptiveThresholdFilter(), New BinaryThresholdFilter() } ' Configure barcode reader options with specified filters Dim myOptionsExample As New BarcodeReaderOptions() With { .ImageFilters = filtersToApply, .ExpectBarcodeTypes = BarcodeEncoding.QRCode Or BarcodeEncoding.Code128 } ' Read the barcode/QR code with custom options and display result Dim Result As BarcodeResult = BarcodeReader.Read(ImageFileName, myOptionsExample) textBox1.Text = Result.Text $vbLabelText $csharpLabel 打開傾斜的二維碼影像後,輸出結果如下: 如何在 C# Windows 應用程式中使用條碼掃描器,圖 4:傾斜的二維碼影像 傾斜的二維碼影像 單次掃描讀取多個條碼 PDF文檔 可以從 PDF 文件中掃描條碼圖像,並根據需要適當地顯示每個結果。 以下範例程式碼可讓您從 PDF 檔案中讀取多個條碼。 // Scan for multiple barcodes within a PDF document BarcodeResult[] PDFResults = BarcodeReader.ReadPdf("MultipleBarcodes.pdf"); // Work with the results found 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(PageResult.Value + " on page " + PageNum); } // Scan for multiple barcodes within a PDF document BarcodeResult[] PDFResults = BarcodeReader.ReadPdf("MultipleBarcodes.pdf"); // Work with the results found 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(PageResult.Value + " on page " + PageNum); } ' Scan for multiple barcodes within a PDF document Dim PDFResults() As BarcodeResult = BarcodeReader.ReadPdf("MultipleBarcodes.pdf") ' Work with the results found For Each PageResult In PDFResults Dim Value As String = PageResult.Value Dim PageNum As Integer = PageResult.PageNumber Dim Img As System.Drawing.Bitmap = PageResult.BarcodeImage Dim BarcodeType As BarcodeEncoding = PageResult.BarcodeType Dim Binary() As Byte = PageResult.BinaryValue Console.WriteLine(PageResult.Value & " on page " & PageNum) Next PageResult $vbLabelText $csharpLabel PDF 檔案中的條碼和二維碼: 如何在 C# Windows 應用程式中使用條碼掃描器,圖 3:C# - 從 PDF 結果中讀取條碼 C# - 從 PDF 結果中讀取條碼 從不完美影像中讀取條碼 在實際應用中,條碼在影像、掃描件、縮圖或照片中經常會出現瑕疵,並且可能包含數位雜訊或出現傾斜。 本節示範如何從縮圖中讀取條碼資料。 縮圖 IronBarcode 庫使用C# 條碼產生器,它甚至能夠讀取損壞的條碼縮圖。 自動校正條碼縮圖尺寸。 使用 IronBarcode 在 C# 中讀取文件 它會自動偵測太小而無法合理表示實際條碼的影像,然後放大並清除與縮圖相關的所有數位噪聲,從而使它們再次可讀。 // Small or 'Thumbnail' barcode images are automatically detected by IronBarCode and corrected for wherever possible even if they have much digital noise. BarcodeResult SmallResult = BarcodeReader.Read("ThumbnailOfBarcode.gif"); // Small or 'Thumbnail' barcode images are automatically detected by IronBarCode and corrected for wherever possible even if they have much digital noise. BarcodeResult SmallResult = BarcodeReader.Read("ThumbnailOfBarcode.gif"); ' Small or 'Thumbnail' barcode images are automatically detected by IronBarCode and corrected for wherever possible even if they have much digital noise. Dim SmallResult As BarcodeResult = BarcodeReader.Read("ThumbnailOfBarcode.gif") $vbLabelText $csharpLabel 摘要 IronBarcode 是一個功能強大的 .NET 軟體庫和C# QR 碼產生器,用於掃描和讀取各種條碼影像格式,無論這些條碼是完美的螢幕截圖,還是實際上是照片、掃描件或其他不完美的真實世界影像,它都能勝任。 此外,IronBarcode 還提供各種自訂選項來提高條碼讀取速度,例如裁剪區域或多線程,以及提高 ML 模型的準確性。 請造訪官方文件頁面,以了解有關 IronBarcode 的更多資訊。 目前,如果您購買完整的 Iron Suite ,您只需支付兩個庫的價格即可獲得五個庫。 常見問題解答 在 C# 應用程式中,何謂 BarCode 掃描器? BarCode 掃描器是一種讀取印刷條碼、解碼資訊並將其傳送至電腦的裝置。在 C# 應用程式中,可以使用 IronBarcode 之類的函式庫來實現此功能。 如何使用 C# 建立一個條碼掃描的 Windows Forms 應用程式? 要在 C# 中為條碼掃描建立 Windows Forms 應用程式,請開啟 Visual Studio,使用「Windows Forms 應用程式範本」建立新專案,設定您的目標 .NET Framework,並使用 PictureBox、Label、TextBox 和 Button 等控制項設計表單。 在 C# 專案中安裝 BarCode 函式庫的建議方法是什麼? 您可以透過套件管理員控制台,以 Install-Package IronBarCode、透過 NuGet 套件管理員,或下載 DLL 並將其新增為參考,在 C# 專案中安裝 IronBarcode 之類的條碼函式庫。 是否可以使用 C# 函式庫在一次掃描中讀取多個 BarCode? 是的,使用 IronBarcode,您可以使用 BarcodeReader.ReadPdf 方法在單次掃描中讀取多個條碼,甚至可以從 PDF 文件中讀取。 圖書館如何從低品質影像中讀取 BarCode? IronBarcode 可透過應用影像濾波器和升頻技術,從低品質的影像中解釋條碼,以減少數位雜訊,確保讀取準確度。 IronBarcode 等 C# 库支持哪些条码格式? IronBarcode 支援多種條碼格式,包括 QR 碼和 Code128。即使影像不完美或使用攝影機拍攝,它也能讀取這些格式。 在 .NET 應用程式中實作 BarCode 讀取的步驟為何? 要實現條碼讀取,請將圖片載入 PictureBox,觸發「掃描條碼」動作,並使用 IronBarcode 處理並將解碼後的文字顯示在 TextBox 中。 IronBarcode 能否有效處理歪斜或傾斜的 QR 代碼? 是的,IronBarcode 可以有效地處理傾斜的 QR 代碼,方法是使用 BarcodeReaderOptions 來套用必要的影像濾鏡和調整,以達到準確的讀取。 IronBarcode 為條碼讀取提供哪些自訂功能? IronBarcode 提供裁剪區域、多線程和參數調整等功能,以提高條碼讀取速度和準確性。 我在哪裡可以找到在 C# 中使用 BarCode 函式庫的更詳細資訊? 有關在 C# 中使用 BarCode 程式庫的詳細資訊,您可以造訪 Iron Software 網站的官方文件頁面。 Jordi Bardia 立即與工程團隊聊天 軟體工程師 Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担产品测测试,产品开发和研究的责任时,Jordi 为持续的产品改进增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。 相關文章 發表日期 12月 18, 2025 IronBarcode 與開源條碼閱讀器 .NET 的對比 了解如何使用IronBarcode在C#中讀取條碼 閱讀更多 發表日期 12月 18, 2025 C# 資料矩陣產生器:IronBarcode 完整指南 數據矩陣生成器C#教程。學習如何使用IronBarcode創建ECC200數據矩陣條碼。簡單的2D條碼生成代碼示例。 閱讀更多 發表日期 10月 19, 2025 如何使用VB.NET在Crystal Reports中打印條碼 在VB.NET中使用IronBarcode SDK在Crystal Reports中生成和打印條碼的分步教程,確保可靠的條碼集成。 閱讀更多 條碼生成器.NET教程如何在ASP.NET中使用C#生成條碼
發表日期 12月 18, 2025 C# 資料矩陣產生器:IronBarcode 完整指南 數據矩陣生成器C#教程。學習如何使用IronBarcode創建ECC200數據矩陣條碼。簡單的2D條碼生成代碼示例。 閱讀更多
發表日期 10月 19, 2025 如何使用VB.NET在Crystal Reports中打印條碼 在VB.NET中使用IronBarcode SDK在Crystal Reports中生成和打印條碼的分步教程,確保可靠的條碼集成。 閱讀更多