IronOCR OCR 프로그램과 함께 System.Drawing의 이전 버전으로 이미지 텍스트 변환하기
.NET 4.6.1에서 .NET 4.8 프로젝트는 내장된 System.Drawing 버전 4.0.0과 함께 제공되며, 이 System.Drawing 버전은 지원되지 않으며 취약한 코드가 포함될 수 있습니다.
System.Drawing.Image에서 OcrInput을 인스턴스화하려고 하면 "IronOcr.Exceptions.IronOcrProductException: '올바른 이미지 파일로 Object []를 구문 분석할 수 없습니다.'." 이는 IronOcr가 System.Drawing.Image을 유효한 입력 타입으로 인식하지 못했기 때문입니다.

이미지 입력 유형을 OcrInput(Image: image)로 지정하려고 하면 "System.Drawing.Image에서 SixLabors.ImageSharp.Image로 변환할 수 없습니다" 오류가 발생합니다.

가능한 해결책
-
System.Drawing.Common을 버전 6.0.0으로 업데이트하세요. System.Drawing의 이전 버전은 지원되지 않으며 취약한 코드를 포함할 수 있습니다.
- SixLabors.ImageSharp 버전 2.1.3을 사용하세요.
OcrInput는SixLabors.ImageSharp.Image타입으로 인스턴스화할 수 있습니다.
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
- 위의 코드는
IronTesseract의 인스턴스를 초기화하고,SixLabors.ImageSharp를 사용하여 파일에서 이미지를 로드한 다음 IronOCR로 이미지를 처리하여 텍스트를 추출합니다.

