1. Produkty
  2.   Aspose.OCR
  3.   Aspose.OCR FOSS for .NET

Aspose.OCR FOSS dla .NET

Biblioteka open-source .NET do wykrywania i rozpoznawania tekstu na obrazach oraz w dokumentach PDF. Licencja MIT, działa offline z wbudowanymi modelami ONNX.

Biblioteka Open-Source .NET do wykrywania i rozpoznawania tekstu

Aspose.OCR FOSS for .NET jest darmową, na licencji MIT, biblioteką C# służącą do wykrywania i rozpoznawania tekstu w obrazach rastrowych i dokumentach PDF, bez konieczności używania zewnętrznego oprogramowania OCR lub usług. Cały potok — wykrywanie linii tekstu, doprecyzowanie regionu i rozpoznawanie skryptu łacińskiego rozpoznawanie — działa lokalnie przy użyciu trzech modeli ONNX wbudowanych bezpośrednio w zestaw i uruchamianych na CPU poprzez Microsoft.ML.OnnxRuntime; nie jest wymagane pobranie modelu ani wywołanie sieci w czasie działania. API koncentruje się na AsposeOcr.Recognize(), które przyjmuje OcrInput zbudowany z jednego lub kilku plików (InputType.SingleImage lub InputType.PDF) i zwraca OcrOutput — jeden RecognitionResult na obraz lub stronę PDF, w kolejności źródłowej. Każdy RecognitionResult udostępnia pełny tekst strony poprzez RecognitionText oraz poszczególne rozpoznane linie, każda z ich ramką ograniczającą w współrzędnych pikseli, poprzez RecognitionLinesResult. Strony PDF są renderowane wewnętrznie (przez Aspose.PDF.FOSS)` przed rozpoznaniem, więc nie jest potrzebny osobny krok konwersji PDF na obraz. Aspose.OCR FOSS dla .NET jest na licencji MIT. Zainstaluj ją za pomocą dotnet add package Aspose.OCR.FOSS. Dla rodziny produktów korporacyjnych, zobacz Aspose.OCR — Enterprise Product Family.

Rozpoznawanie tekstu w obrazach i plikach PDF

  • AsposeOcr.Recognize(OcrInput) jest jedynym punktem wejścia zarówno dla obrazów, jak i plików PDF
  • OcrInput akceptuje InputType.SingleImage lub InputType.PDF; dodaj jedną lub więcej ścieżek plików za pomocą OcrInput.Add()
  • Dla InputType.PDF każda strona jest rozpoznawana i zwracana w kolejności źródłowej
  • Wynik to OcrOutput — jeden RecognitionResult na obraz lub stronę PDF

Gdzie używa się rozpoznawania tekstu

  • Digitalizacja zeskanowanych dokumentów do przeszukiwalnego, kopiowalnego tekstu
  • Wyodrębnianie tekstu ze zeskanowanych plików PDF, które nie mają wbudowanej warstwy tekstowej
  • Przetwarzanie zeskanowanych formularzy, paragonów i faktur w potoku wsadowym
  • Indeksowanie dużych archiwów zeskanowanych obrazów w celu pełnotekstowego wyszukiwania

Tekst na poziomie linii i ramki ograniczające

  • RecognitionResult.RecognitionText zwraca pełny rozpoznany tekst strony
  • RecognitionResult.RecognitionLinesResult zwraca jeden RecognitionResult.LinesResult na wykrytą linię tekstu
  • Każdy RecognitionResult.LinesResult.TextInLine zawiera rozpoznany tekst tej linii
  • Każdy RecognitionResult.LinesResult.Line jest System.Drawing.Rectangle podającym współrzędne pikseli linii w obrazie źródłowym

Gdzie wykorzystywane są dane na poziomie linii

  • Rysowanie nakładek rozpoznanych regionów na oryginalnym obrazie
  • Tworzenie warstwy tekstu przeszukiwalnego umieszczonej nad zeskanowaną stroną
  • Przegląd dokładności rozpoznawania wiersz po wierszu podczas QA
  • Sterowanie narzędziami do redakcji lub anotacji na podstawie współrzędnych linii

Działa w pełni offline, bez zewnętrznych usług

  • Wszystkie trzy modele ONNX (detekcji, ulepszenia, rozpoznawania łacińskiego) są wbudowane jako zasoby zestawu — nic nie trzeba pobierać osobno
  • Rozpoznawanie działa w pełni na lokalnym CPU przy użyciu Microsoft.ML.OnnxRuntime
  • OcrInput może zawierać wiele plików; OcrOutput zachowuje ich pierwotną kolejność
  • Obsługiwane typy wejścia to InputType.SingleImage i InputType.PDF tylko — każdy inny typ wejścia generuje NotSupportedException

Gdzie rozpoznawanie offline ma znaczenie

  • Środowiska air-gapped lub regulowane, w których dokumenty nie mogą opuścić sieci
  • Potoki CI/CD bez zewnętrznego dostępu do sieci podczas budowania
  • Rozpoznawanie wsadowe o dużej objętości, w którym koszt cloud OCR za każde wywołanie jest problemem
  • Przetwarzanie dokumentów on-premises z przewidywalnym, wyłącznie lokalnym opóźnieniem

Rozpoznaj tekst w dokumencie PDF

Rozpoznaj każdą stronę pliku PDF i wydrukuj tekst każdej strony w kolejności źródłowej.

using Aspose.OCR;
var api = new AsposeOcr();
using var input = new OcrInput(InputType.PDF);
input.Add("document.pdf");
OcrOutput output = api.Recognize(input);
foreach (RecognitionResult page in output)
{
    Console.WriteLine(page.RecognitionText);
}

Rozpoznaj tekst w pojedynczym obrazie

Rozpoznaj pojedynczy obraz rastrowy i wypisz jego rozpoznany tekst.

using Aspose.OCR;
var api = new AsposeOcr();
using var input = new OcrInput(InputType.SingleImage);
input.Add("scan.png");
RecognitionResult result = api.Recognize(input)[0];
Console.WriteLine(result.RecognitionText);

Odczytaj Rozpoznane Linie i Ich Ramki Ograniczające

Iteruj rozpoznane linie i wypisz tekst każdej linii wraz z jej współrzędnymi pikselowymi.

using Aspose.OCR;
var api = new AsposeOcr();
using var input = new OcrInput(InputType.SingleImage);
input.Add("document.jpg");
RecognitionResult result = api.Recognize(input)[0];
foreach (RecognitionResult.LinesResult line in result.RecognitionLinesResult)
{
    System.Drawing.Rectangle bounds = line.Line;
    Console.WriteLine($"x={bounds.X}, y={bounds.Y}, width={bounds.Width}, height={bounds.Height}: {line.TextInLine}");
}

Najczęściej Zadawane Pytania

Jaki jest model licencjonowania?

Aspose.OCR FOSS for .NET jest licencjonowany na warunkach MIT. Możesz używać, modyfikować i rozpowszechniać go, w tym w produktach komercyjnych, bez dodatkowych opłat licencyjnych.

Jak zainstalować Aspose.OCR FOSS for .NET?

Zobacz sekcję instalacji powyżej, aby uzyskać aktualną komendę instalacji.

Jakie języki rozpoznaje?

Tekst w alfabecie łacińskim. Nie ma parametru wyboru języka, a skrypty niełacińskie nie są obsługiwane przez wbudowany model rozpoznawania.

Czy wymaga połączenia z internetem?

Nie. Wszystkie trzy modele ONNX (detekcji, udoskonalenia, rozpoznawania) są osadzone w zestawie i uruchamiane lokalnie przez Microsoft.ML.OnnxRuntime.

Czy mogę rozpoznać wiele plików w jednym wywołaniu?

Tak — dodaj wiele plików do tego samego OcrInput przed wywołaniem AsposeOcr.Recognize(). Zwrócony OcrOutput zachowuje ich kolejność.

  

Zasoby Wsparcia i Nauki

 Polski