IronOCR ile Daha Eski System.Drawing Sürümlerini Kullanmak

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

.NET 4.6.1'den .NET 4.8 projelerine kadar, yerleşik bir System.Drawing sürümü 4.0.0 ile gelir. Bu System.Drawing sürümü desteğini kaybetmiş ve güvenlik açığı içerebilir.

OcrInput değişkenini System.Drawing.Image nesnesinden başlatmaya çalışmak, "IronOcr.Exceptions.IronOcrProductException: 'Bir nesneyi [] geçerli bir resim dosyası olarak ayrıştırılamıyor.'" istisnasını atar. Bu, IronOcr'ın System.Drawing.Image'i geçerli bir giriş türü olarak tanıyamaması nedeniyle oluşur.

Hata Ekran Görüntüsü

Girdi türü olarak OcrInput(Image: image) belirtmeye çalışmak, 'System.Drawing.Image'dan SixLabors.ImageSharp.Image'a dönüştürülemiyor' hatası verecektir.

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

Olası Çözümler

  • System.Drawing.Common'i 6.0.0 sürümüne güncelleyin. Daha eski System.Drawing sürümü desteğini kaybetmiş ve güvenlik açığı içerebilir.

  • SixLabors.ImageSharp sürüm 2.1.3 kullanın. OcrInput, SixLabors.ImageSharp.Image türüyle başlatılabilir.
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 örneğini başlatır, SixLabors.ImageSharp kullanarak bir dosyadan görüntü yükler ve ardından IronOCR ile görüntüyü işlemden geçirip metin çıkarır.
Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında lisans derecesine sahiptir (Carleton Üniversitesi) ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirme üzerine uzmanlaşmıştır. Kullanıcı dostu ve estetik açıdan hoş arayüzler tasarlamaya tutkuyla bağlı olan Curtis, modern çerç...

Daha Fazlasını Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 5,585,834 | Sürüm: 2026.4 just released
Still Scrolling Icon

Hala Kaydiriyor musunuz?

Hızlı bir kanit mi istiyorsunuz? PM > Install-Package IronOcr
örnekleri çalıştır resminizin aranabilir metne donuşünü izleyin.