Bagaimana untuk membungkus proses multilingual OCR dengan Aspose.OCR

Bagaimana untuk membungkus proses multilingual OCR dengan Aspose.OCR

Digitalisasi arkib global, dokumen perniagaan, atau borang kaji selidik sering bermakna bekerja dengan pelbagai bahasa. pengekstrakan manual adalah perlahan dan tidak skalable. Aspose.OCR untuk .NET membolehkan anda mengautomatikkan pengeluaran teks dalam bahasa yang berbeza daripada jumlah besar imej atau PDF dengan hanya beberapa baris kod.

Masalah dunia sebenar

Syarikat-syarikat antarabangsa, perpustakaan, dan perkhidmatan data sering berurusan dengan dokumen-dokumen berbahasa campuran. pemilihan manual dan pengekstrakan bahasa-spesifik adalah membosankan dan keliru - terutamanya apabila mengukur sehingga beribu-ribu dokumen.

Gambaran keseluruhan penyelesaian

Aspose.OCR untuk .NET menyokong lebih daripada 30 bahasa. anda boleh mengkonfigurasi tetapan pengenalan per fail atau set, kemudian mengautomatikkan pengekstrakan dan eksport ke format kegemaran anda untuk integrasi tanpa wayar ke dalam aliran kerja perniagaan atau penyelidikan.

Prerequisites

  • Visual Studio 2019 atau seterusnya
  • .NET 6.0 atau lebih baru (atau .Net Framework 4.6.2+)
  • Aspose.OCR untuk .NET daripada NuGet
  • Pengalaman pengaturcaraan C#
PM> Install-Package Aspose.OCR

Pelaksanaan langkah demi langkah

Langkah 1: Pemasangan dan Konfigurasi Aspose.OCR

using Aspose.OCR;

Langkah 2: Mengatur fail input mengikut bahasa

Mengatur imej input atau PDF anda mengikut bahasa dalam folder yang berasingan, atau gunakan konvensyen nama:

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

Langkah 3: Mengesetkan tetapan pengenalan mengikut bahasa

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

Langkah 4: Batch proses fail input

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);
    }
}

Langkah 5: Menambah pemprosesan kesilapan dan automatik

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

Langkah 6: Mengoptimumkan kelajuan dan ketepatan

  • Melaksanakan pemprosesan secara serentak (dengan penjagaan memori / CPU)
  • Menggunakan imej berkualiti tinggi untuk hasil yang terbaik
  • Tune pengenalan tetapan untuk ciri-ciri tataletak biasa dalam setiap bahasa
// Example: Parallel batch processing
Parallel.ForEach(langFolders, pair =>
{
    // per-language processing logic
});

Langkah 7 : Contoh Lengkap

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}");
        }
    }
}

Penggunaan Kasus dan Permohonan

Digitalisasi Arkib Global

Mengekstrak teks secara automatik daripada arkib pelbagai bahasa, akhbar, atau rekod korporat.

Automasi Perniagaan Antarabangsa

Menyediakan hasil OCR daripada kontrak bahasa campuran, invois, atau dokumen HR ke dalam ERP global atau aliran kerja anda.

Kepatuhan dan Pencarian Multilingual

Membolehkan carian teks penuh dan pemeriksaan pematuhan melalui dokumen dalam banyak bahasa.

Tantangan dan Penyelesaian Bersama

Tantangan 1: Dokumen Bahasa Campuran

** Penyelesaian:** Melaksanakan pengesanan dan pemprosesan per halaman, atau gunakan mod bahasa AUTO jika tersedia.

Tantangan 2: Kualiti imej yang berbeza

** Penyelesaian:** Standardkan pemindaian, dan menjalankan pra-pemasangan untuk menormalkan kualiti imej.

Tantangan 3 : Pencapaian Bottlenecks

** Penyelesaian:** Proses secara serentak di mana mungkin, dan mengoptimumkan penggunaan sumber.

Pertimbangan prestasi

  • Mengatur pekerjaan batch mengikut bahasa untuk kecekapan sumber
  • Memantau memori/CPU dengan kerja paralel
  • Mengesahkan output pada setiap batch

amalan terbaik

  • Menjaga folder bahasa yang dianjurkan untuk penyelesaian masalah yang mudah
  • Mengesahkan set sampel untuk setiap bahasa
  • Update Aspose.OCR untuk penambahbaikan bahasa terkini
  • Keselamatan kedua-dua input dan output data

Senario lanjutan

Senario 1: Eksport Hasil Multilingual ke JSON

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

Scenario 2: Mengesan bahasa secara automatik (jika disokong)

settings.Language = Language.Auto;

Conclusion

Aspose.OCR untuk .NET membolehkan anda mengautomatikkan pengekstrakan teks daripada koleksi imej yang pelbagai dan pelbagai bahasa – mempercepatkan digitalisasi global dan menjadikan arkib anda boleh dicari, boleh didapati, dan bersedia untuk integrasi aliran kerja.

Untuk senarai penuh bahasa yang disokong dan tip lanjutan, lawati Aspose.OCR untuk .NET API Rujukan .

 Melayu