IronOCR와 함께 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);
}
}
}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로 이미지를 처리하여 텍스트를 추출합니다.

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.