Aspose.OCR FOSS for .NET — Rozwiązywanie problemów

Aspose.OCR FOSS for .NET — Rozwiązywanie problemów

Ta strona wymienia błędy i ograniczenia, które najprawdopodobniej pojawią się podczas integrowania Aspose.OCR FOSS dla .NET, wraz z rzeczywistą przyczyną każdego z nich.

Wyjątki zgłaszane przez Recognize()

AsposeOcr.Recognize() waliduje swoje dane wejściowe przed uruchomieniem jakiegokolwiek modelu. Każda kontrola poniżej nie powodzi się w tej kolejności:

ExceptionPrzyczynaNaprawa
ArgumentNullExceptionTen OcrInput przekazany do Recognize() jest nullZawsze skonstruuj OcrInput przed wywołaniem Recognize()
NotSupportedExceptionOcrInput został skonstruowany przy użyciu InputType innego niż SingleImage lub PDFTylko InputType.SingleImage i InputType.PDF są prawidłowe
FileNotFoundExceptionŚcieżka dodana za pomocą OcrInput.Add() nie istnieje na dyskuSprawdź każdą ścieżkę przed wywołaniem Add() — brakujący plik powoduje niepowodzenie całego wywołania, a nie tylko tego pliku

Rozpoznawanie nie zwraca tekstu

Jeśli RecognitionResult.RecognitionText jest pusty, a RecognitionLinesResult nie ma żadnych wpisów, detektor nie znalazł regionu linii tekstu na obrazie. Jest to oczekiwane — nie błąd — dla:

  • Obrazy bez czytelnego tekstu lub tekstu, który jest zbyt mały, obrócony lub o niskim kontraście, aby detektor mógł go zarejestrować jako region
  • Skrypty niełacińskie: wbudowany model rozpoznawania obsługuje wyłącznie tekst w alfabecie łacińskim oraz jego znaki diakrytyczne
  • Obrazy, w których wykryte regiony zostały odfiltrowane podczas przetwarzania końcowego (bardzo niskie wyniki prawdopodobieństwa tekstu)

Nie ma udostępnionego wyniku pewności, który odróżnia „nic nie wykryto” od „wykryto, ale niepewnie” — zobacz Zakres i ograniczenia.

Rozpoznawanie działa, ale wyniki wyglądają nieprawidłowo

  • Obrócony lub przechylony tekst. Nie ma automatycznego prostowania ani korekcji obrotu. Przed wywołaniem wstępnie obróć obraz źródłowy Recognize().
  • Układy tabel lub formularzy wyglądają na nieuporządkowane. Detektor zwraca wyłącznie prostokąty linii wyrównane do osi — nie ma pojęcia o kolumnach, tabelach ani kolejności czytania poza pozycją linii. Odtworzenie układu jest odpowiedzialnością wywołującego.
  • Pozycja tekstu w PDF wydaje się przesunięta. Strony PDF są zawsze renderowane wewnętrznie z rozdzielczością 150 DPI; współrzędne prostokątów w RecognitionResult.LinesResult.Line są w przestrzeni pikseli tego renderowanego obrazu, a nie w przestrzeni punktów PDF.

Problemy platformowe i kompilacyjne

  • PlatformNotSupportedException lub podobnym w czasie działania na Linux/macOS. Przetwarzanie obrazu zależy od System.Drawing.Common, które jest dostępne tylko na Windows w .NET 6 i późniejszych wersjach. Ścieżka przetwarzania obrazu tej biblioteki działa wyłącznie na Windows.
  • Kompilacja nie powodzi się przy docelowym net9.0/net10.0. Budowanie tych celów wymaga .NET 10 SDK — zobacz Jak zbudować ze źródła.
  • Mixing InputType.SingleImage and InputType.PDF w jednym OcrInput. Nieobsługiwane — zobacz Jak przetwarzać wsadowo wiele obrazów.

Zobacz także

 Polski