Eski System.Drawing Sürümlerini IronOCR ile Kullanma

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

.NET 4.6.1'den .NET 4.8'e kadar olan projeler, desteklenmeyen ve savunmasız kod içerebilecek bir System.Drawing sürümü 4.0.0 ile birlikte gelir.

System.Drawing.Image'den OcrInput örneği oluşturmaya çalışmak, "Object [] öğesini geçerli bir görüntü dosyası olarak ayrıştırılamadı." istisnası atar. Bunun nedeni, IronOCR'un System.Drawing.Image'i geçerli bir giriş türü olarak tanımlayamaması.

Hata Ekran Görüntüsü

OcrInput(Image: image) gibi bir Image giriş türü belirtmeye çalışmak, "System.Drawing.Image'den SixLabors.ImageSharp.Image'ye dönüştürülemiyor" hatasını verecektir.

Dönüştürme Hatası Ekran Görüntüsü

Olası Çözümler

  • System.Drawing.Common 6.0.0 sürümüne güncelleyin. System.Drawing'in eski sürümü desteklenmiyor ve savunmasız kod içerebilir.

  • SixLabors.ImageSharp sürüm 2.1.3'ü kullanın. OcrInput, SixLabors.ImageSharp.Image türüyle örneklenebilir.
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
$vbLabelText   $csharpLabel
  • Yukarıdaki kod, IronTesseract'nin bir örneğini başlatır, SixLabors.ImageSharp kullanarak bir dosyadan bir görüntü yükler ve ardından IronOCR ile görüntüyü işleyerek metni çıkarır.
Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 5,896,332 | Sürüm: 2026.5 just released
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz? PM > Install-Package IronOcr
örnek çalıştır görüntünüzün aranabilir metin haline gelmesini izleyin.