Verwendung älterer Versionen von System.Drawing mit IronOCR
.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, wird die Ausnahme "IronOcr.Exceptions.IronOcrProductException: 'Unable to parse Object [] as a valid image file.'." auslösen. Dies liegt daran, dass IronOcr System.Drawing.Image nicht als gültigen Eingabetyp erkennen konnte.
Der Versuch, den Bild-Eingabetyp wie OcrInput(Image: image) zu spezifizieren, wird den Fehler "cannot convert from System.Drawing.Image to SixLabors.ImageSharp.Image" auslösen.
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