Przetestuj w produkcji bez znaków wodnych.
Działa tam, gdzie tego potrzebujesz.
Uzyskaj 30 dni pełni funkcjonalnego produktu.
Uruchom w ciągu kilku minut.
Pełny dostęp do naszego zespołu wsparcia technicznego podczas okresu próbnego
using IronOcr;
string imageText = new IronTesseract().Read(@"images\image.png").Text;
Imports IronOcr
Private imageText As String = (New IronTesseract()).Read("images\image.png").Text
Install-Package IronOcr
IronOCR wyróżnia się unikalną zdolnością do automatycznego wykrywania i odczytywania tekstu z niedoskonale zeskanowanych obrazów i dokumentów PDF. Klasa IronTesseract zapewnia najprostsze API.
Wypróbuj inne przykłady kodu, aby uzyskać precyzyjną kontrolę nad operacjami OCR w C#.
IronOCR zapewnia najbardziej zaawansowaną wersję Tesseract znaną na dowolnej platformie, charakteryzującą się zwiększoną szybkością, dokładnością oraz natywną biblioteką DLL i interfejsem API.
Obsługuje Tesseract 3, Tesseract 4 i Tesseract 5 dla .NET Framework, Standard, Core, Xamarin i Mono.
IronTesseract, aby korzystać z intuicyjnych APIRead, aby przeprowadzić OCR w VB.NETTextusing IronOcr;
using System;
var ocrTesseract = new IronTesseract();
ocrTesseract.Language = OcrLanguage.Arabic;
using (var ocrInput = new OcrInput())
{
ocrInput.LoadImage(@"images\arabic.gif");
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
}
// Example with a Custom Trained Font Being used:
var ocrTesseractCustomerLang = new IronTesseract();
ocrTesseractCustomerLang.UseCustomTesseractLanguageFile("custom_tesseract_files/custom.traineddata");
ocrTesseractCustomerLang.AddSecondaryLanguage(OcrLanguage.EnglishBest);
using (var ocrInput = new OcrInput())
{
ocrInput.LoadPdf(@"images\mixed-lang.pdf");
var ocrResult = ocrTesseractCustomerLang.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
}
Imports IronOcr
Imports System
Private ocrTesseract = New IronTesseract()
ocrTesseract.Language = OcrLanguage.Arabic
Using ocrInput As New OcrInput()
ocrInput.LoadImage("images\arabic.gif")
Dim ocrResult = ocrTesseract.Read(ocrInput)
Console.WriteLine(ocrResult.Text)
End Using
' Example with a Custom Trained Font Being used:
Dim ocrTesseractCustomerLang = New IronTesseract()
ocrTesseractCustomerLang.UseCustomTesseractLanguageFile("custom_tesseract_files/custom.traineddata")
ocrTesseractCustomerLang.AddSecondaryLanguage(OcrLanguage.EnglishBest)
Using ocrInput As New OcrInput()
ocrInput.LoadPdf("images\mixed-lang.pdf")
Dim ocrResult = ocrTesseractCustomerLang.Read(ocrInput)
Console.WriteLine(ocrResult.Text)
End Using
Install-Package IronOcr
IronOCR obsługuje 125 międzynarodowych języków. Oprócz języka angielskiego, który jest zainstalowany domyślnie, dodatkowe pakiety językowe można dodać do projektu .NET przez NuGet lub pobrać z naszej Strony Języków. Większość języków jest dostępna w jakości Obsługa języków w IronOCR
Fast, Standard (zalecana) oraz Best. Opcja jakości Best może zapewnić dokładniejsze wyniki, ale będzie również wymagała dłuższego czasu przetwarzania.
using IronOcr;
using IronSoftware.Drawing;
// We can delve deep into OCR results as an object model of
// Pages, Barcodes, Paragraphs, Lines, Words and Characters
// This allows us to explore, export and draw OCR content using other APIs/
var ocrTesseract = new IronTesseract();
ocrTesseract.Configuration.ReadBarCodes = true;
using var ocrInput = new OcrInput();
var pages = new int[] { 1, 2 };
ocrInput.LoadImageFrames("example.tiff", pages);
OcrResult ocrResult = ocrTesseract.Read(ocrInput);
foreach (var page in ocrResult.Pages)
{
// Page object
int PageNumber = page.PageNumber;
string PageText = page.Text;
int PageWordCount = page.WordCount;
// null if we dont set Ocr.Configuration.ReadBarCodes = true;
OcrResult.Barcode[] Barcodes = page.Barcodes;
AnyBitmap PageImage = page.ToBitmap(ocrInput);
double PageWidth = page.Width;
double PageHeight = page.Height;
double PageRotation = page.Rotation; // angular correction in degrees from OcrInput.Deskew()
foreach (var paragraph in page.Paragraphs)
{
// Pages -> Paragraphs
int ParagraphNumber = paragraph.ParagraphNumber;
string ParagraphText = paragraph.Text;
AnyBitmap ParagraphImage = paragraph.ToBitmap(ocrInput);
int ParagraphX_location = paragraph.X;
int ParagraphY_location = paragraph.Y;
int ParagraphWidth = paragraph.Width;
int ParagraphHeight = paragraph.Height;
double ParagraphOcrAccuracy = paragraph.Confidence;
OcrResult.TextFlow paragrapthText_direction = paragraph.TextDirection;
foreach (var line in paragraph.Lines)
{
// Pages -> Paragraphs -> Lines
int LineNumber = line.LineNumber;
string LineText = line.Text;
AnyBitmap LineImage = line.ToBitmap(ocrInput);
int LineX_location = line.X;
int LineY_location = line.Y;
int LineWidth = line.Width;
int LineHeight = line.Height;
double LineOcrAccuracy = line.Confidence;
double LineSkew = line.BaselineAngle;
double LineOffset = line.BaselineOffset;
foreach (var word in line.Words)
{
// Pages -> Paragraphs -> Lines -> Words
int WordNumber = word.WordNumber;
string WordText = word.Text;
AnyBitmap WordImage = word.ToBitmap(ocrInput);
int WordX_location = word.X;
int WordY_location = word.Y;
int WordWidth = word.Width;
int WordHeight = word.Height;
double WordOcrAccuracy = word.Confidence;
foreach (var character in word.Characters)
{
// Pages -> Paragraphs -> Lines -> Words -> Characters
int CharacterNumber = character.CharacterNumber;
string CharacterText = character.Text;
AnyBitmap CharacterImage = character.ToBitmap(ocrInput);
int CharacterX_location = character.X;
int CharacterY_location = character.Y;
int CharacterWidth = character.Width;
int CharacterHeight = character.Height;
double CharacterOcrAccuracy = character.Confidence;
// Output alternative symbols choices and their probability.
// Very useful for spellchecking
OcrResult.Choice[] Choices = character.Choices;
}
}
}
}
}
Imports IronOcr
Imports IronSoftware.Drawing
' We can delve deep into OCR results as an object model of
' Pages, Barcodes, Paragraphs, Lines, Words and Characters
' This allows us to explore, export and draw OCR content using other APIs/
Private ocrTesseract = New IronTesseract()
ocrTesseract.Configuration.ReadBarCodes = True
Dim ocrInput As New OcrInput()
Dim pages = New Integer() { 1, 2 }
ocrInput.LoadImageFrames("example.tiff", pages)
Dim ocrResult As OcrResult = ocrTesseract.Read(ocrInput)
For Each page In ocrResult.Pages
' Page object
Dim PageNumber As Integer = page.PageNumber
Dim PageText As String = page.Text
Dim PageWordCount As Integer = page.WordCount
' null if we dont set Ocr.Configuration.ReadBarCodes = true;
Dim Barcodes() As OcrResult.Barcode = page.Barcodes
Dim PageImage As AnyBitmap = page.ToBitmap(ocrInput)
Dim PageWidth As Double = page.Width
Dim PageHeight As Double = page.Height
Dim PageRotation As Double = page.Rotation ' angular correction in degrees from OcrInput.Deskew()
For Each paragraph In page.Paragraphs
' Pages -> Paragraphs
Dim ParagraphNumber As Integer = paragraph.ParagraphNumber
Dim ParagraphText As String = paragraph.Text
Dim ParagraphImage As AnyBitmap = paragraph.ToBitmap(ocrInput)
Dim ParagraphX_location As Integer = paragraph.X
Dim ParagraphY_location As Integer = paragraph.Y
Dim ParagraphWidth As Integer = paragraph.Width
Dim ParagraphHeight As Integer = paragraph.Height
Dim ParagraphOcrAccuracy As Double = paragraph.Confidence
Dim paragrapthText_direction As OcrResult.TextFlow = paragraph.TextDirection
For Each line In paragraph.Lines
' Pages -> Paragraphs -> Lines
Dim LineNumber As Integer = line.LineNumber
Dim LineText As String = line.Text
Dim LineImage As AnyBitmap = line.ToBitmap(ocrInput)
Dim LineX_location As Integer = line.X
Dim LineY_location As Integer = line.Y
Dim LineWidth As Integer = line.Width
Dim LineHeight As Integer = line.Height
Dim LineOcrAccuracy As Double = line.Confidence
Dim LineSkew As Double = line.BaselineAngle
Dim LineOffset As Double = line.BaselineOffset
For Each word In line.Words
' Pages -> Paragraphs -> Lines -> Words
Dim WordNumber As Integer = word.WordNumber
Dim WordText As String = word.Text
Dim WordImage As AnyBitmap = word.ToBitmap(ocrInput)
Dim WordX_location As Integer = word.X
Dim WordY_location As Integer = word.Y
Dim WordWidth As Integer = word.Width
Dim WordHeight As Integer = word.Height
Dim WordOcrAccuracy As Double = word.Confidence
For Each character In word.Characters
' Pages -> Paragraphs -> Lines -> Words -> Characters
Dim CharacterNumber As Integer = character.CharacterNumber
Dim CharacterText As String = character.Text
Dim CharacterImage As AnyBitmap = character.ToBitmap(ocrInput)
Dim CharacterX_location As Integer = character.X
Dim CharacterY_location As Integer = character.Y
Dim CharacterWidth As Integer = character.Width
Dim CharacterHeight As Integer = character.Height
Dim CharacterOcrAccuracy As Double = character.Confidence
' Output alternative symbols choices and their probability.
' Very useful for spellchecking
Dim Choices() As OcrResult.Choice = character.Choices
Next character
Next word
Next line
Next paragraph
Next page
Install-Package IronOcr
IronOCR zwraca zaawansowany obiekt wynikowy dla każdej zeskanowanej strony przy użyciu Tesseract 5. Zawiera to dane lokalizacyjne, obrazy, tekst, statystyczną pewność, alternatywne wybory symboli, nazwy fontów, rozmiary fontów, dekoracje, wagi fontów i pozycję dla każdego:
PageParagraphWordBarcode
Czy to pytania dotyczące produktu, integracji czy licencjonowania, zespół deweloperski produktów Iron jest dostępny, aby wspierać wszystkie Twoje pytania. Skontaktuj się i nawiąż dialog z Iron, aby w pełni wykorzystać naszą bibliotekę w swoim projekcie.
Zadaj pytanieBiblioteka IronOCR (Optical Character Recognition) umożliwia deweloperom szybkie i efektywne wyniki przy konwersji obrazów na tekst. IronOCR działa z .NET, VB .NET i C#. Nasze najlepsze aplikacje .NET dla .NET frameworks, które są specjalnie zaprojektowane aby wspierać deweloperów w osiaganiu optymalnej wydajnosci dla projektow.
OCR odbiera i rozpoznaje pliki tekstowe, kody kreskowe, zawartość QR i więcej. Jednakże, IronOCR oferuje również liczne metody, które pozwalają na dodanie odczytu OCR i tekstu z obrazów do projektów .NET dla sieci, desktopu Windows lub konsoli, z obsługą niemal nieograniczonej liczby formatów obrazów i plików, takich jak JPG, PNG, GIF, TIFF, BMP, JPEG czy PDF.
Chociaż wyniki rozpoznawania prostego tekstu, znaków, linii i akapitów z wyjściem obrazowym mogą nie wydawać się przejrzyste, to w rzeczywistości pod maską IronOCR wyniki są łatwiejsze niż mogłoby się początkowo wydawać. IronOCR skanuje obraz w poszukiwaniu wyrównania, stosuje redukcję szumów i filtry w celu sprawdzenia jakości i rozdzielczości. Analizuje jego właściwości, optymalizuje silnik OCR i wykorzystuje wytrenowaną sieć sztucznej inteligencji, aby następnie rozpoznać tekst (z obrazów) jak każdy człowiek.
OCR nie jest prostym procesem nawet dla komputera. Jednak IronOCR sprawia, że ogólny proces tworzenia dokumentów do przeszukiwania jest szybszy i bardziej przejrzysty, z 100% dokładności i minimalną ilością linii kodu.
Przeczytaj poradnik
Software is not limited to geographical boundaries — businesses function across borders and rely upon multiple languages to achieve their results. Similarly, an optical character recognition (OCR) tool that only performs document recognition in a single language is a major NO in every respect!
With a multilingual OCR library that provides multiple OCR functionalities, you benefit from creating a searchable PDF document from a scanned PDF or scanned image in multiple languages (from French to Chinese!). Your time and effort are streamlined with a dynamic, word-searchable PDF document that you, your clients, or your organization can use and reuse without limits.
With a strong focus on you, your business, and your OCR needs, whether in-built or on request, the IronOCR library has a wide array of supported languages. Your next .NET project can be free from language compatibility worries!
Whether Arabic, Spanish, French, German, Hebrew, Italian, Japanese, Simplified Chinese, Traditional Chinese (Mandarin), Danish, English, Finnish, Portuguese, Russian, Spanish or Swedish, you simply name the languages and we provide them for you! You can download your preferred language packs or contact our 24/7 support for more languages.
The first step is to use our NuGet package installer for Windows Visual Studio.
Pobierz pakiety językoweCzym różni się IronOCR od konkurencji? Oprócz możliwości łatwego dodania funkcji OCR, wyodrębnienia tekstu i skanowania obrotowych obrazów, posiada również możliwość wykonywania OCR z niedoskonałych skanów! W przeciwieństwie do wielu gotowych produktów dostępnych dzisiaj na rynku, które są często sztywne i niedokładne, skazane na porażkę w rzeczywistych aplikacjach indywidualnych i korporacyjnych, ponieważ większość z nich działa z maszynowo drukowanym, wysokiej rozdzielczości i idealnie dopasowanym tekstem.
IronOCR rozszerza możliwości Google Tesseract za pomocą potężnej biblioteki IronTesseract DLL ─ natywnej biblioteki C# OCR o większej stabilności i wyższej dokładności niż darmowa biblioteka Tesseract.
Z najlepszym narzędziem w ręku, nawet jeśli masz mniej niż idealny zeskanowany obraz, lub przechowywany obraz w folderze, biblioteka przetwarzania obrazu IronOCR oczyszcza szumy, obraca, redukuje zniekształcenia i skośne wyrównanie oraz poprawia rozdzielczość i kontrast. Zaawansowane ustawienia OCR dają ci — koderom — narzędzia i kod do generowania możliwie najlepszych wyników do przeszukiwania za każdym razem.
Wyszukaj potrzebne słowa i nigdy się nie zawiedź, dzięki 99,8-100% dokładnym wynikom i nieograniczonemu wsparciu dla dokumentów PDF, plików TIFF wieloklatkowych, JPEG & JPEG2000, GIF, PNG, BMP, WBMP, System.Drawing.Image, System.Drawing.Bitmap, System.IO.Streams obrazów, binarnych danych obrazowych (byte[]) i wszystkim innym!
Alternatywa dla Tesseract
W przeciwieństwie do innych aplikacji .NET w .NET framework, zaawansowane optyczne rozpoznawanie znaków w IronOCR daje użytkownikom możliwość odczytu wielu fontów tekstowych (od Times New Roman po wszystko, co fantazyjne lub rzekomo trudne do zrozumienia), wag i stylów w celu dokładnego odczytu tekstu z całego obrazu lub zeskanowanych obrazów. Nasza zdolność do wyboru określonych obszarów obrazu pomaga zwiększyć prędkość i dokładność. Wielowątkowość od kilku linii do kilku akapitów przyspiesza działanie silnika OCR i umożliwia odczyt wielu dokumentów na maszynach wielordzeniowych.
Nasze twierdzenia o szybkości i dokładności nie ograniczają się jedynie do procesu rozpoznawania znaków. Raczej ulepszenia zaczynają się od samej instalacji, gdyż .NET OCR w IronOCR jest łatwym w instalacji, kompletnym i dobrze udokumentowanym .NET biblioteka softwarowa. Istnieje jedna instalacja dla menedżera pakietów NuGet dla Visual Studio i kompatybilność wielowątkowa z MVC, WebApp, aplikacjami desktopowymi, konsolowymi oraz serwerowymi.
Możesz osiągnąć 99,8-100% dokładności OCR bez żadnych zewnętrznych usług sieciowych, opłat abonamentalnych ani konieczności wysyłania poufnych dokumentów przez internet. Bez uciążliwego kodowania w C++, IronOCR jest oczywistym wyborem, gdy potrzebujesz pełnego wsparcia PDF OCR dla wielu znaków, słów, linii, akapitów, tekstów i dokumentów.
Oferujemy najlepsze opcje dla deweloperów dążących do udoskonalenia swoich kodów, ponieważ IronOCR działa od razu po wyjęciu z pudełka, bez potrzeby dostrajania wydajności lub ciężkiej modyfikacji obrazów wejściowych. Najnowsza wersja IronOCR działa niesamowicie szybko — do dziesięciu razy szybciej, i popełnia o ponad 250% mniej błędów niż wcześniejsze wersje. Ulepszamy własne wersje, aby wspierać Twoje cele, dostarczając idealną platformę dla OCR!
Zobacz pełną listę funkcjiNawet podczas korzystania z urządzeń mobilnych, nasza idealna biblioteka .NET OCR pozwala deweloperom na kodowanie „bez zmartwień”, ponieważ IronOCR wspiera eksportowanie treści jako prosty zbiór prostego i złożonego tekstu, zakodowanego tekstu maszynowego, danych kodów kreskowych, czy danych z modeli obiektów strukturalnych. Możesz dzielić akapity treści, linie, słowa, znaki i wyniki ciągów obrazów do bezpośredniego użycia wewnątrz swoich aplikacji .NET.
Od kodu źródłowego do końcowego wyniku – dane wynikowe byłyby bezużyteczne, gdybyś nie mógł ich wyeksportować do swojej aplikacji. IronOCR rozumie to i pozwala na eksportowanie wyników OCR do XHTML, aby móc pracować w zrównoważonym formacie w szerszej gamie aplikacji i z integracją w złożone strony internetowe, nie wspominając o szybszych czasach ładowania!
Jednak wsparcie nie kończy się na tym. Możliwość eksportowania OCR do indeksowalnych dokumentów PDF ułatwia Tobie, Twoim klientom i organizacjom przechowywanie i odczytywanie dokumentów PDF, kiedy tylko jest to wymagane! Jest to szczególnie korzystne, gdy masz 30-stronicowy kontrakt, który możesz wyszukać w swojej bazie danych za pomocą kilku słów kluczowych, a także umożliwia prezentowanie firmy jako zgodnej z wymogami, co pokazuje, że przeszukalne dokumenty PDF są przydatne dla osób z zaburzeniami wzroku.
Oprócz powyższego, możesz wyeksportować swoje wyniki do formatu OCR, który reprezentuje wyniki OCR, informacje o układzie i stylu, i osadza powiązane informacje w standardowym HTML.
Dowiedz się więcej
Bezpłatne licencje dla rozwoju społeczności. Licencje komercyjne od 749 USD.
C# Tesseract OCR
Jim był wiodącą postacią w rozwoju IronOCR. Jim projektuje i buduje algorytmy przetwarzania obrazów i metody odczytu dla OCR.
Zobacz porównanie
C# OCR ASP.NET
Dowiedz się, jak zespół Gemmy używa IronOCR do odczytywania tekstu z obrazów dla ich oprogramowania archiwizacyjnego. Gemma dzieli się własnymi przykładami kodu.
Tutorial: Obraz na tekst w .NET
Zespół Iron ma ponad 10-letnie doświadczenie na rynku komponentów software'owych .NET.