Utilisation d'anciennes versions de System.Drawing avec IronOcr

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

le projet .NET 4.6.1 à .NET 4.8 est livré avec la version 4.0.0\ de System.Drawing intégrée. Cette version de System.Drawing n'est plus supportée et peut contenir du code vulnérable.

Essayer d'instancier OcrInput à partir de System.Drawing.Image va générer "_IronOcr.Exceptions.IronOcrProductException : 'Unable to parse Object'"[] ceci est dû au fait qu'IronOCR n'a pas pu reconnaître System.Drawing.Image comme un type d'entrée valide"

File 98vFtYIpSc related to Utilisation d'anciennes versions de System.Drawing avec IronOcr

Essayer de spécifier un type d'entrée d'image comme OcrInput(Image : image) l'erreur "cannot convert from System.Drawing.Image to SixLabors.ImageSharp.Image" sera déclenchée

File F8XzQZbpbl related to Utilisation d'anciennes versions de System.Drawing avec IronOcr

Solution possible

  • Mise à jour de System.Drawing.Common vers la version 6.0.0

    Une version plus ancienne de System.Drawing n'est plus prise en charge et peut contenir du code vulnérable.

  • Utilisez SixLabors.ImageSharp version 2.1.3

    OcrInput peut être instancié avec le type 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#