Uso de versiones anteriores de System.Drawing con IronOCR

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

El proyecto .NET 4.6.1 a .NET 4.8 viene con System.Drawing incorporado versión 4.0.0. Esta versión de System.Drawing está fuera de soporte y puede contener código vulnerable.

Intentando instanciar OcrInput desde System.Drawing.Image lanzará "_IronOcr.Exceptions.IronOcrProductException: 'Unable to parse Object[] Esto se debe a que IronOcr no pudo reconocer System.Drawing.Image como un tipo de entrada válido".

File 98vFtYIpSc related to Uso de versiones anteriores de System.Drawing con IronOCR

Tratando de especificar el tipo de entrada de imagen como OcrInput(Imagen) arrojará "no se puede convertir de System.Drawing.Image a SixLabors.ImageSharp.Image" error

File F8XzQZbpbl related to Uso de versiones anteriores de System.Drawing con IronOCR

Posible solución

  • Actualizar System.Drawing.Common a la versión 6.0.0

    La versión anterior de System.Drawing no es compatible y puede contener código vulnerable.

  • Utilice SixLabors.ImageSharp versión 2.1.3

    OcrInput puede instanciarse con el tipo SixLabors.ImageSharp.Image.

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#