在IronOCR中使用舊版本的System.Drawing

Curtis Chau
Curtis Chau
Updated: 2026年5月9日

.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。

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);
        }
    }
}
  • 上述程式碼初始化SixLabors.ImageSharp從文件中載入圖像,然後使用IronOCR處理該圖像以提取文字。

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

閱讀更多

準備開始了嗎?

Nuget Downloads 6,357,159版本:2026.11剛剛發布