چگونگی جمع آوری فرآیند OCR چند زبانه با Aspose.OCR

چگونگی جمع آوری فرآیند OCR چند زبانه با Aspose.OCR

دیجیتالی سازی آرشیو های جهانی، اسناد کسب و کار، و یا فرم های نظرسنجی اغلب به معنی کار با چندین زبان است. استخراج دستی آهسته و غیر قابل مقیاس. Aspose.OCR برای .NET اجازه می دهد تا شما را به اتوماسیون تخلیه متن در زبان های مختلف از حجم بزرگ از تصاویر یا فایل های PDF با تنها چند خط کد.

مشکل دنیای واقعی

شرکت های بین المللی، کتابخانه ها و سرویس های داده اغلب با اسناد مخلوط زبان برخورد می کنند.نمایش دستی و استخراج خاص زبان ناخوشایند و بدون اشتباه است – به ویژه هنگامی که در مقیاس تا هزاران سند قرار می گیرد.

بررسی راه حل

Aspose.OCR برای .NET از بیش از 30 زبان پشتیبانی می کند.شما می توانید تنظیمات شناسایی را در هر فایل یا مجموعه تنظیم کنید، سپس استخراج و صادرات خود را به فرمت مورد علاقه خود برای یکپارچه سازی بی نظیر در جریان های کسب و کار یا تحقیقات خودکار کنید.

پیش شرط

  • Visual Studio 2019 یا بالاتر
  • .NET 6.0 یا بالاتر (یا .Net Framework 4.6.2+)
  • Aspose.OCR برای .NET از NuGet
  • تجربه برنامه نویسی C#
PM> Install-Package Aspose.OCR

پیاده سازی گام به گام

مرحله 1: نصب و تنظیم Aspose.OCR

using Aspose.OCR;

مرحله دوم: تنظیم فایل های ورودی با زبان

تصاویر ورودی یا فایل های PDF خود را با زبان در پوشه های جداگانه سازماندهی کنید یا از یک کنوانسیون نامگذاری استفاده کنید:

// Example folders: ./input/en, ./input/fr, ./input/zh

مرحله 3: تنظیم تنظیمات شناختی به زبان

Dictionary<string, Language> langFolders = new Dictionary<string, Language>
{
    { "en", Language.English },
    { "fr", Language.French },
    { "zh", Language.ChineseSimplified }
};

مرحله 4: فایل های ورودی فرآیند باتچ

foreach (var pair in langFolders)
{
    string folder = "./input/" + pair.Key;
    RecognitionSettings settings = new RecognitionSettings();
    settings.Language = pair.Value;

    OcrInput input = new OcrInput(InputType.SingleImage);
    foreach (string file in Directory.GetFiles(folder, "*.png"))
    {
        input.Add(file);
    }

    AsposeOcr ocr = new AsposeOcr();
    List<RecognitionResult> results = ocr.Recognize(input, settings);

    foreach (RecognitionResult result in results)
    {
        string output = Path.Combine("./output/", pair.Key + "_" + Path.GetFileNameWithoutExtension(result.FileName) + ".txt");
        result.Save(output, SaveFormat.Text);
    }
}

مرحله 5: اضافه کردن مدیریت خطا و اتوماسیون

try
{
    // batch processing code
}
catch (Exception ex)
{
    Console.WriteLine($"Error: {ex.Message}");
}

مرحله 6: بهینه سازی برای سرعت و دقت

  • پردازش به صورت موازی (با مراقبت از حافظه / CPU)
  • استفاده از تصاویر با کیفیت بالا برای بهترین نتایج
  • تنظیمات تشخیص تن برای ویژگی های مشترک طرح در هر زبان
// Example: Parallel batch processing
Parallel.ForEach(langFolders, pair =>
{
    // per-language processing logic
});

مرحله هفتم: نمونه کامل

using Aspose.OCR;
using System;
using System.Collections.Generic;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        try
        {
            Dictionary<string, Language> langFolders = new Dictionary<string, Language>
            {
                { "en", Language.English },
                { "fr", Language.French },
                { "zh", Language.ChineseSimplified }
            };

            foreach (var pair in langFolders)
            {
                string folder = "./input/" + pair.Key;
                RecognitionSettings settings = new RecognitionSettings();
                settings.Language = pair.Value;

                OcrInput input = new OcrInput(InputType.SingleImage);
                foreach (string file in Directory.GetFiles(folder, "*.png"))
                {
                    input.Add(file);
                }

                AsposeOcr ocr = new AsposeOcr();
                List<RecognitionResult> results = ocr.Recognize(input, settings);

                foreach (RecognitionResult result in results)
                {
                    string output = Path.Combine("./output/", pair.Key + "_" + Path.GetFileNameWithoutExtension(result.FileName) + ".txt");
                    result.Save(output, SaveFormat.Text);
                }
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine($"Error: {ex.Message}");
        }
    }
}

استفاده از موارد و برنامه ها

دیجیتالی سازی آرشیو جهانی

استخراج اتوماتیک متن از آرشیو های چند زبانه، روزنامه ها و یا سوابق شرکت.

اتوماسیون کسب و کار بین المللی

OCR ها از قراردادهای مخلوط زبان، صورتحساب ها یا اسناد منابع انسانی به ERP یا جریان کار جهانی شما وارد می شوند.

هماهنگی چند زبانه و جستجو

امکان جستجوی متن کامل و بررسی انطباق در سراسر اسناد در بسیاری از زبان ها.

چالش ها و راه حل های مشترک

چالش اول: اسناد ترکیبی زبان

** راه حل:** تشخیص و پردازش را در هر صفحه اجرا کنید یا در صورت امکان از حالت زبان AUTO استفاده کنید.

چالش دوم: کیفیت تصویر متفاوت

** راه حل: ** استاندارد کردن اسکن و پیش پردازش را برای عادی سازی کیفیت تصویر اجرا کنید.

چالش 3: عملکرد بوتلنیکس

** راه حل: ** در صورت امکان به صورت موازی پردازش و بهینه سازی استفاده از منابع.

بررسی عملکرد

  • سازماندهی کارهای گروهی با زبان برای بهره وری منابع
  • کنترل حافظه / CPU با کارهای موازی
  • تصدیق محصول در هر بسته

بهترین شیوه‌ها

  • حفظ پوشه های زبان سازمان یافته برای حل مشکلات آسان
  • یک بسته نمونه برای هر زبان تایید کنید
  • به روز رسانی Aspose.OCR برای آخرین بهبود زبان
  • امنیت داده های ورودی و خروجی

سناریوهای پیشرفته

سناریو 1: صادرات نتایج چند زبانه به JSON

foreach (RecognitionResult result in results)
{
    result.Save(output.Replace(".txt", ".json"), SaveFormat.Json);
}

سناریو 2: شناسایی زبان به طور خودکار (در صورت پشتیبانی)

settings.Language = Language.Auto;

نتیجه گیری

Aspose.OCR برای .NET به شما اجازه می دهد تا استخراج متن از مجموعه های متنوع و چند زبانه تصویر را به طور خودکار انجام دهید – سرعت بخشیدن به دیجیتالی شدن جهانی و ایجاد فایل های خود را قابل جستجو، قابل کشف و آماده برای ادغام جریان کار.

برای یک لیست کامل از زبان های پشتیبانی شده و راهنمایی های پیشرفته، به Aspose.OCR برای .NET API مرجع .

 فارسی