Jak odczytywać zeskanowane dokumenty w języku C# | IronOCR

Odczytywanie zeskanowanych dokumentów w języku C# przy użyciu IronOCR

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronOCR umożliwia programistom C# wyodrębnianie tekstu ze skanowanych plików PDF i obrazów przy użyciu technologii OCR, przekształcając dokumenty oparte na obrazach, w których nie można wyszukiwać treści, w treści z możliwością wyszukiwania i dostępne za pomocą zaledwie kilku wierszy kodu.

Wiele plików PDF zawiera tekst oparty na obrazach, którego nie można przeszukiwać. IronOCR przekształca to w treść z możliwością wyszukiwania, ułatwiając znalezienie konkretnych informacji i zwiększając dostępność dokumentów, zwłaszcza dla osób z dysfunkcją wzroku.

Zamiast ręcznego kopiowania lub odtwarzania tekstu i obrazów, automatyczne wyodrębnianie zapewnia dokładność i wydajność. Jest to szczególnie przydatne w przypadku badań, dokumentów prawnych i tworzenia treści, gdzie często wykorzystuje się określone fragmenty plików PDF.

Firmy mogą wyodrębniać kluczowe dane z plików PDF w celu analizy lub integracji systemowej, usprawniając przepływ pracy. Projektanci i specjaliści ds. marketingu mogą również wyodrębniać obrazy w celu ich ulepszenia i ponownego wykorzystania w różnych projektach.

W tym samouczku zbadamy metody OcrPdfInput, obejmując dostępne opcje i parametry, aby pokazać, jak IronOCR upraszcza ekstrakcję tekstu i obrazów z plików PDF dla różnych aplikacji.

Aby użyć tej funkcji, należy również zainstalować pakiet IronOcr.Extensions.AdvancedScan.

Szybki start: Wyodrębnianie tekstu ze zeskanowanego pliku PDF lub obrazu

Rozpocznij w kilka sekund—jedną linią kodu załadujesz zeskanowany PDF lub obraz za pomocą OcrInput.LoadPdf lub LoadImage IronOCR i natychmiast wyodrębnisz tekst za pośrednictwem ReadDocument. Idealne rozwiązanie dla programistów, którzy chcą szybko uruchomić OCR.

  1. Install IronOCR with NuGet Package Manager

    PM > Install-Package IronOcr
  2. Skopiuj i uruchom ten fragment kodu.

    var text = new IronOcr.IronTesseract().ReadDocument(new IronOcr.OcrInput().LoadPdf("scanned.pdf")).Text;
  3. Wdrożenie do testowania w środowisku produkcyjnym

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

    arrow pointer

Jak wyodrębnić tekst ze skanowanych dokumentów?

Aby wyodrębnić tekst ze wszystkich obrazów w dokumencie, użyj metody ReadDocument. Ta metoda przetwarza dokument i zwraca obiekt zawierający wyodrębniony tekst, do którego można uzyskać dostęp za pośrednictwem właściwości Text. Poniższy przykład pokazuje, jak użyć tej metody na przykładowym pliku TIFF.

IronOCR obsługuje szeroką gamę formatów dokumentów do skanowania. W przypadku obrazów można pracować z formatami JPG, PNG, GIF, TIFF i BMP, natomiast obsługa plików PDF obejmuje zarówno dokumenty jedno-, jak i wielostronicowe. Biblioteka wykorzystuje zaawansowaną technologię Tesseract 5, aby zapewnić wysoką dokładność we wszystkich obsługiwanych formatach.

Zwróć uwagę

  • Metoda ta działa obecnie tylko w przypadku języków angielskiego, chińskiego, japońskiego, koreańskiego oraz alfabetu łacińskiego.
  • Korzystanie z zaawansowanego skanowania w środowisku .NET Framework wymaga, aby projekt działał na architekturze x64.
    )}]

Jak wygląda dokument źródłowy?

Strona z książki o Harrym Potterze pokazująca Rozdział Ósmy 'Przyjęcie Śmierciożercy' z opisowym tekstem o Hogwarcie w październiku

Jak zaimplementować kod OCR?

:path=/static-assets/ocr/content-code-examples/how-to/read-scanned-document-read-scanned-document.cs
using IronOcr;
using System;

// Instantiate OCR engine
var ocr = new IronTesseract();

// Configure OCR engine
using var input = new OcrInput();
input.LoadImage("potter.tiff");

// Perform OCR
OcrResult result = ocr.ReadDocument(input);

Console.WriteLine(result.Text);
Imports IronOcr
Imports System

' Instantiate OCR engine
Private ocr = New IronTesseract()

' Configure OCR engine
Private input = New OcrInput()
input.LoadImage("potter.tiff")

' Perform OCR
Dim result As OcrResult = ocr.ReadDocument(input)

Console.WriteLine(result.Text)
$vbLabelText   $csharpLabel

Jakich wyników mogę oczekiwać po przetworzeniu OCR?

Okno debugowania Visual Studio wyświetlające wyniki przetwarzania OCR tekstu z przykładu zeskanowanego dokumentu o Harrym Potterze

Jeśli konieczne jest wykonanie OCR na pliku PDF, wystarczy zastąpić metodę LoadImage metodą LoadPdf. Dzięki temu IronOCR może przetwarzać i wyodrębniać tekst ze skanowanych plików PDF w ten sam sposób.

Zaawansowane opcje przetwarzania dokumentów

Podczas pracy ze skanowanymi dokumentami często potrzebna jest większa kontrola nad procesem OCR. IronOCR oferuje kilka zaawansowanych funkcji, które poprawiają wyniki ekstrakcji tekstu.

Przetwarzanie dokumentów wielostronicowych

W przypadku dokumentów wielostronicowych IronOCR sprawnie obsługuje przetwarzanie wsadowe:

using IronOcr;

var ocr = new IronTesseract();
using var input = new OcrInput();

// Load a multi-page PDF
input.LoadPdf("multi-page-document.pdf");

// Process all pages
OcrResult result = ocr.ReadDocument(input);

// Access individual page results
foreach (var page in result.Pages)
{
    Console.WriteLine($"Page {page.PageNumber}: {page.Text}");
}
using IronOcr;

var ocr = new IronTesseract();
using var input = new OcrInput();

// Load a multi-page PDF
input.LoadPdf("multi-page-document.pdf");

// Process all pages
OcrResult result = ocr.ReadDocument(input);

// Access individual page results
foreach (var page in result.Pages)
{
    Console.WriteLine($"Page {page.PageNumber}: {page.Text}");
}
Imports IronOcr

Dim ocr As New IronTesseract()
Using input As New OcrInput()

    ' Load a multi-page PDF
    input.LoadPdf("multi-page-document.pdf")

    ' Process all pages
    Dim result As OcrResult = ocr.ReadDocument(input)

    ' Access individual page results
    For Each page In result.Pages
        Console.WriteLine($"Page {page.PageNumber}: {page.Text}")
    Next

End Using
$vbLabelText   $csharpLabel

Optymalizacja wydajności OCR

Jakość zeskanowanych dokumentów ma bezpośredni wpływ na dokładność OCR. IronOCR zawiera wbudowane filtry optymalizacji obrazów, które poprawiają rozpoznawanie tekstu:

using IronOcr;

var ocr = new IronTesseract();
using var input = new OcrInput();

// Load and enhance image quality
input.LoadImage("low-quality-scan.jpg");
input.Deskew();  // Correct image skew
input.DeNoise(); // Remove background noise
input.Binarize(); // Convert to black and white

OcrResult result = ocr.ReadDocument(input);
using IronOcr;

var ocr = new IronTesseract();
using var input = new OcrInput();

// Load and enhance image quality
input.LoadImage("low-quality-scan.jpg");
input.Deskew();  // Correct image skew
input.DeNoise(); // Remove background noise
input.Binarize(); // Convert to black and white

OcrResult result = ocr.ReadDocument(input);
Imports IronOcr

Dim ocr As New IronTesseract()
Using input As New OcrInput()
    ' Load and enhance image quality
    input.LoadImage("low-quality-scan.jpg")
    input.Deskew()  ' Correct image skew
    input.DeNoise() ' Remove background noise
    input.Binarize() ' Convert to black and white

    Dim result As OcrResult = ocr.ReadDocument(input)
End Using
$vbLabelText   $csharpLabel

Tworzenie plików PDF z możliwością wyszukiwania

Jedną z najbardziej wartościowych funkcji podczas przetwarzania zeskanowanych dokumentów jest możliwość tworzenia plików PDF z funkcją wyszukiwania. Pozwala to zachować wygląd oryginalnego dokumentu, dodając jednocześnie warstwę tekstową:

using IronOcr;

var ocr = new IronTesseract();
using var input = new OcrInput();
input.LoadPdf("scanned-document.pdf");

// Process and save as searchable PDF
OcrResult result = ocr.ReadDocument(input);
result.SaveAsSearchablePdf("searchable-output.pdf");
using IronOcr;

var ocr = new IronTesseract();
using var input = new OcrInput();
input.LoadPdf("scanned-document.pdf");

// Process and save as searchable PDF
OcrResult result = ocr.ReadDocument(input);
result.SaveAsSearchablePdf("searchable-output.pdf");
Imports IronOcr

Dim ocr As New IronTesseract()
Using input As New OcrInput()
    input.LoadPdf("scanned-document.pdf")

    ' Process and save as searchable PDF
    Dim result As OcrResult = ocr.ReadDocument(input)
    result.SaveAsSearchablePdf("searchable-output.pdf")
End Using
$vbLabelText   $csharpLabel

Praca z różnymi typami dokumentów

IronOCR doskonale radzi sobie z przetwarzaniem różnych typów dokumentów powszechnie spotykanych w środowiskach biznesowych. Niezależnie od tego, czy masz do czynienia z fakturami, umowami czy dokumentami historycznymi, biblioteka oferuje specjalistyczne funkcje do pozyskiwania danych z różnych źródeł.

Przetwarzanie starszych dokumentów

Wiele organizacji posiada archiwa zeskanowanych dokumentów w starszych formatach. IronOCR radzi sobie z tymi zadaniami skutecznie, oferując między innymi obsługę wielostronicowych plików TIFF, powszechnie stosowanych w systemach zarządzania dokumentami.

Obsługa języków

Chociaż ten przykład skupia się na tekście angielskim, IronOCR obsługuje ponad 125 języków międzynarodowych. Dzięki temu idealnie nadaje się do przetwarzania dokumentów wielojęzycznych lub dokumentów w językach innych niż angielski.

Najlepsze praktyki dotyczące skanowania dokumentów

Aby uzyskać optymalne wyniki podczas przetwarzania zeskanowanych dokumentów:

  1. Jakość skanowania: Aby uzyskać najlepsze wyniki, należy używać rozdzielczości co najmniej 300 DPI
  2. Format pliku: Formaty TIFF i PNG lepiej zachowują jakość niż JPEG w przypadku dokumentów tekstowych
  3. Przetwarzanie wstępne: zastosuj odpowiednie filtry w zależności od stanu dokumentu
  4. Wydajność: W przypadku dużych partii warto rozważyć wykorzystanie możliwości wielowątkowości

Rozwiązywanie typowych problemów

Podczas pracy ze skanowanymi dokumentami możesz napotkać różne wyzwania. Oto rozwiązania typowych problemów:

  • Skanowanie niskiej jakości: przed przetwarzaniem OCR zastosuj filtry poprawiające jakość obrazu
  • Przekrzywione dokumenty: Użyj metody Deskew(), aby skorygować orientację
  • Treści mieszane: przetwarzaj określone obszary, jeśli dokumenty zawierają zarówno elementy tekstowe, jak i nietekstowe

Aby uzyskać bardziej szczegółowe wskazówki, zapoznaj się z naszym obszernym samouczkiem dotyczącym OCR w języku C# lub sprawdź proste przykłady OCR, które pomogą Ci szybko rozpocząć pracę.

Kolejne kroki

Teraz, gdy już wiesz, jak wyodrębnić tekst ze skanowanych dokumentów, możesz zapoznać się z bardziej zaawansowanymi funkcjami, takimi jak umożliwienie przeszukiwania dowolnego pliku PDF lub przetwarzanie strumieni PDF dla aplikacji internetowych. Elastyczność IronOCR sprawia, że nadaje się on do wszystkiego, od prostej digitalizacji dokumentów po złożone procesy przetwarzania dokumentów w Enterprise.

Często Zadawane Pytania

Jak wyodrębnić tekst z zeskanowanego PDF w C#?

IronOCR ułatwia wyodrębnianie tekstu z zeskanowanych plików PDF w C#. Użyj metody LoadPdf, aby zaimportować swój zeskanowany PDF, a potem wywołaj ReadDocument, aby wydobyć tekst. Na przykład: var text = new IronOcr.IronTesseract().ReadDocument(new IronOcr.OcrInput().LoadPdf("scanned.pdf")).Text; Ta pojedyncza linijka kodu ładuje Twój PDF i wyodrębnia całą zawartość tekstową.

Jakie formaty plików obsługuje biblioteka OCR do wyodrębniania tekstu?

IronOCR obsługuje kompleksowy zakres formatów dokumentów do skanowania OCR. Dla obrazów działa z formatami JPG, PNG, GIF, TIFF i BMP. Dla plików PDF obsługuje zarówno dokumenty jedno- jak i wielostronicowe. Biblioteka wykorzystuje zaawansowaną technologię Tesseract 5, aby zapewnić wysoką dokładność we wszystkich obsługiwanych formatach.

Czy muszę zainstalować dodatkowe pakiety, aby skorzystać z funkcjonalności OCR?

Tak, aby móc korzystać z pełnej funkcjonalności OCR z IronOCR, musisz zainstalować pakiet IronOcr.Extensions.AdvancedScan oprócz głównej biblioteki IronOCR. Ten pakiet rozszerzający zapewnia zaawansowane możliwości skanowania do przetwarzania zeskanowanych dokumentów.

Czy mogę wyodrębniać tekst zarówno z zeskanowanych obrazów, jak i plików PDF?

Tak, IronOCR radzi sobie zarówno z zeskanowanymi obrazami, jak i plikami PDF w równym stopniu. Użyj metody LoadImage dla plików graficznych (JPG, PNG, GIF, TIFF, BMP) lub LoadPdf dla dokumentów PDF. Metoda ReadDocument działa z obiema typami wejściowymi do wyodrębniania treści tekstowej.

W jaki sposób OCR pomaga z dokumentami PDF, które nie są przeszukiwalne?

IronOCR konwertuje nieprzeszukiwalne, oparte na obrazach PDF-y na treści przeszukiwalne poprzez wyodrębnienie tekstu przy użyciu technologii OCR. Ta transformacja ułatwia lokalizowanie konkretnych informacji w dokumentach oraz znacznie zwiększa dostępność dokumentów, szczególnie dla osób z zaburzeniami wzroku.

Jakie są główne aplikacje biznesowe do wyodrębniania tekstu metodą OCR?

IronOCR umożliwia firmom wyodrębnianie kluczowych danych z PDF-ów do analizy i integracji z systemami, usprawniając przepływy pracy. Jest szczególnie przydatny do przetwarzania dokumentów prawnych, publikacji naukowych oraz automatyzacji wprowadzania danych. Projektanci i marketerzy mogą również wyodrębniać obrazy do ulepszania i ponownego wykorzystania w różnych projektach.

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ę...

Czytaj więcej
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 5,571,678 | Wersja: 2026.4 just released
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu? PM > Install-Package IronOcr
uruchom próbkę obserwuj, jak twój obraz staje się tekstem z możliwością wyszukiwania.