Aspose.OCR을 사용하여 다국어 OCR 프로세스를 배치하는 방법
글로벌 아카이브, 비즈니스 문서 또는 설문 조사 양식을 디지털화하는 것은 종종 여러 언어로 작업하는 것을 의미합니다.수동 추출은 느리고 스케일 할 수 없습니다. .NET을위한 Aspose.OCR은 몇 가지 코드 라인으로 큰 양의 이미지 또는 PDF에서 텍스트를 자동화할 수 있습니다.
현실 세계 문제
국제 기업, 도서관 및 데이터 서비스는 종종 혼합 언어 문서를 다루고 있습니다.수동 분류 및 언론 특정 추출은 지루하고 오류가 발생합니다.특히 수천 개의 문서까지 확장 할 때.
솔루션 검토
ASPOSE.OCR for .NET은 30개 이상의 언어를 지원합니다.당신은 파일 또는 패치에 따라 인식 설정을 설정할 수 있으며, 비즈니스 또는 연구 작업 흐름에 무시무시한 통합을 위해 원하는 형식으로 추출 및 수출을 자동으로 할 수 있습니다.
원칙
- Visual Studio 2019 또는 이후
- .NET 6.0 또는 이후 (또는 .Net Framework 4.6.2+)
- NuGet에서 .NET을 위한 ASPOSE.OCR
- 기본 C# 프로그래밍 경험
PM> Install-Package Aspose.OCR
단계별 실행
단계 1 : ASPOSE.OCR 설치 및 설정
using Aspose.OCR;
단계 2: 언어로 입력 파일을 조직
입력 이미지 또는 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
});
단계 7 : 완전한 예제
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 결과를 혼합 언어 계약, 청구서 또는 HR 문서에서 당신의 글로벌 ERP 또는 작업 흐름에 공급합니다.
다국어 준수 및 검색
여러 언어로 문서에 대한 전체 텍스트 검색 및 준수 검사를 가능하게 합니다.
일반적인 도전과 해결책
도전 1 : 혼합 언어 문서
** 솔루션:** 페이지별 탐지 및 처리를 실행하거나 사용할 수 있는 경우 AUTO 언어 모드를 사용합니다.
도전 2 : 다양한 이미지 품질
** 솔루션:** 스캔을 표준화하고 사전 처리를 실행하여 이미지 품질을 정상화합니다.
도전 3 : 성능 Bottlenecks
** 솔루션:** 가능한 경우 동시에 처리하고 자원 사용을 최적화합니다.
성과 고려 사항
- 자원 효율성을 위해 언어별로 배치 작업을 조직
- 모니터 메모리/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 for .NET은 다양한 다국어 이미지 컬렉션에서 텍스트 추출을 자동화하여 글로벌 디지털화를 가속화하고 아카이브를 검색 가능하고, 발견 가능하며, 작업 흐름 통합을 위해 준비할 수 있습니다.
지원되는 언어와 고급 팁의 완전한 목록을 찾으려면 .NET API 참조를 위한 ASPOSE.OCR .