Chinese OCR in C# and .NET

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

Andere Versionen dieses Dokuments:

IronOCR ist eine C# Softwarekomponente, die es .NET Entwicklern ermöglicht, Text aus Bildern und PDF-Dokumenten in 126 Sprachen, einschließlich Chinesisch, zu lesen. Das chinesische Sprachpaket enthält sowohl vereinfachte chinesische als auch traditionelle chinesische Zeichen.

Es ist eine fortgeschrittene Abzweigung von Tesseract, die exklusiv für .NET-Entwickler entwickelt wurde und regelmäßig andere Tesseract-Engines sowohl in Geschwindigkeit als auch in Genauigkeit übertrifft. Die Bibliothek ermöglicht die Erkennung von Bildern und Dokumenten in verschiedenen Formaten und in verschiedenen Sprachen, einschließlich Chinesisch. Es unterstützt über 125 Sprachen und bietet ein hohes Maß an Erkennungsgenauigkeit im Vergleich zur Konkurrenz. Die API von IronOCR wurde mit Blick auf Erweiterbarkeit und Anpassung entworfen. Sie können die Leistung von IronOCR verbessern, indem Sie Ihre Abstimmungsdaten oder Funktionen zum Tracker hinzufügen. IronOCR verwendet viele Techniken zur optischen Zeichenerkennung und kann auf einem Windows PC, Linux, macOS und anderen bekannten Plattformen verwendet werden.

Inhalt von IronOcr.Languages.Chinese

Dieses Paket enthält 352 OCR-Sprachen für .NET:

  • ChineseSimplified
  • ChineseSimplifiedBest
  • ChineseSimplifiedFast
  • ChineseSimplifiedVertical
  • ChineseSimplifiedVerticalBest
  • ChineseSimplifiedVerticalFast
  • ChineseTraditional
  • ChineseTraditionalBest
  • ChineseTraditionalFast
  • ChineseTraditionalVertical
  • ChineseTraditionalVerticalBest
  • ChineseTraditionalVerticalFast

Download

Wir können das chinesische Sprachpaket [中文 (Zhōngwén)] von den folgenden Links herunterladen:

  • Download als Zip
  • Installation mit NuGet

Verwendung von IronOCR für die chinesische Sprache

Ein C# Projekt erstellen oder öffnen

Um mit IronOCR zu beginnen, müssen Sie ein C# .NET Projekt erstellen. Wir verwenden Visual Studio 2022 hierfür. Sie können eine Version nach Ihren Bedürfnissen auswählen, wobei die neueste Version von Visual Studio für eine reibungslose Erfahrung empfohlen wird. Wir werden eine GUI-Schnittstelle erstellen, um das Bild auszuwählen. IronOCR kann auch in einer Konsolenanwendung verwendet werden, indem der direkte Pfad des Bildes angegeben wird. Befolgen Sie die folgenden Schritte, um ein C# Projekt in Visual Studio 2022 zu erstellen:

  • Öffnen Sie Visual Studio 2022.
  • Klicken Sie auf die Schaltfläche „Ein neues Projekt erstellen“.

Bild 1

  • Schreiben Sie „Windows“ in die Suchleiste, wählen Sie die „Windows Form“ Anwendung aus den Suchergebnissen aus und klicken Sie auf die Schaltfläche „Weiter“.

Bild 2

  • Geben Sie dem Projekt einen Namen. Ich gebe dem Projekt den Namen „ChineseOCR“. Nach der Benennung klicken Sie auf die Schaltfläche „Weiter“.

Bild 3

  • Wählen Sie das .NET Framework auf dem nächsten Bildschirm aus. Wählen Sie das .NET Framework entsprechend den Bedürfnissen Ihres Projekts aus. Wir wählen die .NET 5.0 Version für dieses Tutorial.

Bild 4

  • Nach der Auswahl klicken Sie auf die Schaltfläche „Erstellen“. Es wird das C# Windows Form Projekt in Visual Studio erstellen.

Das Projekt wurde erstellt und ist nun bereit zur Verwendung mit der IronOCR-Bibliothek. Sie können auch ein bestehendes C# Projekt verwenden. Öffnen Sie das Projekt und fahren Sie mit der Installation der IronOCR Bibliothek fort. Der folgende Abschnitt erklärt, wie Sie die IronOCR Bibliothek in C# Projekten installieren.

Installation

Verwendung des NuGet Package Managers

Um die IronOCR Bibliothek mit dem NuGet Package Manager zu installieren, müssen wir die NuGet Package Manager-Oberfläche öffnen. Befolgen Sie diese Schritte, um die IronOCR-Bibliothek zu installieren:

  • Klicken Sie auf „Tools“ im Hauptmenü, fahren Sie über „NuGet Package Manager“ und wählen Sie „Manage NuGet Packages for Solution“.

Bild 5

  • Dies öffnet die NuGet Package Manager-Oberfläche. Gehen Sie zur Registerkarte „Browse“ und suchen Sie nach IronOCR Chinese. Wählen Sie das richtige Paket aus den Suchergebnissen aus und klicken Sie auf die Schaltfläche „Installieren“, um es zu installieren.

Bild 6

  • Die Bibliotheksinstallation wird gestartet. Nach der Installation können Sie die IronOCR-Bibliothek in Ihrem Projekt verwenden.

Verwendung der Package Manager Console

Die Verwendung einer Konsole ist immer eine einfache Option. Wir können die IronOCR-Bibliothek auch mit der Package Manager Console installieren. Befolgen Sie diese Schritte, um die IronOCR-Bibliothek zu installieren:

  • Öffnen Sie die Package Manager Console in Visual Studio. Sie befindet sich normalerweise unten in Visual Studio.
  • Führen Sie den folgenden Befehl in der Konsole aus:

    Install-Package IronOcr.Languages.Chinese
  • Sie sehen den Installationsfortschritt der Bibliothek in der Konsole. Es wird die Bibliothek automatisch installieren. Nach der Installation ist das Projekt bereit für die IronOCR-Bibliothek.

Code-Beispiel: OCR für die chinesische Sprache

Jetzt ist es an der Zeit, den Code für die Implementierung der IronOCR-Bibliothek für die chinesische Sprache zu schreiben. Zuerst müssen wir das Frontend für die Auswahl der Bilddatei entwickeln. Lassen Sie uns sehen, wie wir das tun können.

Entwicklung des Frontends

Wir werden die „Toolbox“-Elemente verwenden, um das Frontend zu entwerfen. Wir werden einen Button, eine Picture Box, eine Rich TextBox und zwei Labels erstellen. Wir werden diese Elemente aus der Toolbox ziehen und in das Windows Form platzieren. Ordnen Sie diese Elemente nach Bedarf an.

Der Button wird verwendet, um die Bilddatei vom PC auszuwählen, die Picture Box lädt das ausgewählte Bild und die Rich TextBox zeigt den Ausgabetext an. Sie können die Größe jedes Elements je nach Bedarf anpassen. Das endgültige Frontend-Design wird so aussehen:

Bild 7

Dieses Fenster wird erscheinen, wenn Sie das Projekt ausführen. Wir haben die Ausrichtung des Windows Forms so eingestellt, dass es in der Mitte des Bildschirms erscheint.

Unser Frontend ist bereit. Lassen Sie uns nun die Backend-Funktionalität zum Button hinzufügen.

Backend-Code für IronOCR

Zuerst importieren Sie den IronOCR-Namespace, um ihn in unserem Code zu verwenden, indem Sie die folgende Zeile oben in die Datei schreiben:

using IronOCR;
using IronOCR;
Imports IronOCR
$vbLabelText   $csharpLabel

Wir verwenden den "Bild auswählen" Button, um das Bild in die Picture Box zu laden. IronOCR verarbeitet das chinesisch vereinfachte Textbild und zeigt den Ausgabetext in der Rich TextBox an. Lassen Sie uns die Funktionalität für den Button hinzufügen, indem Sie auf den Button doppelklicken und den folgenden Code schreiben:

private void btn_image_Click(object sender, EventArgs e)
{
    OpenFileDialog open = new OpenFileDialog();
    if (open.ShowDialog() == DialogResult.OK)
    {
        // Display image in picture box  
        img_image.Image = new Bitmap(open.FileName);

        var Ocr = new IronTesseract();

        // Set OCR language to Chinese Traditional
        Ocr.Language = OcrLanguage.ChineseTraditional;

        using (var Input = new OcrInput(open.FileName))
        {
            // Perform OCR on the image input
            var Result = Ocr.Read(Input);

            // Output the recognized text
            txt_output.Text = Result.Text;
        }
    }
}
private void btn_image_Click(object sender, EventArgs e)
{
    OpenFileDialog open = new OpenFileDialog();
    if (open.ShowDialog() == DialogResult.OK)
    {
        // Display image in picture box  
        img_image.Image = new Bitmap(open.FileName);

        var Ocr = new IronTesseract();

        // Set OCR language to Chinese Traditional
        Ocr.Language = OcrLanguage.ChineseTraditional;

        using (var Input = new OcrInput(open.FileName))
        {
            // Perform OCR on the image input
            var Result = Ocr.Read(Input);

            // Output the recognized text
            txt_output.Text = Result.Text;
        }
    }
}
Private Sub btn_image_Click(ByVal sender As Object, ByVal e As EventArgs)
	Dim open As New OpenFileDialog()
	If open.ShowDialog() = DialogResult.OK Then
		' Display image in picture box  
		img_image.Image = New Bitmap(open.FileName)

		Dim Ocr = New IronTesseract()

		' Set OCR language to Chinese Traditional
		Ocr.Language = OcrLanguage.ChineseTraditional

		Using Input = New OcrInput(open.FileName)
			' Perform OCR on the image input
			Dim Result = Ocr.Read(Input)

			' Output the recognized text
			txt_output.Text = Result.Text
		End Using
	End If
End Sub
$vbLabelText   $csharpLabel

Wenn ein Benutzer auf den Button klickt, erscheint ein Dialog, um das Bild auszuwählen. Wenn der Benutzer das Bild auswählt, wird es automatisch in die Picture Box geladen. Wir verwenden Bitmap, um das Bild in der Picture Box anzuzeigen. Danach konvertiert IronOCR das Bild in chinesischen Text. Wir setzen die OCR-Sprache auf Chinesisch Traditionell für die Texterkennung in traditionellem Chinesisch. Die Funktion Ocr.Read verarbeitet und speichert das OCR-Ergebnis in der Variablen Result. Wenn nötig, können Sie den Text im PDF-, Text- oder HTML-Format mit der SaveAs Funktion speichern, um Dateien in verschiedenen von IronOCR unterstützten Ausgabeformaten zu speichern.

Projekt ausführen

Jetzt ist es an der Zeit, das Projekt auszuführen. Klicken Sie auf die Schaltfläche „Ausführen“ in Visual Studio. Sie sollten diesen Bildschirm sehen:

Bild 8

Klicken Sie auf die Schaltfläche „Bild auswählen“. Es wird das Dialogfeld „Dateien auswählen“ öffnen. Wählen Sie eine Bilddatei und drücken Sie Enter.

Bild 9

Es wird das Bild in die Picture Box laden, automatisch scannen und die Ausgabe in der Textbox anzeigen.

Bild 10

Dies ist die Ausgabe aus dem ausgewählten Bild. IronOCR unterstützt auch das Lesen und Scannen von PDF-Dateien. Sie können das bearbeitbare Format von PDF-Dateien verwenden, um Text mit IronOCR zu scannen und zu erkennen, und dies kann in verschiedenen Sprachen erfolgen. IronOCR kann auch ein bestehendes PDF-Dokument zu einem durchsuchbaren PDF machen. Es verwendet verschiedene Bildfilter, um die Klarheit der Bilder zu verbessern. Hier sind einige der Filter:

  • Input.Binarize()
  • Input.Contrast()
  • Input.Deskew()
  • Input.DeNoise()
  • Input.Dilate()
  • Input.EnhanceResolution(300)

All diese Funktionen verbessern die Sichtbarkeit der Zeichen. IronOCR verwendet diese Funktionen, um ein durchsuchbares PDF zu erstellen. Hier ist ein Beispiel:

using IronOcr;
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
    Input.AddPdf("scan.pdf");
    // Clean up twisted pages
    Input.Deskew();
    var Result = Ocr.Read(Input);
    Result.SaveAsSearchablePdf("searchable.pdf");
}
using IronOcr;
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
    Input.AddPdf("scan.pdf");
    // Clean up twisted pages
    Input.Deskew();
    var Result = Ocr.Read(Input);
    Result.SaveAsSearchablePdf("searchable.pdf");
}
Imports IronOcr
Private Ocr = New IronTesseract()
Using Input = New OcrInput()
	Input.AddPdf("scan.pdf")
	' Clean up twisted pages
	Input.Deskew()
	Dim Result = Ocr.Read(Input)
	Result.SaveAsSearchablePdf("searchable.pdf")
End Using
$vbLabelText   $csharpLabel

Lizenzierung

IronOCR ist kostenlos für die Entwicklung. Sie können alle seine Funktionen aktiv kostenlos nutzen. IronOCR bietet auch eine kostenlose Testversion für die Produktion ohne Zahlung an. Iron Software bietet ein beliebtes Angebot - eine Suite von fünf Softwareprodukten zum Preis von nur zwei. Zahlen Sie einfach einmal die Gebühr für zwei Softwareprodukte, und Sie können alle fünf Produkte erhalten, einschließlich IronPDF und IronXL. Weitere Informationen zur Lizenzierung finden Sie hier.