IronOCR 操作指南 条形码 / QR(超过 20 格式) 如何使用 IronOCR 在 C## 中讀取條碼和 QR 碼。 柯蒂斯·週 更新:1月 10, 2026 下載 IronOCR NuGet 下載 DLL 下載 Windows Installer 開始免費試用 法學碩士副本 法學碩士副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在 Grok 中打開 向 Grok 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 分享 分享到 X(Twitter) 在領英上分享 複製連結 電子郵件文章 This article was translated from English: Does it need improvement? Translated View the article in English IronOCR 可透過在設定中設定 ReadBarCodes = true 來讀取 C# 中的條碼和 QR 碼。 此單一設定可從 PDF 和影像中自動擷取條碼值,並同時識別一般文字,支援超過 20 種條碼格式,包括 QR code、Code 128 和 Data Matrix。 快速入門:立即從 PDF 讀取條碼 只需一個設定即可啟用條碼偵測,並使用 IronOCR 掃描 PDF。 以下程式碼顯示如何開啟條碼讀取、處理 PDF 並擷取解碼值。 ```cs:title=立即試用 IronOCR 的條碼閱讀器 var result = new IronOcr.IronTesseract() { Configuration = new IronOcr.TesseractConfiguration { ReadBarCodes = true }.}.Read(new IronOcr.OcrPdfInput("document.pdf")); foreach(var bc in result.BarCode) Console.WriteLine(bc.Value); <div class="hsg-featured-snippet"> <h3>最小工作流程(5 個步驟)</h3> <ol> <li><a class="js-modal-open" data-modal-id="trial-license-after-download" href="https://nuget.org/packages/IronOcr/">下載用於讀取條碼和二維碼的 C# 函式庫。</a></li> <li>匯入目標影像和PDF文件。</li> <li>透過設定 <strong><code>ReadBarCodes</code></strong> 屬性為 true 來啟用條碼讀取功能。</li> <li>使用<code>Read</code>方法執行 OCR 操作,操作方式與往常一樣。</li> <li>輸出偵測到的文字和條碼值。</li> </ol> </div> <br class="clear"> <h2>如何從 PDF 文件讀取 BarCode? 建立一個 `IronTesseract` 物件來執行閱讀。 將 **`ReadBarCodes`** 屬性設定為 true,以啟用條碼偵測。 使用 [`OcrPdfInput`](https://ironsoftware.com/csharp/ocr/how-to/input-pdfs/) 建構器來匯入 PDF 文件。 使用 ``Read`` 方法對匯入的 PDF 執行 OCR。 以下是使用此 PDF 文件的範例: <iframe loading="lazy" src="/static-assets/ocr/how-to/barcodes/pdfWithBarcodes.pdf#view=fit" width="100%" height="400px"></iframe> ```csharp :path=/static-assets/ocr/content-code-examples/how-to/barcodes-read-barcodes.cs 多個 BarCode 值會出現在條碼下方,並包含在擷取的文字中。 為什麼 IronOCR 可同時擷取文字和 BarCode 值? IronOCR 的雙重擷取功能可提供全面的文件分析。 在處理同時包含文字和 BarCode 的文件時,程式庫會執行 [ 標準 OCR 文字擷取](https://ironsoftware.com/csharp/ocr/examples/simple-csharp-ocr-tesseract/),同時解碼條碼符號。 這種統一的方法可省去多重處理過程或獨立的程式庫。 文字萃取會擷取人類可讀的元素,而 BarCode 偵測則會識別並解碼機器可讀的資料。 這對發票、運送標籤或庫存報告等文件有利,這些文件中的 BarCode 值與列印的文字相關聯。 [`OcrResult` class](https://ironsoftware.com/csharp/ocr/examples/results-objects/) 將這些輸出分開 - 透過 `Text` 屬性存取文字,並透過 `Barcodes` 集合存取條碼資料。 支援哪些 BarCode 格式? IronOCR 支援 20 種以上的 BarCode 格式: **1D BarCode:** - Code 128、Code 39、Code 93 - EAN-13、EAN-8 - UPC-A, UPC-E - Codabar - ITF (交錯 2 of 5) - MSI - Plessey **2D BarCode:** - QR 代碼 - 資料矩陣 - PDF417 - 阿茲台克代碼 - MaxiCode 對於專門的應用程式,例如[讀取 MICR 支票](https://ironsoftware.com/csharp/ocr/examples/read-micr-cheque/)或處理[身份文件](https://ironsoftware.com/csharp/ocr/troubleshooting/identity-documents/),IronOCR 的 BarCode 功能可補足其文字擷取功能。 何時我應該使用 OCR 來讀取條碼,而不是專用的條碼程式庫? 選擇 IronOCR 的整合式 BarCode 閱讀時: 1.**混合內容處理**:文件同時包含文字和 BarCode (出貨標籤、發票或 [ 掃描文件](https://ironsoftware.com/csharp/ocr/examples/read-scanned-document/)) 2.**單一程式庫偏好**:您希望盡量減少依賴性,並使用單一解決方案 3.**PDF 處理**:您已經在使用 IronOCR 進行 [PDF OCR 文字擷取](https://ironsoftware.com/csharp/ocr/examples/csharp-pdf-ocr/)。 4.**複雜的文件佈局**:文件在文字區域或[表格](https://ironsoftware.com/csharp/ocr/examples/read-table-in-document/)中嵌入了 BarCode 使用專用的 BarCode 程式庫時: - 處理高容量的純 BarCode 影像 - 要求實時掃描 BarCode(反應時間 < 50ms) - 處理損壞或低品質的 BarCode,需要專門的演算法 - 利用攝影機最佳化實作行動條碼掃描 如何從文件讀取 QR 碼? <!--說明:顯示逐步過程的截圖 --> 就像條碼讀取一樣,將 `ReadBarCodes` 屬性設定為 true。 除了檔案路徑之外,不需要其他程式碼變更。 使用 QR 碼處理此 PDF 文件: ```csharp :path=/static-assets/ocr/content-code-examples/how-to/barcodes-read-qr-codes.cs ``` 為什麼相同的配置對 BarCode 和 QR Code 都有效? IronOCR 的統一條碼檢測引擎對所有機器可讀碼一視同仁。 The `ReadBarCodes` configuration activates a comprehensive symbology detector that recognizes both 1D (linear barcodes) and 2D (QR codes, Data Matrix) formats without requiring format-specific settings. 此設計可簡化實作並降低配置複雜度。 偵測演算法會自動 - 根據模式識別識別符號類型 - 應用適當的解碼演算法 - 可處理方向與尺寸的變化 - 無論是何種 BarCode 類型,都能以一致的格式傳回結果 此方法反映了 [Computer Vision models](https://ironsoftware.com/csharp/ocr/how-to/computer-vision/) 的工作方式 - 在多種格式上進行訓練,以提供通用的偵測能力。 使用 OCR 讀取 QR 碼時有哪些常見問題? 處理 QR 代碼時常見的挑戰包括 1.**解決問題**:PDF 中的 QR 代碼可能會被降低取樣率,使其低於最小模組大小。請使用 [DPI 設定](https://ironsoftware.com/csharp/ocr/how-to/dpi-setting/),以確保有足夠的解析度 (建議最低 300 DPI)。 2.**影像品質**:掃描的 QR 碼經常出現模糊、雜訊或失真的情況。 套用[影像修正篩選器](https://ironsoftware.com/csharp/ocr/how-to/image-quality-correction/)以提高清晰度: ```csharp // Apply filters to improve QR code readability ocrTesseract.Configuration.ReadBarCodes = true; var input = new OcrImageInput("qr-code-scan.jpg"); input.DeNoise(); input.Sharpen(); input.EnhanceResolution(); var result = ocrTesseract.Read(input); ``` 3.**方位問題**:有角度的 QR 碼可能無法正確解碼。 啟用[頁面旋轉偵測](https://ironsoftware.com/csharp/ocr/how-to/detect-page-rotation/)以處理錯位的文件。 4.**混合內容干擾**:文字或圖形重疊 QR 代碼可能會阻止偵測。 必要時使用 [rop regions](https://ironsoftware.com/csharp/ocr/troubleshooting/crop-regions-rectangles/) 來隔離 QR 碼區域。 如何提高 QR 碼識別準確度? 使用這些技術優化 QR 碼識別: 1.**預先處理圖片**:使用 [Filter Wizard](https://ironsoftware.com/csharp/ocr/how-to/filter-wizard/) 來確定最佳的增強設定: ```csharp // Enhanced QR code reading with preprocessing var ocrTesseract = new IronTesseract(); ocrTesseract.Configuration.ReadBarCodes = true; // Configure for better QR detection var input = new OcrImageInput("document-with-qr.pdf"); input.TargetDPI = 300; // Ensure sufficient resolution input.Binarize(); // Convert to black and white input.DeNoise(); // Remove image artifacts var result = ocrTesseract.Read(input); ``` 2.**處理多頁面**:適用於[多頁文件](https://ironsoftware.com/csharp/ocr/examples/csharp-tesseract-multipage-tiff/),其中包含橫跨多頁的 QR 代碼: ```csharp // Process multi-page documents efficiently using var pdfInput = new OcrPdfInput("multi-page-qr-document.pdf"); pdfInput.TargetDPI = 300; var results = ocrTesseract.Read(pdfInput); foreach (var page in results.Pages) { Console.WriteLine($"Page {page.PageNumber}:"); foreach (var barcode in page.Barcodes) { Console.WriteLine($" QR Code: {barcode.Value}"); Console.WriteLine($" Location: X={barcode.X}, Y={barcode.Y}"); } } ``` 3.**同步處理**:若要在處理多個文件時獲得更好的效能,請使用 [async 方法](https://ironsoftware.com/csharp/ocr/how-to/async/): ```csharp // Asynchronous QR code reading var result = await ocrTesseract.ReadAsync(imageInput); ``` 4.**Debug 識別問題**:啟用 [result highlighting](https://ironsoftware.com/csharp/ocr/how-to/highlight-texts-as-images/) 可視化 IronOCR 檢測到的內容: ```csharp result.SaveAsHighlightedImage("qr-detection-debug.png"); ``` ### 大型條碼處理的效能最佳化 在處理數以千計帶有 BarCode 和 QR 代碼的文件時,請執行這些最佳化策略: 1.**多執行緒**:利用[多執行緒處理](https://ironsoftware.com/csharp/ocr/examples/csharp-tesseract-multithreading-for-speed/)來同時處理多個文件: ```csharp // Process multiple documents in parallel var documents = new[] { "doc1.pdf", "doc2.pdf", "doc3.pdf" }; var results = documents.AsParallel().Select(doc => { var tesseract = new IronTesseract(); tesseract.Configuration.ReadBarCodes = true; return tesseract.Read(new OcrPdfInput(doc)); }).ToList(); ``` 2.**記憶體管理**:使用 [abort tokens](https://ironsoftware.com/csharp/ocr/examples/abort-token/) 來處理長時間執行的作業: ```csharp // Implement cancellation for large batch processing using var cts = new CancellationTokenSource(); ocrTesseract.Configuration.CancellationToken = cts.Token; // Cancel if processing takes too long cts.CancelAfter(TimeSpan.FromMinutes(5)); ``` 3.**結果匯出**:將結果儲存為[可搜尋的 PDFs](https://ironsoftware.com/csharp/ocr/examples/make-pdf-searchable/),以維護文字和 BarCode 資料: ```csharp // Export results with embedded barcode values result.SaveAsSearchablePdf("output-with-barcodes.pdf"); ``` ### 與商業應用程式整合 IronOCR for .NET 的 BarCode 功能可與現有的 .NET 應用程式無縫整合。 常見的整合情境包括 - **庫存管理**:從出貨艙單中擷取產品編號 - **文件存檔**:透過內嵌的 BarCode 識別碼索引掃描的文件 - **發票處理**:將條碼 SKU 與 [ 財務文件](https://ironsoftware.com/csharp/ocr/troubleshooting/financial-language-pack/)中的明細項目相搭配 - **醫療記錄**:在醫療表格旁邊處理病患腕帶 BarCode 對於處理大量條碼和 QR 代碼的生產應用程式,請考慮實施 [ 進度追蹤](https://ironsoftware.com/csharp/ocr/how-to/progress-tracking/),以監控處理狀態,並根據真實世界的指標優化效能。 常見問題解答 如何在 C# 應用程式中啟用 BarCode 讀取功能? 使用 IronOCR,透過在 TesseractConfiguration 中設定 ReadBarCodes = true 來啟用條碼讀取功能。這個單一設定可啟動 PDF 和影像中條碼值的自動擷取,並同時支援超過 20 種條碼格式的一般文字辨識。 我可以從同一份文件中同時讀取文字和 BarCode 嗎? 是的,IronOCR 執行雙重擷取 - 它透過標準 OCR 擷取人類可讀的文字,同時解碼機器可讀的 BarCode。OcrResult 類將這些輸出分開,文字可透過 Text 屬性存取,條碼資料則透過 BarCode 集合存取。 可以檢測哪些 BarCode 格式? IronOCR 支援超過 20 種條碼格式,包括一維條碼(Code 128、Code 39、Code 93、EAN-13、EAN-8、UPC-A、UPC-E、Codabar、ITF、MSI、Plessey)和二維條碼(QR Code、Data Matrix 等)。 如何從 PDF 文件中提取 BarCode? 建立一個 IronTesseract 物件,將 ReadBarCodes 設為 true,使用 OcrPdfInput 構建器匯入您的 PDF,然後使用 Read 方法。IronOCR 將執行 OCR 並擷取所有偵測到的 BarCode 值,您可以透過 result.Barcodes 套件存取這些值。 文字 OCR 和 BarCode 讀取是否需要獨立的程式庫? 不,IronOCR 的統一方法不需要多重處理通道或獨立的程式庫。它可執行標準的 OCR 文字擷取,同時在單一作業中解碼 BarCode 符號。 柯蒂斯·週 現在就和工程團隊聊天吧 技術撰稿人 Curtis Chau擁有卡爾頓大學電腦科學學士學位,專長於前端開發,精通Node.js、TypeScript、JavaScript和React。他熱衷於打造直覺美觀的使用者介面,喜歡使用現代框架,並擅長撰寫結構清晰、視覺效果出色的使用者手冊。除了開發工作之外,柯蒂斯對物聯網 (IoT) 也抱有濃厚的興趣,致力於探索硬體和軟體整合的創新方法。閒暇時,他喜歡玩遊戲和製作 Discord 機器人,將他對科技的熱愛與創造力結合。 準備好開始了嗎? Nuget 下載 5,299,091 | 版本: 2025.12 剛剛發布 免費下載 NuGet 總下載量: 5,299,091 查看許可證