Get Started with OCR in C# and VB.NET

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

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
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:

  • Windows: </https:>
  • Linux: </https:>
  • macOS: </https:>
  • macOS (ARM): </https:>

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)

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.Co/nfiguration
    • 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.Com/mon 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.Co/nfiguration
    • 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.Com/mon 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

:path=/static-assets/ocr/content-code-examples/get-started/get-started-1.cs
string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;
Dim Text As String = (New IronTesseract()).Read("img\Screenshot.png").Text
$vbLabelText   $csharpLabel

Konfigurowalny Hello World

:path=/static-assets/ocr/content-code-examples/get-started/get-started-2.cs
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);
Imports IronOcr

Private ocr As New IronTesseract()
Private OcrInput As using

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

Dim result As OcrResult = ocr.Read(input)
Console.WriteLine(result.Text)
$vbLabelText   $csharpLabel

C# PDF OCR

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

:path=/static-assets/ocr/content-code-examples/get-started/get-started-3.cs
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");
Imports IronOcr

Private ocr As New IronTesseract()
Private OcrInput As using

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

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

' 1 page for every page of the PDF
Console.WriteLine($"{result.Pages.Length} Pages")
$vbLabelText   $csharpLabel

OCR dla wielostronicowych plików TIFF

:path=/static-assets/ocr/content-code-examples/get-started/get-started-4.cs
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);
Imports IronOcr

Private ocr As New IronTesseract()
Private OcrInput As using
Private pageindices = New Integer() { 1, 2 }
input.LoadImageFrames("multi-frame.tiff", pageindices)
Dim result As OcrResult = ocr.Read(input)
Console.WriteLine(result.Text)
$vbLabelText   $csharpLabel

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.

:path=/static-assets/ocr/content-code-examples/get-started/get-started-5.cs
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);
}
Imports IronOcr

Private ocr As New IronTesseract()
ocr.Configuration.ReadBarCodes = True

Using input As New OcrInput()
	input.LoadImage("img/Barcode.png")
	
	Dim Result As OcrResult = ocr.Read(input)
	For Each Barcode In Result.Barcodes
		' type and location properties also exposed
		Console.WriteLine(Barcode.Value)
	Next Barcode
End Using
$vbLabelText   $csharpLabel

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.

:path=/static-assets/ocr/content-code-examples/get-started/get-started-6.cs
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);
Imports IronOcr

Private ocr As New IronTesseract()
Private OcrInput As using

' Dimensions are in pixel
Private contentArea = New System.Drawing.Rectangle() With {
	.X = 215,
	.Y = 1250,
	.Height = 280,
	.Width = 1335
}

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

Dim result As OcrResult = ocr.Read(input)
Console.WriteLine(result.Text)
$vbLabelText   $csharpLabel

OCR dla skanów niskiej jakości

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

:path=/static-assets/ocr/content-code-examples/get-started/get-started-7.cs
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);
Imports IronOcr

Private ocr As New IronTesseract()
Private OcrInput As using
Private pageindices = New Integer() { 1, 2 }
input.LoadImageFrames("img\Potter.tiff", pageindices)

' fixes digital noise and poor scanning
input.DeNoise()

' fixes rotation and perspective
input.Deskew()

Dim result As OcrResult = ocr.Read(input)
Console.WriteLine(result.Text)
$vbLabelText   $csharpLabel

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

:path=/static-assets/ocr/content-code-examples/get-started/get-started-8.cs
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");
Imports IronOcr

Private ocr As New IronTesseract()
Private OcrInput As using
input.Title = "Quarterly Report"
input.LoadImage("image1.jpeg")
input.LoadImage("image2.png")
Dim pageindices = New Integer() { 1, 2 }
input.LoadImageFrames("image3.gif", pageindices)

Dim result As OcrResult = ocr.Read(input)
result.SaveAsSearchablePdf("searchable.pdf")
$vbLabelText   $csharpLabel

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

:path=/static-assets/ocr/content-code-examples/get-started/get-started-9.cs
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");
Imports IronOcr

Private ocr As New IronTesseract()
Private OcrInput As using
Private pageindices = New Integer() { 1, 2 }
input.LoadImageFrames("example.tiff", pageindices)
ocr.Read(input).SaveAsSearchablePdf("searchable.pdf")
$vbLabelText   $csharpLabel

Eksportuj wyniki OCR jako HTML

:path=/static-assets/ocr/content-code-examples/get-started/get-started-10.cs
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");
Imports IronOcr

Private ocr As New IronTesseract()
Private OcrInput As using
input.Title = "Html Title"
input.LoadImage("image1.jpeg")

Dim Result As OcrResult = ocr.Read(input)
Result.SaveAsHocrFile("results.html")
$vbLabelText   $csharpLabel

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

:path=/static-assets/ocr/content-code-examples/get-started/get-started-11.cs
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);
Imports IronOcr

Private ocr As New IronTesseract()
Private OcrInput As using
input.LoadImage("LowQuality.jpeg")

' fixes digital noise and poor scanning
input.DeNoise()

' fixes rotation and perspective
input.Deskew()

Dim result As OcrResult = ocr.Read(input)
Console.WriteLine(result.Text)
$vbLabelText   $csharpLabel

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.Co/ntrast() - 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

// Reference to the path of the source file that demonstrates setting language packs for OCR
:path=/static-assets/ocr/content-code-examples/get-started/get-started-12.cs
// Reference to the path of the source file that demonstrates setting language packs for OCR
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");
' Reference to the path of the source file that demonstrates setting language packs for OCR
Imports IronOcr

' PM> Install IronOcr.Languages.Arabic
Private ocr As New IronTesseract()
ocr.Language = OcrLanguage.Arabic

Using input As New OcrInput()
	
	Dim pageindices = New Integer() { 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.
	Dim result As OcrResult = ocr.Read(input)
	' Console can't print Arabic on Windows easily.
	' Let's save to disk instead.
	result.SaveAsTextFile("arabic.txt")
End Using
$vbLabelText   $csharpLabel

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.

// Reference to the path of the source file that demonstrates multi-language OCR
:path=/static-assets/ocr/content-code-examples/get-started/get-started-13.cs
// Reference to the path of the source file that demonstrates multi-language OCR
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");
' Reference to the path of the source file that demonstrates multi-language OCR
Imports IronOcr

' PM> Install IronOcr.Languages.ChineseSimplified
Private ocr As New IronTesseract()
ocr.Language = OcrLanguage.ChineseSimplified

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

Using input As New OcrInput()
	input.LoadPdf("multi-language.pdf")
	Dim result As OcrResult = ocr.Read(input)
	result.SaveAsTextFile("results.txt")
End Using
$vbLabelText   $csharpLabel

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.

// Reference to the path of the source file demonstrating detailed OCR result object usage
:path=/static-assets/ocr/content-code-examples/get-started/get-started-14.cs
// Reference to the path of the source file demonstrating detailed OCR result object usage
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
' Reference to the path of the source file demonstrating detailed OCR result object usage
Imports IronOcr

Private ocr As New IronTesseract()

' Must be set to true to read barcode
ocr.Configuration.ReadBarCodes = True
Using input As New OcrInput()
	Dim pageindices = New Integer() { 1, 2 }
	input.LoadImageFrames("img\sample.tiff", pageindices)
	
	Dim result As OcrResult = ocr.Read(input)
	Dim pages = result.Pages
	Dim words = pages(0).Words
	Dim barcodes = result.Barcodes
	' Explore here to find a massive, detailed API:
	' - Pages, Blocks, Paraphaphs, Lines, Words, Chars
	' - Image Export, Fonts Coordinates, Statistical Data, Tables
End Using
$vbLabelText   $csharpLabel

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

Czytaj więcej
Sprawdzone przez
Jeff Fritz
Jeffrey T. Fritz
Główny Menedżer Programu - Zespół .NET Community
Jeff jest również Głównym Menedżerem Programu dla zespołów .NET i Visual Studio. Jest producentem wykonawczym wirtualnej serii konferencji .NET Conf i prowadzi 'Fritz and Friends', transmisję na żywo dla deweloperów emitowaną dwa razy w tygodniu, gdzie rozmawia o technologii i pisze kod razem z widzami. Jeff pisze warsztaty, prezentacje i planuje treści dla największych wydarzeń Microsoft dla deweloperów, w tym Microsoft Build, Microsoft Ignite, .NET Conf i Microsoft MVP Summit.
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 5,896,332 | Wersja: 2026.5 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.