IRONSOFTWAREHOME

Get Started with OCR in C# and VB.NET

Curtis Chau
Curtis Chau
Updated: 22 kwietnia 2026

IronOCR to biblioteka oprogramowania w języku C#, umożliwiająca programistom platformy .NET rozpoznawanie i odczytywanie tekstu z obrazów oraz dokumentów PDF. Jest to biblioteka OCR oparta wyłącznie na platformie .NET, wykorzystująca najbardziej zaawansowany silnik Tesseract znany na rynku.

Instalacja

Zainstaluj za pomocą menedżera pakietów NuGet

Zainstaluj IronOCR w Visual Studio lub z wiersza poleceń za pomocą menedżera pakietów NuGet. W programie Visual Studio przejdź do konsoli za pomocą:

  • Narzędzia ->
  • Menedżer pakietów NuGet ->
  • Konsola menedżera pakietów

PM > Install-Package IronOcr

Więcej informacji na temat aktualizacji wersji i instalacji można znaleźć w sekcji IronOCR na NuGet.

Dostępne są również inne pakiety IronOCR NuGet dla różnych platform:

IronOcr.Extensions.AdvancedScan dla systemów Linux i macOS

Ten pakiet jest przeznaczony dla użytkowników korzystających z systemów Linux i Mac, którzy chcą również korzystać z zaawansowanych funkcji IronOCR.

Rozwiązywanie problemów

Wraz z nową aktualizacją tego pakietu, IronOCR łączy zależności OpenCV w ramach pakietu, aby go usprawnić, tak więc jeśli programiści importujący obecnie zależności OpenCV otrzymają następujący błąd.

The type of namespace name `OpenCvSharp` could not be found(are you missing a using directive or an assembly reference)
Text

Możesz spokojnie usunąć przestrzenie nazw OpenCV, a problem zostanie rozwiązany.

Pobierz plik .ZIP IronOCR

Możesz również pobrać IronOCR w pliku .ZIP. Kliknij, aby bezpośrednio pobrać plik DLL. Po pobraniu pliku ZIP:

Instrukcje dotyczące instalacji .NET Framework 4.0+:

  • Dodaj plik IronOcr.dll z folderu net40 do swojego projektu

  • Następnie dodaj odwołania do bibliotek Assembly do:

    • System.Configuration
    • System.Drawing
    • System.Web

Instrukcje dotyczące .NET Standard, .NET Core 2.0+ i .NET 5

  • Dodaj plik IronOcr.dll z folderu netstandard2.0 do swojego projektu

  • Następnie dodaj odwołanie do pakietu NuGet do:

    • System.Drawing.Common 4.7 lub nowszy

Pobierz instalator IronOCR (tylko dla systemu Windows)

Inną opcją jest pobranie naszego instalatora IronOCR, który zainstaluje wszystkie zasoby niezbędne do natychmiastowego działania IronOCR. Należy pamiętać, że ta opcja jest dostępna wyłącznie dla systemów Windows. Aby pobrać instalator, kliknij tutaj. Po pobraniu pliku ZIP:

Instrukcje dotyczące instalacji .NET Framework 4.0+:

  • Dodaj plik IronOcr.dll z folderu net40 do swojego projektu

  • Następnie dodaj odwołania do bibliotek Assembly do:

    • System.Configuration
    • System.Drawing
    • System.Web

Instrukcje dotyczące .NET Standard, .NET Core 2.0+ i .NET 5

  • Dodaj plik IronOcr.dll z folderu netstandard2.0 do swojego projektu

  • Następnie dodaj odwołanie do pakietu NuGet do:

    • System.Drawing.Common 4.7 lub nowszy

Dlaczego warto wybrać IronOCR?

IronOCR to łatwa w instalacji, kompletna i dobrze udokumentowana biblioteka oprogramowania .NET.

Wybierz IronOCR, aby osiągnąć dokładność OCR na poziomie 99,8% bez korzystania z zewnętrznych usług internetowych, ponoszenia stałych opłat lub przesyłania poufnych dokumentów przez Internet.

Dlaczego programiści C# wybierają IronOCR zamiast Vanilla Tesseract:

  • Zainstaluj jako pojedynczy plik DLL lub NuGet
  • Zawiera gotowe do użycia silniki Tesseract 5, 4 i 3.
  • Dokładność na poziomie 99,8% znacznie przewyższa wyniki standardowego Tesseracta.
  • Ogromna szybkość i wielowątkowość
  • Kompatybilność z aplikacjami MVC, WebApp, Desktop, Console i Server
  • Nie ma plików Exe ani kodu C++ do pracy
  • Pełna obsługa OCR plików PDF
  • Przeprowadź OCR na niemal każdym pliku graficznym lub PDF
  • Pełna obsługa .NET Core, .NET Standard i Framework
  • Wdrażaj na Windows, Mac, Linux, Azure, Docker, Lambda, AWS
  • Odczytuj kody kreskowe i kody QR
  • Eksportuj wyniki OCR jako XHTML
  • Eksportuj OCR do dokumentów PDF z możliwością wyszukiwania
  • Obsługa wielowątkowości
  • 125 języków międzynarodowych, zarządzanych za pośrednictwem plików NuGet lub OcrData
  • Pobieraj obrazy, współrzędne, statystyki i czcionki. Nie tylko tekst.
  • Może być wykorzystywane do redystrybucji OCR Tesseract w ramach komercyjnych i zastrzeżonych aplikacji.

IronOCR sprawdza się doskonale podczas pracy z rzeczywistymi obrazami i niedoskonałymi dokumentami, takimi jak zdjęcia lub skany o niskiej rozdzielczości, które mogą zawierać szumy cyfrowe lub niedoskonałości.

Inne bezpłatne biblioteki OCR dla platformy .NET, takie jak inne interfejsy API .NET Tesseract i usługi internetowe, nie sprawdzają się tak dobrze w tych rzeczywistych przypadkach użycia.

OCR with Tesseract 5 - Start Coding in C#

Poniższy przykład kodu pokazuje, jak łatwo odczytać tekst z obrazu przy użyciu języka C# lub VB .NET.

OneLiner

string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;

Konfigurowalny Hello World

using IronOcr;

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

// Add multiple images
input.LoadImage("images/sample.jpeg");

OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);

C# PDF OCR

To samo podejście można wykorzystać do wyodrębniania tekstu z dowolnego dokumentu PDF.

using IronOcr;

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

// We can also select specific PDF page numbers to OCR
input.LoadPdf("example.pdf", Password: "password");

OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);

// 1 page for every page of the PDF
Console.WriteLine($"{result.Pages.Length} Pages");

OCR dla wielostronicowych plików TIFF

using IronOcr;

IronTesseract ocr = new IronTesseract();
using OcrInput input = new OcrInput();
var pageindices = new int[] { 1, 2 };
input.LoadImageFrames("multi-frame.tiff", pageindices);
OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);

BarCode i QR

Unikalną cechą IronOCR jest możliwość odczytywania kodów kreskowych i kodów QR z dokumentów podczas skanowania tekstu. Instancje klasy OcrResult.OcrBarcode dostarczają programistom szczegółowych informacji o każdym zeskanowanym BARCODE-ie.

using IronOcr;

IronTesseract ocr = new IronTesseract();
ocr.Configuration.ReadBarCodes = true;

using OcrInput input = new OcrInput();
input.LoadImage("img/Barcode.png");

OcrResult Result = ocr.Read(input);
foreach (var Barcode in Result.Barcodes)
{
    // type and location properties also exposed
    Console.WriteLine(Barcode.Value);
}

OCR w określonych obszarach obrazów

Wszystkie metody skanowania i odczytu IronOCR dają możliwość dokładnego określenia, z której części strony lub stron chcemy odczytać tekst. Jest to bardzo przydatne w przypadku standardowych formularzy i pozwala zaoszczędzić dużo czasu oraz zwiększyć wydajność.

Aby korzystać z obszarów przycięcia, musimy dodać odwołanie systemowe do System.Drawing, abyśmy mogli używać obiektu System.Drawing.Rectangle.

using IronOcr;

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

// Dimensions are in pixel
var contentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };

input.LoadImage("document.png", contentArea);

OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);

OCR dla skanów niskiej jakości

Klasa IronOCR OcrInput może naprawić skany, których zwykły Tesseract nie jest w stanie odczytać.

using IronOcr;

IronTesseract ocr = new IronTesseract();
using OcrInput input = new OcrInput();
var pageindices = new int[] { 1, 2 };
input.LoadImageFrames(@"img\Potter.tiff", pageindices);

// fixes digital noise and poor scanning
input.DeNoise();

// fixes rotation and perspective
input.Deskew();

OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);

Eksportuj wyniki OCR jako plik PDF z możliwością wyszukiwania

using IronOcr;

IronTesseract ocr = new IronTesseract();
using OcrInput input = new OcrInput();
input.Title = "Quarterly Report";
input.LoadImage("image1.jpeg");
input.LoadImage("image2.png");
var pageindices = new int[] { 1, 2 };
input.LoadImageFrames("image3.gif", pageindices);

OcrResult result = ocr.Read(input);
result.SaveAsSearchablePdf("searchable.pdf");

Konwersja plików TIFF do formatu PDF z możliwością wyszukiwania

using IronOcr;

IronTesseract ocr = new IronTesseract();
using OcrInput input = new OcrInput();
var pageindices = new int[] { 1, 2 };
input.LoadImageFrames("example.tiff", pageindices);
ocr.Read(input).SaveAsSearchablePdf("searchable.pdf");

Eksportuj wyniki OCR jako HTML

using IronOcr;

IronTesseract ocr = new IronTesseract();
using OcrInput input = new OcrInput();
input.Title = "Html Title";
input.LoadImage("image1.jpeg");

OcrResult Result = ocr.Read(input);
Result.SaveAsHocrFile("results.html");

Filtry poprawiające jakość obrazów OCR

IronOCR udostępnia unikalne filtry dla obiektów OcrInput w celu poprawy wydajności OCR.

Przykład kodu poprawiającego jakość obrazu

using IronOcr;

IronTesseract ocr = new IronTesseract();
using OcrInput input = new OcrInput();
input.LoadImage("LowQuality.jpeg");

// fixes digital noise and poor scanning
input.DeNoise();

// fixes rotation and perspective
input.Deskew();

OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);

Lista filtrów obrazów OCR

Filtry wejściowe zwiększające wydajność OCR, wbudowane w IronOCR, obejmują:

  • OcrInput.Rotate(double degrees) - Obraca obrazy o określoną liczbę stopni w prawo. Aby obrócić w lewo, należy użyć liczb ujemnych.
  • OcrInput.Binarize() - Filtr ten zamienia każdy piksel na czarny lub biały bez odcieni pośrednich, co może poprawić wydajność OCR w przypadku obrazów o bardzo niskim kontraście.
  • OcrInput.ToGrayScale() - Konwertuje każdy piksel na odcień skali szarości. Może to nie poprawić dokładności, ale może zwiększyć szybkość.
  • OcrInput.Contrast() - Automatycznie zwiększa kontrast, często poprawiając szybkość i dokładność skanowania przy niskim kontraście.
  • OcrInput.DeNoise() - Usuwa szum cyfrowy, zalecane tylko wtedy, gdy spodziewany jest szum.
  • OcrInput.Invert() - Odwraca wszystkie kolory (biały staje się czarny i odwrotnie).
  • OcrInput.Dilate() - Poszerza morfologię, dodaje piksele do granic obiektów, przeciwieństwo funkcji Erode.
  • OcrInput.Erode() - Poszerza morfologię, usuwa piksele z granic obiektów, przeciwieństwo operacji Dilate.
  • OcrInput.Deskew() - Obraca obraz, aby ustawić go we właściwym kierunku. Przydatne, ponieważ tolerancja Tesseract na przekrzywienie jest ograniczona.
  • OcrInput.EnhanceResolution - Poprawia rozdzielczość obrazów o niskiej jakości. To ustawienie jest zazwyczaj używane do automatycznego zarządzania danymi wejściowymi o niskiej rozdzielczości (DPI).
  • EnhanceResolution wykrywa obrazy o niskiej rozdzielczości (poniżej 275 dpi), zwiększa ich rozdzielczość i wyostrza tekst, aby uzyskać lepsze wyniki OCR. Chociaż jest to czasochłonne, często skraca to ogólny czas działania OCR.
  • Language - Obsługuje wybór spośród 22 międzynarodowych pakietów językowych.
  • Strategy - Umożliwia wybór między strategią szybką, ale mniej dokładną, a strategią zaawansowaną (wykorzystującą sztuczną inteligencję w celu zapewnienia dokładności) w oparciu o statystyczne powiązania między słowami.
  • ColorSpace - Wybierz OCR w skali szarości lub w kolorze; Skala szarości jest zazwyczaj optymalna, choć w niektórych sytuacjach wymagających kontrastu lepszym rozwiązaniem może być kolor.
  • DetectWhiteTextOnDarkBackgrounds - Dostosowuje się do obrazów o odwróconych kolorach, automatycznie wykrywając i odczytując biały tekst na ciemnym tle.
  • InputImageType - Kieruje biblioteką OCR, określając, czy pracuje ona na całym dokumencie, czy na fragmencie.
  • RotateAndStraighten - Umożliwia IronOCR prawidłową obsługę dokumentów, które są obrócone lub zniekształcone perspektywicznie.
  • ReadBarcodes - Automatycznie odczytuje kody BarCode i kody QR równocześnie ze skanowaniem tekstu bez znaczącego wydłużenia czasu.
  • ColorDepth - Określa liczbę bitów na piksel dla głębi kolorów w procesie OCR. Większa szczegółowość może podnieść jakość, ale też wydłużyć czas przetwarzania.

125 pakietów językowych

IronOCR obsługuje 125 języków międzynarodowych za pośrednictwem pakietów językowych, które są dystrybuowane jako biblioteki DLL i dostępne do pobrania z tej strony internetowej lub z menedżera pakietów NuGet.

Języki obejmują między innymi niemiecki, francuski, angielski, chiński i japoński. Dostępne są specjalistyczne pakiety językowe dla MRZ, czeków MICR, danych finansowych, tablic rejestracyjnych itp. Dodatkowo można używać niestandardowych plików Tesseract ".traineddata".

Przykład języka

using IronOcr;

// PM> Install IronOcr.Languages.Arabic
IronTesseract ocr = new IronTesseract();
ocr.Language = OcrLanguage.Arabic;

using OcrInput input = new OcrInput();

var pageindices = new int[] { 1, 2 };
input.LoadImageFrames("img/arabic.gif", pageindices);
// Add image filters if needed
// In this case, even thought input is very low quality
// IronTesseract can read what conventional Tesseract cannot.
OcrResult result = ocr.Read(input);
// Console can't print Arabic on Windows easily.
// Let's save to disk instead.
result.SaveAsTextFile("arabic.txt");

Przykład wielojęzyczny

Możliwe jest również korzystanie z OCR w wielu językach jednocześnie. Może to poprawić rozpoznawanie angielskich metadanych i adresów URL w dokumentach Unicode.

using IronOcr;

// PM> Install IronOcr.Languages.ChineseSimplified
IronTesseract ocr = new IronTesseract();
ocr.Language = OcrLanguage.ChineseSimplified;

// We can add any number of languages
ocr.AddSecondaryLanguage(OcrLanguage.English);

using OcrInput input = new OcrInput();
input.LoadPdf("multi-language.pdf");
OcrResult result = ocr.Read(input);
result.SaveAsTextFile("results.txt");

Szczegółowe wyniki OCR Obiekty

IronOCR zwraca obiekt wyniku OCR dla każdej operacji. Zazwyczaj programiści korzystają z właściwości Text, aby uzyskać zeskanowany tekst. Jednak obiekt wyników zawiera znacznie bardziej szczegółowe informacje.

using IronOcr;

IronTesseract ocr = new IronTesseract();

// Must be set to true to read barcode
ocr.Configuration.ReadBarCodes = true;
using OcrInput input = new OcrInput();
var pageindices = new int[] { 1, 2 };
input.LoadImageFrames(@"img\sample.tiff", pageindices);

OcrResult result = ocr.Read(input);
var pages = result.Pages;
var words = pages[0].Words;
var barcodes = result.Barcodes;
// Explore here to find a massive, detailed API:
// - Pages, Blocks, Paraphaphs, Lines, Words, Chars
// - Image Export, Fonts Coordinates, Statistical Data, Tables

Wydajność

IronOCR działa od razu po uruchomieniu, bez konieczności dostosowywania wydajności lub modyfikacji obrazów.

Szybkość jest niesamowita: IronOCR.2020+ działa nawet 10 razy szybciej i popełnia o ponad 250% mniej błędów niż poprzednie wersje.

Dowiedz się więcej

Aby dowiedzieć się więcej o OCR w C#, VB, F# lub innym języku .NET, przeczytaj nasze samouczki społecznościowe, które zawierają praktyczne przykłady wykorzystania IronOCR i pokazują niuanse optymalizacji biblioteki IronOCR.

Dostępna jest również pełna dokumentacja API dla programistów .NET.

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