Using Older Versions of System.Drawing with IronOCR
.NET 4.6.1 to .NET 4.8 projects come with a built-in System.Drawing version 4.0.0. This version of System.Drawing is out of support and may contain vulnerable code.
Trying to instantiate OcrInput from System.Drawing.Image will throw "IronOcr.Exceptions.IronOcrProductException: 'Unable to parse Object [] as a valid image file.'". This is because IronOCR could not recognize System.Drawing.Image as a valid input type.

Trying to specify Image input type like OcrInput(Image: image) will throw a "cannot convert from System.Drawing.Image to SixLabors.ImageSharp.Image" error.

Possible Solutions
- Update System.Drawing.Common to a current, supported version. The older version of System.Drawing is out of support and may contain vulnerable code.
-
Load the image with
OcrInput.LoadImage, which accepts a file path,byte[],Stream, orIronSoftware.Drawing.AnyBitmap. In current IronOCR,OcrInputhas a parameterless constructor and handles image loading internally, so you do not need SixLabors.ImageSharp or System.Drawing to prepare the input.using IronOcr; class Program { static void Main() { var Ocr = new IronTesseract(); // Load the image directly with IronOCR using (var Input = new OcrInput()) { Input.LoadImage("image.jpg"); // Perform OCR on the input var Result = Ocr.Read(Input); // Print the recognized text Console.WriteLine(Result.Text); } } }using IronOcr; class Program { static void Main() { var Ocr = new IronTesseract(); // Load the image directly with IronOCR using (var Input = new OcrInput()) { Input.LoadImage("image.jpg"); // Perform OCR on the input var Result = Ocr.Read(Input); // Print the recognized text Console.WriteLine(Result.Text); } } }Imports IronOcr Class Program Shared Sub Main() Dim Ocr = New IronTesseract() ' Load the image directly with IronOCR Using Input = New OcrInput() Input.LoadImage("image.jpg") ' Perform OCR on the input Dim Result = Ocr.Read(Input) ' Print the recognized text Console.WriteLine(Result.Text) End Using End Sub End Class$vbLabelText $csharpLabel - The above code initializes an instance of
IronTesseract, loads an image from a file withOcrInput.LoadImage, and then processes the image with IronOCR to extract text.

