Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
using 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
<p>IronOCR unterstützt 125 internationale Sprachen.</p> <p>Abgesehen von Englisch, das standardmäßig installiert ist, können Sprachpakete über NuGet zu Ihrem .NET-Projekt hinzugefügt werden oder als Download von unserer<a href="/csharp/ocr/languages/" target="_blank" rel="nofollow noopener noreferrer">Sprachen Seite</a>.</p> <p>Die meisten Sprachen sind in Schnell, Standard(empfohlen) und beste Qualität. Die beste Methode ist zwar genauer, aber auch langsamer.</p>
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
<p>IronOCR liefert für jede Seite, die mit Tesseract 5\ gescannt wird, ein erweitertes Ergebnisobjekt. Diese enthält <strong>Standortdaten, Bilder, Text, statistische Zuverlässigkeit, alternative Symbolwahlen, Schriftnamen, Schriftgrößen, Schriftschnitte und Position</strong> für jedes Symbol:</p> <ul> <li>Seite</li> <li>Absatz</li> <li>Textzeile</li> <li>Wort</li> <li>Individueller Charakter</li> <li>und Barcode</li> </ul>
Ob es sich um Produkt-, Integrations- oder Lizenzierungsfragen handelt, das Iron Produktentwicklungsteam steht Ihnen für alle Fragen zur Verfügung. Setzen Sie sich mit uns in Verbindung und beginnen Sie einen Dialog mit Iron, um das Beste aus unserer Bibliothek für Ihr Projekt herauszuholen.
Eine Frage stellenOb Passseiten, Rechnungen, Kontoauszüge, Post, Visitenkarten oder Quittungen - die optische Zeichenerkennung (OCR) ist ein Forschungsgebiet, das auf Mustererkennung, Computer Vision und maschinellem Lernen basiert. Unternehmen setzen OCR abteilungsübergreifend ein, um Text in Buchhaltungs- und Finanzsystemen, Unternehmensdigitalisierung, Enterprise Content Management und Datenberichtssystemen zu extrahieren.
Neben dem Aufbau anderer erfolgsgeschichten. IronOCR ergänzt Google Tesseract und Microsoft 2021 Azure Cognitive Services mit IronOCR - einer nativen C# OCR-Bibliothek.
Wenn Sie reale Bilder mit einer Genauigkeit von 99 Prozent konvertieren möchten, dann lesen Sie weiter, um zu erfahren, wie Sie mit IronOCR eine effiziente, genaue, skalierbare und fast menschliche Anwendung für die optische Zeichenerkennung erstellen können.
Die optische Zeichenerkennung (OCR) gilt als gelöstes Phänomen, da verschiedene APIs ein großes Vertrauen in den Schutz beanspruchen. Allerdings sind die verschiedenen Produkte oft starr und ungenau und versagen in der Praxis. In ähnlicher Weise arbeitet Tesseract OCR mit maschinell gedrucktem, hochauflösendem, perfektem Text.
Klingt gut?
Nur gibt es in der realen Welt nicht immer perfekt gedruckten und handgeschriebenen Text mit hoher Auflösung. Stattdessen kümmert sich IronOCR um gedrehte, verzerrte, niedrige DPI-Werte, Hintergrundrauschen und all die Flüche digitaler Unvollkommenheiten, einschließlich der Extraktion von handgeschriebenem Text aus Bilddateien. Wir gewährleisten ein 99,8 - 100 Prozent genaues, durchsuchbares Dokument mit plattformübergreifender Unterstützung für Windows, Linux, macOS, Microsoft Azure, AWS und Docker - es gibt einen Grund, warum C# Entwickler sich für IronOCR über die (einfache) Tesseract OCR - es geht um die Wertschöpfung.
Rüsten Sie sich mit dem Besten aus!
Darüber hinaus bietet IronOCR die Möglichkeit, Bilddokumente zeitnah zu verarbeiten. Und damit nicht genug: Die IronOCR-API-Funktionen umfassen auch Folgendes:
Übergang von der Installation nativer .dlls oder exes zu einer einzigen Quelle der Wahrheit - Entwicklung mit einer einzigen, nativen .NET-Komponentenbibliothek unter Verwendung einer einfachen C# APIs, die unterstützt:
Die Kunst der IronOCR API ist damit noch nicht zu Ende; Sie können unseren technischen Vorsprung weiter erforschen merkmale weiter. Wir reduzieren die geschäftliche Komplexität Schritt für Schritt, indem wir zuverlässige Lösungen zur Rationalisierung von Dokumentenverarbeitungsanwendungen entwickeln und durch das Angebot branchenführender Funktionen den Unternehmensumsatz maximieren:
Unser optischer Zeichenerkennungsprozess beginnt mit einer automatischen Bildvorverarbeitung, um die Bilddatei zu verbessern und die Extraktionsrate zu erhöhen. IronOCR steigert den Wert Ihrer Arbeit, da es den Anwendern ermöglicht, die Beispiel-Basisbilddatei in eine optimale Version ihrer selbst zu extrahieren. IronOCR deckt alle Bereiche ab:
Da der IronOCR-Dienst optimal mit 300DPI (Dots Per Inch) Bilddateien arbeitet, wird jedes Bild, das deutlich außerhalb des Bereichs von 200-300 DPI liegt, neu abgetastet, um in den Zielbereich zu passen.
Dies bedeutet, dass das Down-Sampling von 600 DPI-Bildern auf 300 DPI oder das Up-Sampling von 100 DPI-Bildern auf 200 DPI mit einer Zuverlässigkeit von 99 Prozent erfolgt.
Da die kognitiven Dienste von IronOCR auf monochromatische Bilder ausgelegt sind, werden alle Farb- oder Graustufenbilder mit Hilfe eines adaptiven Binarisierungsalgorithmus in monochromatische Bilder umgewandelt.
Der Algorithmus vergleicht die Pixeldichten innerhalb eines Bereichs, der den Schwellenwert für die Umwandlung von Pixeln in monochromatische Pixel bestimmt.
IronOCR sucht nach Textzeilen und Zeichenmustern, um die eingegebenen Bildressourcen automatisch zu entzerren und in die gewünschte Ausrichtung zu drehen.
Mit IronOCR werden die Bilddateien automatisch auf das Vorhandensein und die Menge von Rauschen analysiert. Bei dem Rauschen handelt es sich im Grunde um die "Flecken", die auf den gescannten Bildern zu finden sind. Unser adaptiver Algorithmus entfernt dann das Rauschen auf der Grundlage der Größe der Rauschpartikel.
Sobald die Beispielbilddatei vorverarbeitet ist, unterteilt IronOCR die Eingabebilddatei in verschiedene Verarbeitungsbereiche.
Eine weitere Vorbereitungsphase besteht darin, das Referenzbild in verschiedene logische Bereiche zu unterteilen. IronOCR lokalisiert zunächst Text und Bilder innerhalb des Bildes mit Hilfe von Leerzeichen und Mustern; der Textbereich wird von den Bildern getrennt.
Anschließend wird er in Zonen aufgeteilt - Absätze, Spalten und Textblöcke. Die Bilder und die verbleibenden Nicht-Text-Pixel werden identifiziert, um bei der Texterkennung ausgelassen und in die intelligente Ausgabe einbezogen zu werden. IronOCR kennzeichnet dann die Textzonen mit Hilfe von Rasterlinien und Textblöcken als Tabellen.
Führen Sie mehrere, miteinander verbundene Schritte durch, die Pixelblobs in einzeilige Textstränge umwandeln, die der Benutzer durchsuchen kann. Dazu gehören Zeichensegmentierung, adaptive Klassifizierung, Wörterbuchverweise und andere verwandte Prozesse, die zu einem optimalen extrahierten Text beitragen.
Mit dem IronOCR-API-Service haben wir unser Tool anhand von mehreren Beispieldateien in mehreren Sprachen getestet, die Wortebenen, Symbolgenauigkeit und Layoutbeibehaltung in Microsoft Office-Formaten enthalten. Obwohl einige Parameter automatisch getestet werden, umfassen andere visuelle Prüfungen.
Mit IronOCR können Sie plattformübergreifende OCR-Funktionen mit mehreren Eingabeformaten zu einer einfachen Textzeichenfolge hinzufügen, die Sie durchsuchen können. Um Ihre Produktivität mit IronOCR zu steigern, können Sie mit unserem kostenlosen lehrgang dokumentation, die Sie durch die Verwendung von IronOCR führt. Laden Sie unser NuGet-Paketinstallationsprogramm noch heute herunter und testen Sie es mit einem kostenlosen Testschlüssel oder kontaktieren Sie unseren persönlichen 24/7-Support. Skalieren Sie Ihre Anforderungen mit unserer Lebensdauer lizenzierungunabhängig von der Größe Ihres Teams.
Lizenzen anzeigenKostenlos lizenzen für die Gemeindeentwicklung. Kommerzielle Lizenzen ab 749 $.
C# Tesserakt OCR
Jim war eine führende Persönlichkeit bei der Entwicklung von IronOCR. Jim entwirft und entwickelt Bildverarbeitungsalgorithmen und Lesemethoden für OCR.
Siehe VergleichC# OCR ASP.NET
Erfahren Sie, wie Gemmas Team IronOCR verwendet, um Text aus Bildern für ihre Archivierungssoftware zu lesen. Gemma teilt ihre eigenen Code-Beispiele.
Bild zu Text .NET TutorialDas Team von Iron verfügt über mehr als 10 Jahre Erfahrung auf dem Markt für .NET-Softwarekomponenten.
10 .NET API-Produkte für Ihre Bürodokumente