Verwendung älterer Versionen von System.Drawing mit IronOCR

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

.NET 4.6.1 bis .NET 4.8 Projekt kommt mit eingebautem System.Drawing Version 4.0.0. Diese Version von System.Drawing wird nicht mehr unterstützt und kann anfälligen Code enthalten.

Der Versuch, OcrInput aus System.Drawing.Image zu instanziieren, löst "_IronOcr.Exceptions.IronOcrProductException: 'Unable to parse Object[] dies liegt daran, dass IronOCR System.Drawing.Image nicht als gültigen Eingabetyp erkennen konnte."

File 98vFtYIpSc related to Verwendung älterer Versionen von System.Drawing mit IronOCR

Versucht, den Typ der Bildeingabe wie OcrInput anzugeben(Bild: Bild) löst den Fehler "kann nicht von System.Drawing.Image nach SixLabors.ImageSharp.Image konvertieren" aus

File F8XzQZbpbl related to Verwendung älterer Versionen von System.Drawing mit IronOCR

Mögliche Lösung

  • Aktualisieren Sie System.Drawing.Common auf Version 6.0.0

    Ältere Versionen von System.Drawing werden nicht mehr unterstützt und können anfälligen Code enthalten.

  • Verwenden Sie SixLabors.ImageSharp Version 2.1.3

    OcrInput kann mit dem Typ SixLabors.ImageSharp.Image instanziiert werden.

var Ocr = new IronTesseract();

    Image image = Image.Load("image.jpg");

    using (var Input = new OcrInput(image))

    {

        var Result = Ocr.Read(Input);

        Console.WriteLine(Result.Text);

    }
var Ocr = new IronTesseract();

    Image image = Image.Load("image.jpg");

    using (var Input = new OcrInput(image))

    {

        var Result = Ocr.Read(Input);

        Console.WriteLine(Result.Text);

    }
Dim Ocr = New IronTesseract()

	Dim image As Image = System.Drawing.Image.Load("image.jpg")

	Using Input = New OcrInput(image)


		Dim Result = Ocr.Read(Input)

		Console.WriteLine(Result.Text)

	End Using
VB   C#