IronOCR 開始使用 .NET MAUI OCR .NET MAUI OCR Using IronOCR Curtis Chau 更新日期:7月 22, 2025 Download IronOCR NuGet 下載 DLL 下載 Windows 安裝程式 Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article This article was translated from English: Does it need improvement? Translated View the article in English 簡介 微軟發佈了 .NET MAUI(多平台應用程式 UI),這是一個使用 .NET Framework 構建跨平台應用程式的框架。 它允許您撰寫在 Android、iOS 和 Windows 上執行的代碼,使用相同的代碼庫,節省您的時間、資源和精力。 .NET MAUI 是開源的。 您可以在GitHub上獲取 .NET MAUI 專案的源代碼及示例。 在這個操作指南中,我們將學習如何使用 IronOCR 庫在 .NET MAUI 上創建一個 OCR 處理器應用程式,並附帶示例。 class="hsg-featured-snippet"> 如何在 .NET MAUI 中進行 OCR 下載 C# 庫以在 .NET MAUI 中執行 OCR 配置 MAUI 專案的前端 使用FilePicker 類傳遞圖片的完整路徑 調用 Read 方法對圖片進行 OCR 通過訪問 Text 屬性來獲取提取的文字並顯示它 IronOCR: .NET OCR 庫 IronOCR 是一個 .NET OCR NuGet 庫,允許開發者輕鬆地將光學字元辨識(OCR)功能集成到他們的專案中。 使用 IronOCR,PDF 文件可以被掃描並轉換為可搜尋和可編輯的文字/數據,且不會有任何數據質量的損失。 這使得用戶可以輕鬆地從 PDF 文件中找到所需的信息,並在必要時進行更改或校正。 IronOCR 是任何平台上最先進的 Tesseract 二進制構建。 它提供了更快的速度、準確性及一個原生 DLL/API 支援所有版本的 Tesseract(從 Tesseract 3 到 Tesseract 5)只需一次簡易安裝/下載。 IronOCR 的語言支持廣泛,提供給用戶 125 種國際語言。 默認狀態下,工具/DLL 中安裝了英語語言。 不過,您可以通過 NuGet 安裝或下載 DLL 來輕鬆添加更多語言。 與 Tesseract 的對比 IronOCR 是專為 C# 開發者設計的,與 .NET 應用程式無縫集成。 而 Tesseract 是一個通用的 OCR 庫,需要開發者撰寫自定義包裹類才能在 C# 中使用。 另外,IronOCR 比其他庫提供了更高的準確性和速度,這要歸功於其創新性的人工智慧演算法。 IronOCR 附帶了詳盡的文檔和技術支持,即使是新手開發者也能輕易上手。 IronOCR 的準確性遠高於 Tesseract。 事實上,它的準確率超過 99%,而 Tesseract 的準確率僅在 70.2% 到 92.9% 之間。 有關 IronOCR 和 Tesseract 比較的更多信息和支持,請在這個YouTube 影片中觀看。 創建 OCR MAUI 應用程式的步驟 按照以下步驟,使用 IronOCR 在 .NET MAUI 框架中創建一個 OCR 應用程式。 先決條件 在 .NET MAUI 中創建 OCR 應用程式的前置條件如下: Visual Studio 2022(最新版本) .NET 6 或 7 Visual Studio 中安裝的 MAUI 包 在 Visual Studio 中運行的 .NET MAUI 專案 安裝IronOCR 第一步是使用 NuGet Package Manager Console 安裝 IronOCR 庫。 通過右鍵點擊解決方案管理器,打開 NuGet Package Manager Console,並執行以下指令來安裝 IronOCR 庫: Install-Package IronOcr 前端設計 我們將在本節設計應用程式的前端。 打開MainPage.xaml文件。 class="content-img-align-center"> MainPage.xaml 我們指定了一個按鈕,將幫助我們選擇用於 OCR 的圖片或 PDF 文件。 按鈕的Clicked屬性被設置為執行我們在下一節定義的IOCR函數。 <Button x:Name="OCR" Text="Click to OCR" Clicked="IOCR" HorizontalOptions="Center" /> <Button x:Name="OCR" Text="Click to OCR" Clicked="IOCR" HorizontalOptions="Center" /> XML 在這裡,我們創建了一個名為OCRImage的Image元素。 此圖像框將顯示所選的文件。 <Image x:Name="OCRImage" SemanticProperties.Description="Selected Image" HeightRequest="300" HorizontalOptions="Center" /> <Image x:Name="OCRImage" SemanticProperties.Description="Selected Image" HeightRequest="300" HorizontalOptions="Center" /> XML 接下來,我們創建一個Editor控件。 它將用於顯示從圖像或 PDF 文件中提取的文本。 <Editor x:Name="outputText" HorizontalOptions="Center" WidthRequest="600" HeightRequest="300" /> <Editor x:Name="outputText" HorizontalOptions="Center" WidthRequest="600" HeightRequest="300" /> XML 這裡是完整的 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" x:Class="IronOCR_MAUI_Test.MainPage"> <ScrollView> <VerticalStackLayout Spacing="25" Padding="30,0" VerticalOptions="Center"> <Button x:Name="OCR" Text="Click to OCR" Clicked="IOCR" HorizontalOptions="Center" /> <Image x:Name="OCRImage" SemanticProperties.Description="Selected Image" HeightRequest="300" HorizontalOptions="Center" /> <Editor x:Name="outputText" HorizontalOptions="Center" WidthRequest="600" HeightRequest="300" /> </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" x:Class="IronOCR_MAUI_Test.MainPage"> <ScrollView> <VerticalStackLayout Spacing="25" Padding="30,0" VerticalOptions="Center"> <Button x:Name="OCR" Text="Click to OCR" Clicked="IOCR" HorizontalOptions="Center" /> <Image x:Name="OCRImage" SemanticProperties.Description="Selected Image" HeightRequest="300" HorizontalOptions="Center" /> <Editor x:Name="outputText" HorizontalOptions="Center" WidthRequest="600" HeightRequest="300" /> </VerticalStackLayout> </ScrollView> </ContentPage> XML 現在,是時候編寫 OCR 功能的代碼了。 使用 IronOCR 的 OCR 代碼 打開MainPage.xaml.cs類文件並撰寫以下函數: class="content-img-align-center"> MainPage.xaml.cs private async void IOCR(object sender, EventArgs e) { // Prompt user to select an image using FilePicker var images = await FilePicker.Default.PickAsync(new PickOptions { PickerTitle = "Pick image", FileTypes = FilePickerFileType.Images }); // Get the full path of the selected image var path = images.FullPath.ToString(); // Display the selected image in the Image control OCRImage.Source = path; // Create an IronTesseract object to perform OCR var ocr = new IronTesseract(); // Perform OCR and extract text from the selected image using (var input = new OcrInput()) { input.AddImage(path); // Add image to the OCR input OcrResult result = ocr.Read(input); // Perform OCR string text = result.Text; // Extract text // Display extracted text in the Editor control outputText.Text = text; } } private async void IOCR(object sender, EventArgs e) { // Prompt user to select an image using FilePicker var images = await FilePicker.Default.PickAsync(new PickOptions { PickerTitle = "Pick image", FileTypes = FilePickerFileType.Images }); // Get the full path of the selected image var path = images.FullPath.ToString(); // Display the selected image in the Image control OCRImage.Source = path; // Create an IronTesseract object to perform OCR var ocr = new IronTesseract(); // Perform OCR and extract text from the selected image using (var input = new OcrInput()) { input.AddImage(path); // Add image to the OCR input OcrResult result = ocr.Read(input); // Perform OCR string text = result.Text; // Extract text // Display extracted text in the Editor control outputText.Text = text; } } Private Async Sub IOCR(ByVal sender As Object, ByVal e As EventArgs) ' Prompt user to select an image using FilePicker Dim images = Await FilePicker.Default.PickAsync(New PickOptions With { .PickerTitle = "Pick image", .FileTypes = FilePickerFileType.Images }) ' Get the full path of the selected image Dim path = images.FullPath.ToString() ' Display the selected image in the Image control OCRImage.Source = path ' Create an IronTesseract object to perform OCR Dim ocr = New IronTesseract() ' Perform OCR and extract text from the selected image Using input = New OcrInput() input.AddImage(path) ' Add image to the OCR input Dim result As OcrResult = ocr.Read(input) ' Perform OCR Dim text As String = result.Text ' Extract text ' Display extracted text in the Editor control outputText.Text = text End Using End Sub $vbLabelText $csharpLabel 讓我們剖析上述代碼: 代碼使用FilePicker讓用戶選擇來自設備的圖像文件。文件選擇器被配置為僅允許圖像。 var images = await FilePicker.Default.PickAsync(new PickOptions { PickerTitle = "Pick image", FileTypes = FilePickerFileType.Images }); var path = images.FullPath.ToString(); var images = await FilePicker.Default.PickAsync(new PickOptions { PickerTitle = "Pick image", FileTypes = FilePickerFileType.Images }); var path = images.FullPath.ToString(); Dim images = Await FilePicker.Default.PickAsync(New PickOptions With { .PickerTitle = "Pick image", .FileTypes = FilePickerFileType.Images }) Dim path = images.FullPath.ToString() $vbLabelText $csharpLabel Image控制項設置為使用其文件路徑顯示所選圖像。 OCRImage.Source = path; OCRImage.Source = path; OCRImage.Source = path $vbLabelText $csharpLabel 創建了一個IronTesseract對象來執行 OCR。 所選圖像被添加到一個OcrInput對象中。 調用Read方法來從圖像中提取文本,提取的文字將顯示在Editor控件中。 var ocr = new IronTesseract(); using (var input = new OcrInput()) { input.AddImage(path); OcrResult result = ocr.Read(input); string text = result.Text; outputText.Text = text; } var ocr = new IronTesseract(); using (var input = new OcrInput()) { input.AddImage(path); OcrResult result = ocr.Read(input); string text = result.Text; outputText.Text = text; } Dim ocr = New IronTesseract() Using input = New OcrInput() input.AddImage(path) Dim result As OcrResult = ocr.Read(input) Dim text As String = result.Text outputText.Text = text End Using $vbLabelText $csharpLabel 輸出 運行項目後,下圖所示的使用者界面將顯示。當您點擊按鈕時,會提示您從任意位置選擇圖像/PDF。 class="content-img-align-center"> OCR 輸出 在選擇圖像後,IronOCR 處理該圖像並在 Editor 控件中顯示識別出的字詞。 您可以從 Editor 控件中複製文字。 class="content-img-align-center"> OCR 圖像 從結果來看,IronOCR 在處理帶有圖案的複雜圖像時表現出色,呈現出精確的結果。 IronOCR 能夠使用其預訓練模型檢測到細微的細節並選擇出所需的準確字母。 <{i:(在啟用調試的發佈模式下運行項目可能會導致問題。 在這種情況下,您可以按照下面鏈接中所示,將項目發佈為一個未打包的 .NET MAUI 應用程式,以確保應用程式正常工作。)}> 結論 For further reading, refer to this tutorial which provides additional information about how to use IronOCR to read text from images. IronOCR 可免費用於開發用途。 您可以以非常低的價格購買它,起價僅從$799開始。 在這裡查看定價計劃。 常見問題解答 .NET MAUI 在應用程式開發中用於什麼用途? .NET MAUI(多平台應用程式使用者介面)用於使用單一程式碼庫建立跨平台應用程序,使開發人員能夠面向 Android、iOS 和 Windows 平台。 開發者如何在.NET MAUI應用程式中執行OCR? 開發者可以透過整合 IronOCR(一個 .NET OCR 函式庫)在 .NET MAUI 應用程式中執行 OCR 功能。 IronOCR 可以將圖像和 PDF 文件轉換為可搜尋和可編輯的文字。 在 .NET MAUI 專案中設定 IronOCR 的步驟是什麼? 若要在 .NET MAUI 專案中設定 IronOCR,請透過 NuGet 安裝 IronOCR 函式庫,在 Visual Studio 中設定前端,並實作必要的 C# 程式碼以使用 IronTesseract 物件執行 OCR。 IronOCR在處理文字時準確率如何? IronOCR 在處理文字時準確率高達 99% 以上,憑藉其先進的 AI 演算法,比其他 OCR 解決方案(如 Tesseract)更可靠。 IronOCR 可以處理多種語言嗎? 是的,IronOCR 支援 125 種國際語言,預設安裝英語。您可以透過 NuGet 或下載特定語言的 DLL 檔案來新增其他語言。 如何在.NET MAUI應用程式中選擇用於OCR的圖像檔案? 在 .NET MAUI 應用程式中,您可以使用FilePicker類別選擇要進行 OCR 的映像文件,該類別允許使用者從裝置中選擇映像以提取文字。 編輯器控制在顯示 OCR 結果中扮演什麼角色? .NET MAUI 應用程式中的 Editor 控制項用於顯示從 IronOCR 處理的圖像中提取的文本,為使用者提供查看 OCR 結果的介面。 使用 IronOCR 進行開發是否會產生費用? IronOCR 可免費用於開髮用途。但用於生產環境則需購買許可證,許可證價格極具競爭力。 為什麼 IronOCR 是 C# 開發人員的首選? IronOCR 是 C# 開發人員的首選,因為它與 .NET 應用程式無縫集成,具有高精度、高速度和多語言支援等優點,使其優於許多其他 OCR 庫。 開發者如何增強其 .NET MAUI OCR 應用的功能? 開發人員可以透過探索 IronOCR 提供的其他資源來增強其 .NET MAUI OCR 應用程序,利用其全面的文件和支援來實現高級功能。 Curtis Chau 立即與工程團隊聊天 技術作家 Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。 審核人 A PHP Error was encountered Severity: Warning Message: Illegal string offset 'name' Filename: sections/author_component.php Line Number: 70 Backtrace: File: /var/www/ironpdf.com/application/views/main/sections/author_component.php Line: 70 Function: _error_handler File: /var/www/ironpdf.com/application/libraries/Render.php Line: 63 Function: view File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php Line: 64 Function: main_view File: /var/www/ironpdf.com/application/libraries/Render.php Line: 88 Function: view File: /var/www/ironpdf.com/application/views/products/get-started/index.php Line: 2 Function: view File: /var/www/ironpdf.com/application/libraries/Render.php Line: 88 Function: view File: /var/www/ironpdf.com/application/libraries/Render.php Line: 552 Function: view File: /var/www/ironpdf.com/application/controllers/Products/Getstarted.php Line: 25 Function: render_products_view File: /var/www/ironpdf.com/index.php Line: 292 Function: require_once A PHP Error was encountered Severity: Warning Message: Illegal string offset 'linkedIn' Filename: sections/author_component.php Line Number: 73 Backtrace: File: /var/www/ironpdf.com/application/views/main/sections/author_component.php Line: 73 Function: _error_handler File: /var/www/ironpdf.com/application/libraries/Render.php Line: 63 Function: view File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php Line: 64 Function: main_view File: /var/www/ironpdf.com/application/libraries/Render.php Line: 88 Function: view File: /var/www/ironpdf.com/application/views/products/get-started/index.php Line: 2 Function: view File: /var/www/ironpdf.com/application/libraries/Render.php Line: 88 Function: view File: /var/www/ironpdf.com/application/libraries/Render.php Line: 552 Function: view File: /var/www/ironpdf.com/application/controllers/Products/Getstarted.php Line: 25 Function: render_products_view File: /var/www/ironpdf.com/index.php Line: 292 Function: require_once "> A PHP Error was encountered Severity: Warning Message: Illegal string offset 'title' Filename: sections/author_component.php Line Number: 84 Backtrace: File: /var/www/ironpdf.com/application/views/main/sections/author_component.php Line: 84 Function: _error_handler File: /var/www/ironpdf.com/application/libraries/Render.php Line: 63 Function: view File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php Line: 64 Function: main_view File: /var/www/ironpdf.com/application/libraries/Render.php Line: 88 Function: view File: /var/www/ironpdf.com/application/views/products/get-started/index.php Line: 2 Function: view File: /var/www/ironpdf.com/application/libraries/Render.php Line: 88 Function: view File: /var/www/ironpdf.com/application/libraries/Render.php Line: 552 Function: view File: /var/www/ironpdf.com/application/controllers/Products/Getstarted.php Line: 25 Function: render_products_view File: /var/www/ironpdf.com/index.php Line: 292 Function: require_once A PHP Error was encountered Severity: Warning Message: Illegal string offset 'comment' Filename: sections/author_component.php Line Number: 85 Backtrace: File: /var/www/ironpdf.com/application/views/main/sections/author_component.php Line: 85 Function: _error_handler File: /var/www/ironpdf.com/application/libraries/Render.php Line: 63 Function: view File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php Line: 64 Function: main_view File: /var/www/ironpdf.com/application/libraries/Render.php Line: 88 Function: view File: /var/www/ironpdf.com/application/views/products/get-started/index.php Line: 2 Function: view File: /var/www/ironpdf.com/application/libraries/Render.php Line: 88 Function: view File: /var/www/ironpdf.com/application/libraries/Render.php Line: 552 Function: view File: /var/www/ironpdf.com/application/controllers/Products/Getstarted.php Line: 25 Function: render_products_view File: /var/www/ironpdf.com/index.php Line: 292 Function: require_once