.NET에서 PDF에서 텍스트를 추출하는 방법

.NET에서 PDF에서 텍스트를 추출하는 방법

이 기사는 어떻게 텍스트를 추출하는 방법을 보여줍니다 PDF에 대하여 .NET을 위한 Aspose.PDF 텍스트 추출기를 사용하는 문서.당신은 지원되는 모든 제출 모드(Pure, Raw, Plain)를 사용하고 개별 또는 여러 PDF에 대한 자동 작업 흐름을 사용하도록 배울 것입니다.

현실 세계 문제

PDF에서 텍스트를 수동으로 복사하는 것은 효율적이지 않으며 오류가 발생합니다. 데이터 분석, 문서 이주 또는 아카이브 응용 프로그램의 경우 자동화 된 테스트 추출은 일관성, 속도 및 정확성을 보장한다.

솔루션 검토

Aspose.PDF Text Extractor for .NET은 다양한 형식의 텍스트를 추출하기 위해 깨끗하고 프로그래밍 가능한 인터페이스를 제공합니다.Pure, Raw 및 Plain 모드를 선택하여 사용 사례에 맞게 선택하십시오.그것은 포맷 된 출력, 원료 데이터 또는 평평한 콘텐츠가 필요한지 여부입니다.

원칙

  • Visual Studio 2019 또는 이후
  • .NET 6.0 또는 이후
  • NuGet을 통해 설치된 .NET을 위한 Aspose.PDF
PM> Install-Package Aspose.PDF

단계별 실행

단계 1: 설치 및 설정 Aspose.PDF

using Aspose.Pdf.Plugins;
using System.IO;

단계 2: 기본 (Raw) 모드를 사용하여 텍스트 추출

using (var extractor = new TextExtractor())
{
    var options = new TextExtractorOptions(); // Raw mode by default
    options.AddInput(new FileDataSource("input.pdf"));
    var resultContainer = extractor.Process(options);
    string textExtracted = resultContainer.ResultCollection[0].ToString();
    Console.WriteLine(textExtracted);
}

단계 3: 순수 또는 평평한 모드에서 텍스트를 추출

  • 순수 모드: 상대적 위치를 유지하고 조정 공간을 추가합니다.
  • Plain 모드: 스트립 형식화, 최소 공간을 가진 출력 텍스트.
using (var extractor = new TextExtractor())
{
    var options = new TextExtractorOptions(TextExtractorOptions.TextFormattingMode.Pure); // Or .Plain
    options.AddInput(new FileDataSource("input.pdf"));
    var resultContainer = extractor.Process(options);
    string textExtracted = resultContainer.ResultCollection[0].ToString();
    Console.WriteLine(textExtracted);
}

사용 사례 및 응용 프로그램 (코드 변형과 함께)

1. Batch PDF에서 텍스트 추출

string[] files = Directory.GetFiles(@"C:\PDFs", "*.pdf");
using (var extractor = new TextExtractor())
{
    var options = new TextExtractorOptions(TextExtractorOptions.TextFormattingMode.Pure);
    foreach (var file in files)
        options.AddInput(new FileDataSource(file));
    var resultContainer = extractor.Process(options);
    for (int i = 0; i < resultContainer.ResultCollection.Count; i++)
    {
        string extracted = resultContainer.ResultCollection[i].ToString();
        // Save to disk, process, or analyze as needed
        File.WriteAllText($@"C:\PDFs\out\{Path.GetFileNameWithoutExtension(files[i])}.txt", extracted);
    }
}

2. 사용 사례를 기반으로 추출 모드를 선택하십시오

  • Pure를 사용하여 테이블과 같은 배열 또는 공간 포맷을 사용합니다.
  • Plain을 사용하여 순수한 데이터 추출 또는 분석을 수행합니다.
  • 처리되지 않은 텍스트를 위해 Raw를 사용합니다.

3. 포스트 프로세스 추출 된 텍스트

추출 후, regex, 텍스트 청소를 적용하거나 다른 서비스 ( 검색, ML 파이프 라인 등)에 결과를 보내십시오.

4. 데이터 파이프라인과 통합 추출

더 넓은 ETL, 보고 또는 문서 관리 작업 흐름의 일환으로 자동 추출 표준 .NET 관행을 사용합니다.

일반적인 도전과 해결책

도전: 복잡한 PDF 구조로 인해 일관되지 않은 출력솔루션: 다른 추출 모드 (순수, 평평, 원료)를 시도하고 결과를 비교합니다.

도전: 배치 추출 속도솔루션: 하나를 사용하십시오 TextExtractor 예를 들어, 최상의 성능을 위해 한 번에 여러 파일을 처리합니다.

도전: 특수 캐릭터 또는 암호화 문제솔루션: 최소한의 포맷을 위해 평평 모드를 사용하고, 필요한 경우 사용자 지정 링 처리를 적용합니다.

성과와 최고의 관행

  • 모든 세 가지 추출 모드를 테스트하여 문서 유형에 대한 최적의 결과를 결정합니다.
  • 배치 작업 전에 원본 PDF를 저장
  • 배치 작업에서 생산 파일 이름 및 조직을 처리
  • 강도를 위해 통합 오류 처리 및 로그링

완전한 실행 예제

using Aspose.Pdf.Plugins;
using System;
using System.IO;

class Program
{
    static void Main()
    {
        using (var extractor = new TextExtractor())
        {
            var options = new TextExtractorOptions(TextExtractorOptions.TextFormattingMode.Plain);
            options.AddInput(new FileDataSource(@"C:\PDFs\input.pdf"));
            var resultContainer = extractor.Process(options);
            string textExtracted = resultContainer.ResultCollection[0].ToString();
            File.WriteAllText(@"C:\PDFs\output.txt", textExtracted);
        }
    }
}

결론

Aspose.PDF Text Extractor for .NET은 여러 형식의 텍스트 추출을위한 강력하고 유연한 도구를 제공합니다 - 데이터 처리, 아카이브 또는 분석에 적합합니다.

 한국어