使用IRONBARCODE 如何在.NET MAUI應用程式中使用文件掃描SDK Jordi Bardia 更新:2025年7月2日 下載 IronBarcode NuGet 下載 DLL 下載 開始免費試用 LLM副本 LLM副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在 Grok 中打開 向 Grok 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 隨著行動技術的興起,Scanbot SDK 和原生 SDK 等文件掃描應用程式已成為個人和企業不可或缺的工具。 在本教學中,我們將探討如何使用最新版本的.NET多平台應用程式 UI (MAUI) 和IronOCR(一個功能強大的.NET OCR(光學字元辨識)函式庫)來建立一個文件掃描應用程式。 .NET MAUI簡化了跨平台行動應用程式的創建,確保在 Android 等裝置上無縫部署。 看完本指南,您將能夠開發自己的文件掃描 SDK 應用程序,輕鬆地從圖像和掃描文件中提取文字。 如何在.NET MAUI應用程式中使用文件掃描器 SDK 安裝IronOCR C# 庫以使用文件掃描器 SDK。 設計一個包含必要控制項的.NET MAUI表單。 使用MediaPicker.CapturePhotoAsync方法拍照。 將拍攝的照片轉換為串流。 將流傳遞給 OcrInput LoadImage方法。 使用 IronTesseract Read方法執行 OCR。 使用 OcrResult Text屬性顯示文件文字。 IronOCR - C# OCR 庫 IronOCR是由Iron Software, LLC 開發的尖端光學字元辨識 (OCR) 軟體,旨在準確且有效率地將影像和掃描文件轉換為可編輯的文字。 OCR 技術徹底改變了企業處理文件的方式,讓從掃描文件、PDF 和影像等各種來源提取有價值的資訊變得更加容易。 IronOCR憑藉其先進的功能、強大的性能和易於整合的特點,在眾多OCR解決方案中脫穎而出。 無論您是希望將 OCR 功能整合到應用程式中的開發人員,還是希望簡化文件管理流程的企業, IronOCR都能提供全面的解決方案。 IronOCR的主要特點 1.高精度: IronOCR採用最先進的演算法和機器學習技術,在文字辨識方面實現了卓越的精度。 它可以準確地從複雜文件中提取文本,包括低解析度影像或品質差的掃描件。 2.多語言支援: IronOCR支援 125 多種語言的文字識別,使其適用於在多元語言環境中經營的企業。 3.影像預處理: IronOCR提供各種影像預處理功能,如降噪、對比度調整和傾斜校正,以提高準確性。 這些技術可以改善 OCR 結果,尤其是在處理失真或不完美的影像時。 4.支援多種文件格式: IronOCR支援多種文件格式,包括 TIFF、JPEG、PNG 和 PDF,確保與不同文件來源的兼容性。 5.自訂選項:開發人員可以自訂 IronOCR 的行為以滿足特定要求,從而在識別參數和工作流程整合方面提供靈活性。 6.快速且可擴展: IronOCR針對效能進行了最佳化,可從大量文件中快速提取文字。 其可擴展架構確保了無縫運行,無論文件量如何。 7.與.NET應用程式整合: IronOCR與.NET應用程式無縫集成,提供易於使用的 API 以整合 OCR 功能。 這簡化了開發流程,加快了支援 OCR 功能的應用程式的上市速度。 8.文件分類與資料擷取:除了基本的文字辨識之外, IronOCR還提供了文件分類和資料擷取的進階功能,可以識別名稱、地址或發票號碼等特定資料欄位。 先決條件 具備C#程式設計基礎。 安裝了 Visual Studio 2022 和.NET MAUI工作負載。 透過NuGet套件管理器安裝IronOCR套件庫。 1. 設定您的.NET MAUI項目 開啟 Visual Studio 2022 並建立一個新的.NET MAUI應用程式專案。 選擇合適的項目名稱並配置項目設定。 確保您已安裝目標平台裝置開發所需的 Android 和 iOS SDK。 2. 安裝IronOCR庫 在 Visual Studio 中右鍵點選您的解決方案。 選擇"管理解決方案的NuGet套件",然後在"瀏覽"標籤中搜尋"IronOCR"。 將IronOCR庫安裝到您的專案中。 3. 設計使用者介面 讓我們先來設計 MainPage.xaml 的佈局。 我們將創建一個簡單的佈局,其中包含一個用於顯示所拍攝照片的圖像控制項、一個用於拍照的"拍攝"按鈕和一個用於顯示提取文字的標籤。 以下是 MainPage.xaml 的 XAML 程式碼: <?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:d="http://schemas.microsoft.com/dotnet/2021/maui/design" x:Class="DocumentScanner.MainPage"> <ScrollView> <VerticalStackLayout Padding="30,0" Spacing="25"> <Image Source="dotnet_bot.png" HeightRequest="185" Aspect="AspectFit" SemanticProperties.Description="dot net bot in a race car number eight" /> <Label Text="Welcome to .NET MAUI Document Scanner SDK" style="{StaticResource Headline}" SemanticProperties.HeadingLevel="Level1" /> <Label Text="Using IronOCR" style="{StaticResource SubHeadline}" SemanticProperties.HeadingLevel="Level2" SemanticProperties.Description="Welcome to .NET MAUI Document Scanner SDK" /> <Image x:Name="cameraPreview" /> <Button Text="Capture" Clicked="OnCaptureClicked" /> <Label x:Name="textLabel" Text="Recognized Text:"/> </VerticalStackLayout> </ScrollView> </ContentPage> <?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:d="http://schemas.microsoft.com/dotnet/2021/maui/design" x:Class="DocumentScanner.MainPage"> <ScrollView> <VerticalStackLayout Padding="30,0" Spacing="25"> <Image Source="dotnet_bot.png" HeightRequest="185" Aspect="AspectFit" SemanticProperties.Description="dot net bot in a race car number eight" /> <Label Text="Welcome to .NET MAUI Document Scanner SDK" style="{StaticResource Headline}" SemanticProperties.HeadingLevel="Level1" /> <Label Text="Using IronOCR" style="{StaticResource SubHeadline}" SemanticProperties.HeadingLevel="Level2" SemanticProperties.Description="Welcome to .NET MAUI Document Scanner SDK" /> <Image x:Name="cameraPreview" /> <Button Text="Capture" Clicked="OnCaptureClicked" /> <Label x:Name="textLabel" Text="Recognized Text:"/> </VerticalStackLayout> </ScrollView> </ContentPage> XML 在這種佈局中: 我們使用VerticalStackLayout將控制項垂直堆疊起來。 名為cameraPreview 的**影像**控制項用於顯示拍攝的照片。 點選按鈕控制項時,會觸發OnCaptureClicked事件處理程序。 名為textLabel 的**標籤**控制項用於顯示擷取的文字。 輸出 4. 實現文件掃描功能 為了將文字擷取功能整合到我們的.NET MAUI文件掃描應用程式中,我們將按照以下步驟操作: 1.利用相機 API:利用.NET MAUI提供的相機 API,直接在您的應用程式中擷取影像檔案。 2.將影像傳遞給IronOCR:捕捉影像後,將其傳遞給IronOCR進行文字擷取,利用其強大的功能。 3.顯示提取的文本:在應用程式使用者介面的指定區域顯示提取的文本,供使用者查看。 以下是實現這些步驟的相應程式碼片段: using IronOcr; namespace DocumentScanner { public partial class MainPage : ContentPage { public MainPage() { InitializeComponent(); } private async void OnCaptureClicked(object sender, EventArgs e) { License.LicenseKey = "YOUR-LICENSE-KEY-HERE"; try { // Request camera permissions var status = await Permissions.RequestAsync<Permissions.Camera>(); if (status == PermissionStatus.Granted) { // Take photo var photo = await MediaPicker.CapturePhotoAsync(); if (photo != null) { // Display captured photo in Image cameraPreview.Source = ImageSource.FromStream(() => photo.OpenReadAsync().Result); using (var stream = await photo.OpenReadAsync()) { // Use a stream from the captured photo for OCR var ocr = new IronTesseract(); using var ocrInput = new OcrInput(); ocrInput.LoadImage(stream); var ocrResult = ocr.Read(ocrInput); if (string.IsNullOrEmpty(ocrResult.Text)) { await DisplayAlert("Error", "No Text Detected!", "OK"); } else { await DisplayAlert("Text Detected!", ocrResult.Text, "OK"); // Display extracted text textLabel.Text = ocrResult.Text; } } } } else { // Camera permission denied await DisplayAlert("Permission Denied", "Camera permission is required to capture photos.", "OK"); } } catch (Exception ex) { // Handle exception await DisplayAlert("Error", ex.Message, "OK"); } } } } using IronOcr; namespace DocumentScanner { public partial class MainPage : ContentPage { public MainPage() { InitializeComponent(); } private async void OnCaptureClicked(object sender, EventArgs e) { License.LicenseKey = "YOUR-LICENSE-KEY-HERE"; try { // Request camera permissions var status = await Permissions.RequestAsync<Permissions.Camera>(); if (status == PermissionStatus.Granted) { // Take photo var photo = await MediaPicker.CapturePhotoAsync(); if (photo != null) { // Display captured photo in Image cameraPreview.Source = ImageSource.FromStream(() => photo.OpenReadAsync().Result); using (var stream = await photo.OpenReadAsync()) { // Use a stream from the captured photo for OCR var ocr = new IronTesseract(); using var ocrInput = new OcrInput(); ocrInput.LoadImage(stream); var ocrResult = ocr.Read(ocrInput); if (string.IsNullOrEmpty(ocrResult.Text)) { await DisplayAlert("Error", "No Text Detected!", "OK"); } else { await DisplayAlert("Text Detected!", ocrResult.Text, "OK"); // Display extracted text textLabel.Text = ocrResult.Text; } } } } else { // Camera permission denied await DisplayAlert("Permission Denied", "Camera permission is required to capture photos.", "OK"); } } catch (Exception ex) { // Handle exception await DisplayAlert("Error", ex.Message, "OK"); } } } } $vbLabelText $csharpLabel 程式碼解釋 讓我們一步一步地分析程式碼: 在 MainPage.xaml.cs 檔案中,定義了OnCaptureClicked方法來處理 Capture 按鈕的點擊事件。 IronOCR許可證金鑰已設置,這是使用IronOCR庫所必需的。 請將 "YOUR-LICENSE-KEY-HERE" 替換為您的實際許可證金鑰。 使用Permissions.RequestAsync請求相機權限()以確保應用程式可以存取裝置的攝影機。 呼叫MediaPicker.CapturePhotoAsync()來使用相機拍照。 如果成功,照片將顯示在cameraPreview Image 控制項中。 開啟擷取照片的流並將其用作IronOCR的輸入,建立一個IronTesseract實例,將影像流載入到OcrInput物件中,並呼叫Read方法執行 OCR。 如果提取成功,則提取的文字將顯示在textLabel控制項中。 如果未偵測到文本,則使用DisplayAlert顯示錯誤訊息。 如需進一步了解IronOCR和其他程式碼範例,請造訪此程式碼範例頁面。 5. 測試文件掃描應用程式 在各種平台(Android、iOS 和 Windows)上運行該應用程序,以確保跨平台相容性。 測試不同的場景,例如掃描不同字體、大小和方向的文件。 驗證擷取的文字是否準確,並在使用者介面上正確顯示。 輸出 - 無文字的掃描文檔 輸出 - 帶有文字的掃描文檔 結論 透過本教程,您已經學會如何在.NET MAUI中使用IronOCR文件掃描器 SDK。 文件掃描應用程式有許多實際應用,從將紙本文件數位化到從收據和發票中提取儲存的資訊。 利用IronOCR的強大功能和.NET MAUI的靈活性,您可以建立功能豐富的文件掃描應用程序,以滿足各種使用場景的需求。 嘗試不同的功能,探索其他庫,不斷磨練你的技能,從而創建更令人印象深刻的應用程式。 有關IronOCR功能的更多詳細信息,請訪問此文件頁面。 IronOCR提供免費試用版,供用戶測試其商業模式下的全部功能。 其永久精簡版授權從 $799 開始。 從下載頁面下載庫檔案並試用。 常見問題解答 如何使用 .NET MAUI 創建文檔掃描應用? 您可以通過利用 IronOCR 進行光學字符識別來使用 .NET MAUI 創建文檔掃描應用。首先透過 Visual Studio 的 NuGet 套件管理器安裝 IronOCR,然後使用 .NET MAUI 設計您的應用 UI,並使用 IronTesseract 的 Read 方法實現掃描功能。 使用 IronOCR 創建文檔掃描應用有哪些好處? IronOCR 提供高精度的文字識別、多語言支持和與各種文件格式的兼容性。它還提供圖像預處理、快速性能和與 .NET 應用的無縫整合,這使其成為文檔掃描應用的強大選擇。 如何在 .NET MAUI 項目中安裝 IronOCR? 要在 .NET MAUI 項目中安裝 IronOCR,請打開 Visual Studio 並使用 NuGet 套件管理器搜索 'IronOCR'。將包添加到您的項目中以開始使用其 OCR 功能。 在文檔掃描應用中捕獲和處理圖像需要哪些步驟? 此過程涉及使用MediaPicker捕獲圖像,將其轉換為流格式,然後使用 IronOCR 的 IronTesseract 進行文本提取。提取的文本可以顯示在應用的用戶界面中。 IronOCR支持哪種文件格式進行 OCR 處理? IronOCR 支持包括 TIFF、JPEG、PNG 和 PDF 在內的多種文件格式,允許自由的文檔掃描和文本提取功能。 IronOCR 能支持多語言的 OCR 處理嗎? 可以,IronOCR 支持超過 125 種語言的 OCR,適用於需要各種語言環境下的文本識別的應用。 .NET MAUI 如何促進跨平台開發? .NET MAUI 使開發人員能夠使用單一代碼庫構建跨平台移動應用,允許無縫部署到 Android、iOS 和 Windows 設備。 開發 .NET MAUI 文檔掃描應用的先決條件是什麼? 先決條件包括 C# 編程的基本知識、具有 .NET MAUI 工作負載的 Visual Studio 2022,以及從 NuGet 安裝的 IronOCR 庫。 如何測試我的文檔掃描應用在不同平台上的兼容性? 您可以通過將文檔掃描應用部署到 Android、iOS 和 Windows 設備上進行測試,以確保 .NET MAUI 的跨平台功能,確保功能和文本提取的準確性。 Jordi Bardia 立即與工程團隊聊天 軟體工程師 Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担產品测测试,產品開發和研究的责任時,Jordi 為持续的產品改進增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。 相關文章 發表日期 2026年3月8日 創建.NET應用程式的條碼專業SDK 全面的.NET條碼SDK,用於QR Codes、GS1、Data Matrix等。支持.NET 6-10、Core和Framework。 閱讀更多 發表日期 2026年3月8日 構建Barcode SDK C#:通過一個程式庫生成、讀取和掃描條碼 在C#中使用IronBarcode構建條碼SDK功能。生成條碼圖像,從文件掃描多個條碼,並使用一個.NET程式庫讀取QR Code。包含範例代碼。 閱讀更多 更新2026年3月1日 VB .NET條碼字體:如何在沒有字體依賴的情況下生成和列印條碼 在VB.NET中以現代方式處理條碼字體。使用IronBarcode生成Code 39和Code 128條碼圖像-無字體依賴。提供免費試用。 閱讀更多 為WEB應用程式創建條碼掃描器API的步驟創建Razor條碼生成器Web應用
發表日期 2026年3月8日 創建.NET應用程式的條碼專業SDK 全面的.NET條碼SDK,用於QR Codes、GS1、Data Matrix等。支持.NET 6-10、Core和Framework。 閱讀更多
發表日期 2026年3月8日 構建Barcode SDK C#:通過一個程式庫生成、讀取和掃描條碼 在C#中使用IronBarcode構建條碼SDK功能。生成條碼圖像,從文件掃描多個條碼,並使用一個.NET程式庫讀取QR Code。包含範例代碼。 閱讀更多
更新2026年3月1日 VB .NET條碼字體:如何在沒有字體依賴的情況下生成和列印條碼 在VB.NET中以現代方式處理條碼字體。使用IronBarcode生成Code 39和Code 128條碼圖像-無字體依賴。提供免費試用。 閱讀更多