Aspose.OCR을 사용하여 멀티 페이지 PDF에서 데이터 추출을 자동화하는 방법
스캐너, 아카이브 또는 기업 작업 흐름에서 여러 페이지의 PDF는 종종 검색 할 수없는 텍스트 및 테이블의 거대한 양을 보유하고 있습니다.수동 추출은 느리고 규모가 없습니다. .NET을위한 Aspose.OCR은 최소 코드가있는 긴 복잡한 PDF에서 문자, 테마 및 구조의 추세를 자동화합니다.
현실 세계 문제
법률, 금융 및 학술 아카이브는 정기적으로 수백 페이지를 포함하는 다중 페이지 스캔 PDF를 처리합니다.
솔루션 검토
Aspose.OCR for .NET은 패치 프로세스 및 각 페이지에서 텍스트 / 테이블을 멀티 페이지 PDF로 추출 할 수 있습니다.당신은 페이지 라인, 수출 형식 및 비즈니스 응용 프로그램 또는 디지털 아카이브와 자동 통합을 지정할 수있다.
원칙
- 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 파일 추가
OcrInput input = new OcrInput(InputType.PDF);
input.Add("archive.pdf"); // all pages
input.Add("report.pdf", 5, 10); // pages 5-14
3단계: 인식 설정 및 페이지 순위를 설정합니다.
RecognitionSettings settings = new RecognitionSettings();
settings.Language = Language.English;
settings.DetectAreasMode = DetectAreasMode.AUTO;
단계 4: 각 페이지에서 텍스트와 테이블을 추출
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
단계 5 : 각 페이지에 대한 수출 결과
int page = 1;
foreach (RecognitionResult result in results)
{
result.Save($"output_page_{page}.txt", SaveFormat.Text);
result.Save($"output_page_{page}.xlsx", SaveFormat.Xlsx);
result.Save($"output_page_{page}.json", SaveFormat.Json);
page++;
}
단계 6 : 오류 처리 및 데이터 검증
try
{
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
단계 7 : 대형 파일 및 배치 작업을 최적화
- 디렉토리에 따라 폴더에서 PDF를 처리
- 빠른 속도를 위한 선택적인 페이지 처리
- 메모리/CPU 사용 모니터링
foreach (string file in Directory.GetFiles("./pdfs", "*.pdf"))
{
input.Add(file);
}
단계 8 : 완전한 예제
using Aspose.OCR;
using System;
using System.Collections.Generic;
using System.IO;
class Program
{
static void Main(string[] args)
{
try
{
OcrInput input = new OcrInput(InputType.PDF);
input.Add("archive.pdf");
input.Add("report.pdf", 5, 10);
RecognitionSettings settings = new RecognitionSettings();
settings.Language = Language.English;
settings.DetectAreasMode = DetectAreasMode.AUTO;
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
int page = 1;
foreach (RecognitionResult result in results)
{
result.Save($"output_page_{page}.txt", SaveFormat.Text);
result.Save($"output_page_{page}.xlsx", SaveFormat.Xlsx);
result.Save($"output_page_{page}.json", SaveFormat.Json);
page++;
}
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}
}
사례 및 응용 프로그램 사용
법률 및 준수 아카이브
검색 및 준수를 위해 계약, 법원 서류 또는 정부 기록의 전체 내용을 추출합니다.
학술 및 연구 아카이브
분석 또는 전자 학습을 위해 저널, 논문 또는 데이터 테이블을 디지털화하고 분할합니다.
금융 및 감사 작업 흐름
대규모 성명서 아카이브, 보고서 및 스파이더에서 자동 추출.
일반적인 도전과 해결책
도전 1 : 불일치한 페이지 레이아웃
** 해결책:** AUTO 탐지기를 사용하거나 페이지 범위에 따라 다른 모드를 설정합니다.
도전 2 : 매우 큰 PDF
** 솔루션:** 배치로 프로세스; 더 나은 메모리 성능을 위해 분할 파일.
도전 3 : 혼합 콘텐츠 (텍스트, 테이블, 이미지)
** 솔루션:** 검증 및 포스트 프로세스 출력; 톤 탐지 모드.
성과 고려 사항
- 큰 PDF는 더 많은 메모리/CPU가 필요합니다.
- 최상의 성과를 위해 배치 직업 오프 시간
- 통합 전에 출력 샘플을 검증
모범 사례
- 쉬운 추적을 위해 이름 협약을 사용하십시오.
- 여러 페이지의 PDF를 분할하면 파일이 매우 크다.
- 출처 및 출력 문서 모두 보안
- 중요한 작업 흐름에서 인증 및 포트 체크 출력
고급 시나리오
시나리오 1 : 페이지 당 검색 가능한 PDF로 수출
foreach (RecognitionResult result in results)
{
result.Save($"output_page_{page}.pdf", SaveFormat.Pdf);
page++;
}
시나리오 2 : 데이터베이스 또는 클라우드와 통합
foreach (RecognitionResult result in results)
{
string json = File.ReadAllText($"output_page_{page}.json");
// Upload json or send to a cloud endpoint
}
결론
ASPOSE.OCR for .NET은 강력하고 규모 가능한 텍스트 추출 및 다 페이지 PDF에서 구조화 된 데이터를 제공합니다 - 수동 노력 시간을 절약하고 작업 흐름 자동화를 향상시킵니다.
더 많은 PDF 및 배치 처리 예를 참조하십시오 .NET API 참조를 위한 ASPOSE.OCR .