Erste Schritte mit OCR für Azure

C# + VB.NET: Int. Sprachen Int. Sprachen
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

IronOCR unterstützt 125 internationale Sprachen.

Abgesehen von Englisch, das standardmäßig installiert ist, können Sprachpakete über NuGet zu Ihrem .NET-Projekt hinzugefügt werden oder als Download von unsererSprachen Seite.

Die meisten Sprachen sind in Schnell, Standard(empfohlen) und beste Qualität. Die beste Methode ist zwar genauer, aber auch langsamer.

C# + VB.NET: Ergebnisse Objekte Ergebnisse Objekte
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

IronOCR liefert für jede Seite, die mit Tesseract 5\ gescannt wird, ein erweitertes Ergebnisobjekt. Diese enthält Standortdaten, Bilder, Text, statistische Zuverlässigkeit, alternative Symbolwahlen, Schriftnamen, Schriftgrößen, Schriftschnitte und Position für jedes Symbol:

  • Seite
  • Absatz
  • Textzeile
  • Wort
  • Individueller Charakter
  • und Barcode

Human Support related to Azure OCR API

Menschliche Unterstützung direkt von unserem Entwicklungsteam

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 stellen
Image To Text related to Azure OCR API

OCR-Lesegerät für Azure in .NET

Ihre bevorzugte Microsoft Azure OCR-Lösung zur Verarbeitung unvollständiger Bilder

Ob es sich um Reisepassseiten, Rechnungen, Kontoauszüge, Post, Visitenkarten oder Quittungen handelt, die optische Zeichenerkennung (OCR) ist ein Forschungsfeld, das auf Mustererkennung, Computer Vision und maschinelles Lernen basiert. Unternehmen nutzen OCR abteilungsübergreifend, um Text in Buchhaltungs- und Finanzsystemen, Geschäftsdigitalisierung, Unternehmensinhaltsverwaltung und Datenberichtssystemen zu extrahieren.

Neben dem Aufbau weiterer Erfolgsgeschichten fügt IronOCR Google Tesseract und Microsoft 2021 Azure Cognitive Services durch IronOCR - eine native C#-OCR-Bibliothek - einen Mehrwert hinzu.

Wenn Sie reale Bilder mit 99-prozentiger Genauigkeit konvertieren möchten, lesen Sie weiter, um zu erfahren, wie IronOCR es Ihnen ermöglicht, eine effiziente, genaue, skalierbare und fast menschliche Anwendung zur optischen Zeichenerkennung zu erstellen.

IronOCR ist der Unterschied zwischen marktwettbewerbsfähiger und marktführender optischer Zeichenerkennung

Optische Zeichenerkennung (OCR) wird aufgrund des enormen Vertrauens, das verschiedene APIs in den Schutz beanspruchen, als gelöstes Phänomen angesehen. Die verschiedenen Produkte sind jedoch oft starr und ungenau und versagen in realen Anwendungen. Ebenso funktioniert Tesseract OCR mit maschinengedrucktem, hochauflösendem, perfektem Text.

Klingt gut?

Nur die reale Welt hat nicht immer perfekt gedruckten und handgeschriebenen Text in hoher Auflösung. Stattdessen kümmert sich IronOCR um gedrehte, verzerrte, niedrige DPI, Hintergrundgeräusche und alle Flüche digitaler Unvollkommenheiten, einschließlich der Extraktion handgeschriebenen Texts aus Bilddateien. Wir gewährleisten ein 99,8 - 100-prozentiges, genaues, durchsuchbares Dokument mit plattformübergreifender Unterstützung, die Windows, Linux, macOS, Microsoft Azure, AWS und Docker umfasst - es gibt einen Grund, warum C#-Entwickler IronOCR über (einfaches) Tesseract OCR wählen - es geht darum, einen Mehrwert hinzuzufügen.

Rüsten Sie sich mit dem Besten aus!

Neben dem oben genannten statten Sie IronOCR aus, um Bilddokumente schnell zu verarbeiten. Wenn das nicht alles ist, umfassen die Funktionen der IronOCR-API auch Folgendes:

  • Gedruckten Text durch OCR auf nahezu jeder Datei, jedem Bild oder PDF mit außergewöhnlicher Genauigkeit und blitzschneller Geschwindigkeit extrahieren
  • Text extrahieren, PDFs und Bilder in durchsuchbare Dokumente mit perfekter visueller und räumlicher Darstellung umzuwandeln
  • Benötigt keine EXEs oder C++-Code
  • Vollständiger PDF-OCR-Support
  • Kompatibel mit MVC, WebApp, Desktop, Konsole und Serveranwendungen
  • Vollständige .NET Core-, Standard- und FrameWork-Unterstützung
  • Lesen mit C# & VB .NET
  • Export von OCR zu XHTML
  • Unterstützt Multithreading
  • Unterstützt 125 internationale Sprachen - einsatzbereite Sprachpakete und maßgeschneiderte
  • Bilder, Koordinaten, Statistiken, Schriftarten und vieles mehr extrahieren
  • Verteilt Tesseract OCR in kommerziellen und proprietären Anwendungen
  • Lokal ausgeführt, kein SaaS erforderlich
  • Ausgezeichnete Alternative zum OCR-Dienst von Microsoft Cognitive Services

Virtuell unbegrenzte Funktionen - IronOCR ist das optische Zeichenerkennungstool für den digitalen Arbeitsplatz

Übergang von der Installation nativer .dlls oder EXEs zu einer einzigen Wahrheit - Entwickeln mit einer einzigen, nativen .NET-Komponentenbibliothek unter Verwendung einfacher C#-APIs, die Folgendes unterstützen:

  • .NET Framework 4.5 und höher
  • .NET Standard 2.0 und höher (einschließlich 3.x & .NET 5 Beta)
  • .NET Core 2.0 und höher (einschließlich 3.x & .NET 5 Beta)
  • .NET 5
  • Xamarin für macOS

Die Kunst der IronOCR-API endet hier nicht; Sie können unsere technische Spitzenleistung Features weiter erkunden. Wir verringern die geschäftlichen Komplexitäten Schritt für Schritt, indem wir zuverlässige Lösungen entwickeln, um Dokumentenverarbeitungsanwendungen zu vereinfachen und die Geschäftseinnahmen zu maximieren, indem wir branchenführende Funktionen bieten, die eingebettet sind:

  • Reine .NET OCR-API-Funktionen
  • Lokale OCR-Operation, keine Cloud bedeutet mehr Sicherheit
  • Erstellung optimierter, minderwertiger, verrauschter und verzerrter Scanressourcen
  • Lesen von PDFs, mehrseitigen TIFFs
  • Kann jede OCR-Scannprobe in ein PDF-Dokument oder XHTML speichern, das Benutzer durchsuchen können
  • Einfacher Text, Barcodedaten und eine OCR-Ergebnisklasse mit Absätzen, Zeilen, Wörtern und Zeichen

Der Vorteil der IronOCR-API: Die Computer Vision erfüllen?

Unser Prozess der optischen Zeichenerkennung beginnt mit der automatischen Bildvorverarbeitung, um die Bilddatei zu verbessern, die die Extraktionsantwortzeit verbessert. IronOCR fügt Ihrer Arbeit hinzu, da es den Benutzern ermöglicht, die Beispiel-Bilddatei in die optimale Version von sich selbst zu extrahieren. IronOCR deckt alle Grundlagen ab:

Auflösungsverbesserung

Da der IronOCR-Service optimal mit 300DPI (Dots Per Inch) Bilddateien arbeitet, wird jedes Bild, das signifikant außerhalb von 200-300 DPI liegt, neu abgetastet, um in den Zielbereich zu passen.

Dies bedeutet das Herunterabtasten von 600 DPI Bildern auf 300 DPI oder das Hochabtasten von 100 DPI Bildern auf 200 DPI mit 99-prozentiger Zuversicht.

Binarisierung

Da IronOCR-Dienste darauf ausgelegt sind, auf monochromatischen Bildern zu funktionieren, werden alle farbigen oder graustufigen Bilder mithilfe eines adaptiven Binarisierungsalgorithmus in monochromatische umgewandelt.

Der Algorithmus vergleicht die Pixeldichten innerhalb eines Bereichs, der den Schwellenwert bestimmt, der verwendet werden soll, um die Pixel monochromatisch zu konvertieren.

Automatische Drehung und Entzerrung

IronOCR sucht nach Textzeilen und Zeichenmustern, um die eingegebenen Bildressourcen automatisch zu entzerren und die gewünschte Ausrichtung zu drehen.

Adaptives Rauschentfernung

Mit IronOCR werden Bilddateien automatisch auf das Vorhandensein und die Menge an Rauschen analysiert. Das Rauschen sind im Wesentlichen die "Punkte", die auf gescannten Bildern zu finden sind. Unser adaptiver Algorithmus entfernt dann das Rauschen basierend auf der Partikelgröße des Rauschens.

Sobald die Beispielbilddatei vorverarbeitet ist, bricht IronOCR die Eingabebilddatei in verschiedene Bearbeitungszonen auf.

Zonierung

Ein weiteres Vorbereitungsstadium beinhaltet das Aufbrechen des Referenzbildes in verschiedene logische Zonen. IronOCR lokalisiert zunächst Text und Bilder innerhalb des Bildes mithilfe von Leerzeichen und Mustern; der Textbereich wird von Bildern getrennt.

Es wird dann in Zonen - Absätze, Spalten und Textblöcke - unterteilt. Die Bilder und verbleibenden Nicht-Text-Pixel werden identifiziert, um während der Texterkennung ausgeschlossen und in die intelligente Ausgabe einbezogen zu werden. IronOCR markiert dann die Textzonen als Tabellen mit Hilfe von Gitterlinien und Textblöcken.

Text-Erkennungsmöglichkeiten

Führen Sie mehrere, miteinander verbundene Schritte aus, die Pixelklumpen in einzeilige Textstränge konvertieren, die Benutzer durchsuchen können. Dies umfasst die Zeichenaufteilung, adaptives Klassifizierung, Wörterbuchreferenzen und andere damit verbundene Prozesse, die zum optimal extrahierten Text beitragen.

Erprobte und getestete mehrere Parameter

Mit dem IronOCR-API-Service haben wir unser Tool durch mehrere Datenbeispiele in verschiedenen Sprachen getestet, die Wortebenen, Symbolgenauigkeit und Layoutbeibehaltung in Microsoft Office-Formaten umfassen. Obwohl einige Parameter automatisch getestet werden; andere beinhalten visuelle Kontrollen.

Verbinden Sie sich mit IronOCR - die ideale Lösung für OCR-Kognitiven Dienste

IronOCR ermöglicht es Ihnen, plattformübergreifende OCR-Fähigkeiten mit mehreren Eingabeformaten zu einer einfachen Textzeichenfolge hinzuzufügen, die Sie durchsuchen können. Um Ihre Produktivität mit IronOCR zu steigern, beginnen Sie mit unserer kostenlosen Tutorial-Dokumentation, die Sie durch die Verwendung von IronOCR führt. Laden Sie noch heute unser NuGet Paketinstallationsprogramm herunter und erkunden Sie es mit einem kostenlosen Testschlüssel oder verbinden Sie sich mit 24/7 persönlichem Support. Skalieren Sie Ihre Bedürfnisse mit unserer lebenslangen Lizenzierung, unabhängig von der Größe Ihres Teams.

Arbeitet mit .NET, VB.NET, C#

Lizenzen anzeigen
Unterstützt:
  • .NET-Framework 4.0 und höher unterstützt C#, VB, F#
  • Microsoft Visual Studio. .NET-Entwicklungs-IDE-Symbol
  • NuGet-Installer-Unterstützung für Visual Studio
  • JetBrains ReSharper C# Sprachassistent kompatibel
  • Microsoft Azure C# .NET Hosting-Plattform kompatibel

Lizenzierung & Preisgestaltung

Kostenlose Community-Entwicklungslizenzen. Kommerzielle Lizenzen ab 749 $.

Projekt C# + VB.NET Bibliothekslizenzierung

Projekt

Entwickler C# + VB.NET Bibliothek Lizenzierung

Entwickler

Organisation C# + VB.NET Bibliothekslizenzierung

Organisation

Agentur C# + VB.NET Bibliothek Lizenzierung

Agentur

SaaS C# + VB.NET Bibliothek-Lizenzierung

SaaS

OEM C# + VB.NET Bibliothekslizenzierung

OEM

Vollständige Lizenzoptionen anzeigen  

OCR-Tutorials von unserer .NET-Gemeinschaft

.NET Tesseract Alternative | IronOCR

C# Tesserakt OCR

Jim Baker ist Entwicklungsingenieur bei Iron und entwickelt das OCR-Produkt

IronOCR & Tesseract Vergleich in .NET

Jim war eine führende Persönlichkeit bei der Entwicklung von IronOCR. Jim entwirft und entwickelt Bildverarbeitungsalgorithmen und Lesemethoden für OCR.

Siehe Vergleich
Text zu Bild in .NET | Tutorial

C# OCR ASP.NET

Gemma Beckford - Microsoft-Lösungsingenieurin

Text aus Bildern für .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 Tutorial
Tausende von Entwicklern nutzen IronOcr für...

Buchhaltungs- und Finanzsysteme

  • # Quittungen
  • # Berichterstattung
  • # Drucken von Rechnungen
Hinzufügen von PDF-Unterstützung zu ASP.NET-Buchhaltungs- und Finanzsystemen

Business-Digitalisierung

  • # Dokumentation
  • # Bestellung & Etikettierung
  • # Papier-Ersatz
C# Business-Digitalisierung Anwendungsfälle

Verwaltung von Unternehmensinhalten

  • # Produktion von Inhalten
  • # Verwaltung von Dokumenten
  • # Verteilung von Inhalten
.NET CMS PDF-Unterstützung

Daten- und Berichtsanwendungen

  • # Leistungsverfolgung
  • # Trend Mapping
  • # Berichte
C# PDF-Berichte
Iron Software Enterprise .NET-Komponenten-Entwickler

Tausende von Unternehmen, Regierungen, KMUs und Entwicklern vertrauen gleichermaßen auf Iron Software-Produkte.

Das Team von Iron verfügt über mehr als 10 Jahre Erfahrung auf dem Markt für .NET-Softwarekomponenten.

Foley
Equinor
Vireq
Marval
GE
ANZ
Medcode
Nexudus