IRONSOFTWAREHOME

Zaznaczanie tekstu jako obrazów w języku C# za pomocą IronOCR

Curtis Chau
Curtis Chau
Updated: 4 czerwca 2026

Metoda HighlightTextAndSaveAsImages IronOCR wizualizuje wyniki OCR, rysując obramowania wokół wykrytego tekstu (znaków, słów, linii lub akapitów) i zapisując je jako obrazy diagnostyczne, umożliwiając deweloperom weryfikację dokładności OCR i debugowanie problemów z rozpoznaniem.

Wizualizacja wyników OCR polega na renderowaniu ramek wokół określonych elementów tekstowych, które silnik wykrył na obrazie. Proces ten nakłada wyraźne oznaczenia na dokładne lokalizacje poszczególnych znaków, słów, wierszy lub akapitów, zapewniając przejrzysty obraz rozpoznanej treści.

Ta wizualna informacja zwrotna ma kluczowe znaczenie dla debugowania i sprawdzania dokładności wyników OCR, pokazując, co oprogramowanie zidentyfikowało i gdzie popełniło błędy. Podczas pracy ze złożonymi dokumentami lub rozwiązywania problemów z rozpoznawaniem wizualne podświetlanie staje się niezbędnym narzędziem diagnostycznym.

Ten artykuł demonstruje zdolności diagnostyczne IronOCR z jego metodą HighlightTextAndSaveAsImages. Ta funkcja zaznacza określone fragmenty tekstu i zapisuje je jako obrazy w celu weryfikacji. Niezależnie od tego, czy tworzysz system przetwarzania dokumentów, wdrażasz środki kontroli jakości, czy też weryfikujesz swoje wdrożenie OCR, ta funkcja zapewnia natychmiastową wizualną informację zwrotną na temat tego, co wykrywa silnik OCR.

Szybki start: Natychmiastowe zaznaczanie słów w pliku PDF

Ten fragment kodu pokazuje, jak korzystać z IronOCR: wczytuje plik PDF i zaznacza każde słowo w dokumencie, zapisując wynik jako obrazy. Wystarczy jedna linijka, aby uzyskać wizualną informację zwrotną na temat wyników OCR.

  1. 1Install IronOCR with NuGet Package Manager

    PM > Install-Package IronOcr

  2. 2Skopiuj i uruchom ten fragment kodu.

    new IronOcr.OcrInput().LoadPdf("document.pdf").HighlightTextAndSaveAsImages(new IronOcr.IronTesseract(), "highlight_page_", IronOcr.ResultHighlightType.Word);
    C#
  3. 3Wdrożenie do testowania w środowisku produkcyjnym

    Rozpocznij używanie IronOCR w swoim projekcie już dziś z darmową wersją próbną
    arrow pointer

Jak zaznaczyć tekst i zapisać go jako obraz?

Zaznaczanie tekstu i zapisywanie go jako obrazów jest proste dzięki IronOCR. Załaduj istniejący PDF za pomocą LoadPdf, następnie wywołaj metodę HighlightTextByType, aby wyróżnić sekcje tekstu i zapisać je jako obrazy. Ta technika weryfikuje dokładność OCR i usuwa błędy związane z rozpoznawaniem tekstu w dokumentach.

Metoda przyjmuje trzy parametry: silnik OCR IronTesseract, przedrostek dla nazwy pliku wyjściowego i enum z ResultHighlightType, który określa rodzaj tekstu do wyróżnienia. Ten przykład używa ResultHighlightType.Paragraph, aby wyróżnić bloki tekstowe jako akapity. HighlightTextAndSaveAsImages

Zwróć uwagę: Ta funkcja wykorzystuje prefiks ciągu znaków wyjściowego i dołącza identyfikator strony (np. "page_0", "page_1") do nazwy pliku obrazu wyjściowego dla każdej strony.

W tym przykładzie wykorzystano plik PDF zawierający trzy akapity.

Jak wygląda plik PDF do tłumaczenia?

Jak zaimplementować kod podświetlania?

Poniższy przykładowy kod ilustruje podstawową implementację z wykorzystaniem klasy OcrInput.

using IronOcr;

IronTesseract ocrTesseract = new IronTesseract();

using var ocrInput = new OcrInput();
ocrInput.LoadPdf("document.pdf");
ocrInput.HighlightTextAndSaveAsImages(ocrTesseract, "highlight_page_", ResultHighlightType.Paragraph);

Co pokazują obrazy wyjściowe?

Strona internetowa zawierająca trzy akapity, środkowy akapit wyróżniony czerwoną ramką pokazujący możliwość zaznaczania tekstu

Jak widać na powyższym obrazku, wszystkie trzy akapity zostały zaznaczone jasnoczerwonym ramkiem. Ta wizualna reprezentacja pomaga programistom szybko zidentyfikować, w jaki sposób silnik OCR dzieli dokument na czytelne bloki.

Jakie są różne opcje ResultHighlightType?

Powyższy przykład użył ResultHighlightType.Paragraph, aby wyróżnić bloki tekstowe. IronOCR zapewnia dodatkowe opcje podświetlania za pośrednictwem tej enum. Poniżej znajduje się pełna lista dostępnych typów, z których każdy służy do innych celów diagnostycznych.

Znak: Rysuje ramkę wokół każdego znaku wykrytego przez silnik OCR. Przydatne do debugowania rozpoznawania znaków lub specjalistycznych czcionek, szczególnie podczas pracy z niestandardowymi plikami językowymi.

Word: Podkreśla każde kompletne słowo zidentyfikowane przez silnik. Idealne do sprawdzania granic słów i prawidłowej identyfikacji słów, zwłaszcza podczas wdrażania odczytu BarCode i QR wraz z rozpoznawaniem tekstu.

Linia: Podświetla każdą wykrytą linię tekstu. Przydatne w przypadku dokumentów o złożonym układzie, wymagających weryfikacji identyfikacji linii, np. podczas przetwarzania dokumentów zeskanowanych.

Akapit: Podkreśla całe bloki tekstu zgrupowane w akapity. Idealne do zrozumienia układu dokumentu i weryfikacji podziału na bloki tekstowe, szczególnie przydatne podczas pracy z ekstrakcją tabel.

Jak porównać różne typy podświetleń?

Ten obszerny przykład pokazuje generowanie zaznaczeń dla wszystkich różnych typów w tym samym dokumencie, co pozwala porównać wyniki:

using IronOcr;
using System;

// Initialize the OCR engine with custom configuration
IronTesseract ocrTesseract = new IronTesseract();

// Configure for better accuracy if needed
ocrTesseract.Configuration.ReadBarCodes = false; // Disable if not needed for performance
ocrTesseract.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd;

// Load the PDF document
using var ocrInput = new OcrInput();
ocrInput.LoadPdf("document.pdf");

// Generate highlights for each type
Console.WriteLine("Generating character-level highlights...");
ocrInput.HighlightTextAndSaveAsImages(ocrTesseract, "highlight_character_", ResultHighlightType.Character);

Console.WriteLine("Generating word-level highlights...");
ocrInput.HighlightTextAndSaveAsImages(ocrTesseract, "highlight_word_", ResultHighlightType.Word);

Console.WriteLine("Generating line-level highlights...");
ocrInput.HighlightTextAndSaveAsImages(ocrTesseract, "highlight_line_", ResultHighlightType.Line);

Console.WriteLine("Generating paragraph-level highlights...");
ocrInput.HighlightTextAndSaveAsImages(ocrTesseract, "highlight_paragraph_", ResultHighlightType.Paragraph);

Console.WriteLine("All highlight images have been generated successfully!");

Jak postępować w przypadku dokumentów wielostronicowych?

Podczas przetwarzania wielostronicowych plików PDF lub plików TIFF zawierających wiele klatek funkcja podświetlania automatycznie obsługuje każdą stronę z osobna. Jest to szczególnie przydatne podczas wdrażania procesów ekstrakcji tekstu z plików PDF za pomocą OCR:

using IronOcr;
using System.IO;

IronTesseract ocrTesseract = new IronTesseract();

// Load a multi-page document
using var ocrInput = new OcrInput();
ocrInput.LoadPdf("multi-page-document.pdf");

// Create output directory if it doesn't exist
string outputDir = "highlighted_pages";
Directory.CreateDirectory(outputDir);

// Generate highlights for each page
// Files will be named: highlighted_pages/page_0.png, page_1.png, etc.
ocrInput.HighlightTextAndSaveAsImages(ocrTesseract, 
    Path.Combine(outputDir, "page_"), 
    ResultHighlightType.Word);

// Count generated files for verification
int pageCount = Directory.GetFiles(outputDir, "page_*.png").Length;
Console.WriteLine($"Generated {pageCount} highlighted page images");

Jakie są najlepsze praktyki dotyczące wydajności?

Korzystając z funkcji wyróżniania, należy wziąć pod uwagę następujące najlepsze praktyki:

  1. Rozmiar pliku: Podświetlone obrazy mogą być duże, zwłaszcza w przypadku dokumentów o wysokiej rozdzielczości. Podczas przetwarzania dużych partii należy wziąć pod uwagę dostępną przestrzeń w katalogu wyjściowym. Wskazówki dotyczące optymalizacji znajdziesz w naszym przewodniku po szybkiej konfiguracji OCR.

  2. Wydajność: Generowanie podświetleń powoduje dodatkowe obciążenie procesora. W przypadku systemów produkcyjnych, w których podświetlanie jest potrzebne tylko sporadycznie, należy wdrożyć je jako oddzielny proces diagnostyczny, a nie jako część głównego przepływu pracy. Rozważ użycie wielowątkowego OCR do przetwarzania wsadowego.

  3. Obsługa błędów: Podczas pracy z operacjami na plikach zawsze należy wdrażać odpowiednią obsługę błędów:

try
{
    using var ocrInput = new OcrInput();
    ocrInput.LoadPdf("document.pdf");
    
    // Apply image filters if needed for better recognition
    ocrInput.Deskew(); // Correct slight rotations
    ocrInput.DeNoise(); // Remove background noise
    
    ocrInput.HighlightTextAndSaveAsImages(ocrTesseract, "highlight_", ResultHighlightType.Word);
}
catch (Exception ex)
{
    Console.WriteLine($"Error during highlighting: {ex.Message}");
    // Log error details for debugging
}

W jaki sposób podświetlanie integruje się z wynikami OCR?

Funkcja podświetlania działa płynnie z obiektami wynikowymi IronOCR, umożliwiając korelację wizualnych podświetleń z wyodrębnionymi danymi tekstowymi. Jest to szczególnie przydatne, gdy musisz track OCR progress lub zweryfikować określone sekcje rozpoznanego tekstu. Klasa OcrResult zapewnia szczegółowe informacje o każdym wykrytym elemencie, co odpowiada bezpośrednio wizualnym wyróżnieniom generowanym przez tę metodę.

Co zrobić, jeśli napotkam problemy?

W przypadku problemów z funkcją podświetlania zapoznaj się z ogólnym przewodnikiem rozwiązywania problemów, aby znaleźć typowe rozwiązania. W przypadku konkretnych problemów związanych z wyróżnieniem:

  • Puste obrazy wyjściowe: Upewnij się, że dokument wejściowy zawiera czytelny tekst oraz że silnik OCR jest prawidłowo skonfigurowany dla danego typu dokumentu. Może być konieczne zastosowanie filtrów optymalizacji obrazu lub fixing image orientation w celu poprawy rozpoznania.
  • Brakujące informacje: Niektóre typy dokumentów mogą wymagać specjalnego przetwarzania wstępnego. Spróbuj zastosować filtry obrazu lub fixing image orientation w celu poprawy rozpoznania.
  • Problemy z wydajnością: Dla dużych dokumentów rozważ zaimplementowanie multithreading w celu poprawy szybkości przetwarzania. Dodatkowo, jeśli pracujesz z materiałami wejściowymi o niskiej jakości, zapoznaj się z naszym przewodnikiem dotyczącym poprawiania skanów o niskiej jakości.

Jak mogę to wykorzystać do debugowania w środowisku produkcyjnym?

Funkcja podświetlania stanowi doskonałe narzędzie do debugowania w środowisku produkcyjnym. Po zintegrowaniu z tokenami przerwania dla długotrwałych operacji i limitów czasu można stworzyć solidny system diagnostyczny. Rozważ wdrożenie trybu debugowania w swojej aplikacji:

public class OcrDebugger
{
    private readonly IronTesseract _tesseract;
    private readonly bool _debugMode;
    
    public OcrDebugger(bool enableDebugMode = false)
    {
        _tesseract = new IronTesseract();
        _debugMode = enableDebugMode;
    }
    
    public OcrResult ProcessDocument(string filePath)
    {
        using var input = new OcrInput();
        input.LoadPdf(filePath);
        
        // Apply preprocessing
        input.Deskew();
        input.DeNoise();
        
        // Generate debug highlights if in debug mode
        if (_debugMode)
        {
            string debugPath = $"debug_{Path.GetFileNameWithoutExtension(filePath)}_";
            input.HighlightTextAndSaveAsImages(_tesseract, debugPath, ResultHighlightType.Word);
        }
        
        // Perform actual OCR
        return _tesseract.Read(input);
    }
}

Co dalej?

Teraz, gdy już wiesz, jak korzystać z funkcji podświetlania, zapoznaj się z:

Dla zastosowania w produkcji, pamiętaj, aby uzyskać licencję, aby usunąć znaki wodne i mieć pełen dostęp do funkcjonalności.

Często Zadawane Pytania

Jak moge wizualizowac wyniki OCR w mojej aplikacji C#?

IronOCR dostarcza metode HighlightTextAndSaveAsImages, która wizualizuje wyniki OCR poprzez rysowanie ramek wokol wykrytych elementow tekstowych (znakow, slow, linii lub akapitow) i zapisuje je jako obrazy diagnostyczne. Ta funkcja pomaga deweloperom w walidacji dokladnosci OCR i debugowaniu problemow z rozpoznawaniem.

Jaki jest najprostszy sposob na podswietlenie slow w dokumencie PDF?

Z IronOCR mozesz podswietlac slowa w PDF za pomoca jednej linii kodu: new IronOcr.OcrInput().LoadPdf("document.pdf").HighlightTextAndSaveAsImages(new IronOcr.IronTesseract(), "highlight_page_", IronOcr.ResultHighlightType.Word). To laduje PDF i tworzy obrazy z podswietlonymi slowami.

Jakie parametry wymaga metoda HighlightTextAndSaveAsImages?

Metoda HighlightTextAndSaveAsImages w IronOCR wymaga trzech parametrów: instancji silnika OCR IronTesseract, ciagu prefiksu dla nazwy pliku wyjsciowego oraz wartosci enum ResultHighlightType, która okresla jakie elementy tekstowe podswietlic (Character, Word, Line, lub Paragraph).

Jak sa nazwane obrazy wyjsciowe podczas uzywania podswietlania tekstu?

IronOCR automatycznie nazywa obrazy wyjsciowe, laczac podany przez ciebie prefiks z identyfikatorem strony. Na przyklad, jesli uzywasz "highlight_page_" jako prefiksu, metoda generuje pliki nazwane "highlight_page_0", "highlight_page_1", itd., dla kazdej strony twojego dokumentu.

Dlaczego wizualne podswietlenie jest wazne dla rozwoju OCR?

Wizualne podswietlenie w IronOCR dostarcza kluczowych informacji diagnostycznych, pokazujac dokladnie jaki tekst wykryl silnik OCR i gdzie wystepuja potencjalne bledy. Ta wizualna mapa pomaga deweloperom debugowac problemy z rozpoznawaniem, walidowac dokladnosc OCR i rozwiązywać problemy w złożonych dokumentach.

Czy moge podswietlic inne rodzaje elementow tekstowych poza slowami?

Tak, enum ResultHighlightType w IronOCR pozwala ci podswietlic rozne elementy tekstowe, wlaczajac poszczegolne Znaki, Slowa, Linie lub cale Akapity. Wystarczy okreslic pozadany typ podczas wywolania metody HighlightTextAndSaveAsImages, aby zwizualizowac rozne poziomy wykrywania tekstu.

How can I address issues with blank output images in IronOCR?

Ensure the input document contains readable text, and that the OCR engine is configured correctly. You may also need image optimization or orientation adjustments to improve results.

What performance best practices should I follow when using IronOCR highlights?

Manage large highlighted images by ensuring enough available space and consider implementing multithreading for improved speed. Proper error handling should also be in place for file operations.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.

...
Czytaj więcej

Gotowy, aby rozpocząć?

Nuget Downloads 6,236,385Wersja:2026.9właśnie wydany

Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta
Biblioteka C# NuGet dla plików PDF
Zainstaluj za pomocą NuGet

Wersja: 2026.9

PM > Install-Package IronOcr
nuget.org/packages/IronOcr/
  1. W Eksploratorze Rozwiązań, kliknij prawym przyciskiem Myszy na Odwołania, Zarządzaj pakietami NuGet
  2. Wybierz Przeglądaj i szukaj „IronOCR”
  3. Wybierz pakiet i zainstaluj
DLL PDF dla C#
Pobierz DLL

Wersja: 2026.9

lub pobierz Instalator Windows tutaj.

  1. Pobierz i rozpakuj IronOCR do lokalizacji, takiej jak ~/Libs w katalogu Solution
  2. W Eksploratorze rozwiązań Visual Studio kliknij prawym przyciskiem myszy Odwołania. Wybierz Przeglądaj, „IronOCR.dll”

Licencje od 749 USD

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Your trial license will be sent to your email address

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Otrzymaj swoją Konsultację Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta