Ältere System.Drawing Versionen mit IronOCR – OCR Software Texterkennung Kompatibilität
.NET 4.6.1 bis .NET 4.8 Projekte kommen mit einer integrierten System.Drawing Version 4.0.0. Diese Version von System.Drawing wird nicht mehr unterstützt und kann verwundbaren Code enthalten.
Der Versuch, OcrInput von System.Drawing.Image zu instanziieren, wird "IronOcr.Exceptions.IronOcrProductException: 'Unable to parse Object [] as a valid image file.'" werfen. Dies liegt daran, dass IronOcr System.Drawing.Image nicht als gültigen Eingabetyp erkennen konnte.

Der Versuch, den Eingabetyp Image wie OcrInput(Image: image) anzugeben, führt zu einem Fehler: "cannot convert from System.Drawing.Image to SixLabors.ImageSharp.Image".

Mögliche Lösungen
-
Aktualisieren Sie System.Drawing.Common auf Version 6.0.0. Die ältere Version von System.Drawing wird nicht mehr unterstützt und kann verwundbaren Code enthalten.
- Verwenden Sie SixLabors.ImageSharp Version 2.1.3.
OcrInputkann mit dem TypSixLabors.ImageSharp.Imageinstanziiert werden.
using IronOcr;
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.PixelFormats;
class Program
{
static void Main()
{
var Ocr = new IronTesseract();
// Load the image using SixLabors.ImageSharp
Image image = Image.Load<Rgba32>("image.jpg");
// Use the image as input for OCR
using (var Input = new OcrInput(image))
{
// Perform OCR on the input
var Result = Ocr.Read(Input);
// Print the recognized text
Console.WriteLine(Result.Text);
}
}
}
using IronOcr;
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.PixelFormats;
class Program
{
static void Main()
{
var Ocr = new IronTesseract();
// Load the image using SixLabors.ImageSharp
Image image = Image.Load<Rgba32>("image.jpg");
// Use the image as input for OCR
using (var Input = new OcrInput(image))
{
// Perform OCR on the input
var Result = Ocr.Read(Input);
// Print the recognized text
Console.WriteLine(Result.Text);
}
}
}
Imports IronOcr
Imports SixLabors.ImageSharp
Imports SixLabors.ImageSharp.PixelFormats
Friend Class Program
Shared Sub Main()
Dim Ocr = New IronTesseract()
' Load the image using SixLabors.ImageSharp
Dim image As Image = System.Drawing.Image.Load(Of Rgba32)("image.jpg")
' Use the image as input for OCR
Using Input = New OcrInput(image)
' Perform OCR on the input
Dim Result = Ocr.Read(Input)
' Print the recognized text
Console.WriteLine(Result.Text)
End Using
End Sub
End Class
Der obige Code initialisiert eine Instanz von IronTesseract, lädt ein Bild aus einer Datei mit SixLabors.ImageSharp und verarbeitet dann das Bild mit IronOCR , um Text zu extrahieren.

