.NET에서 PDF에서 텍스트 추출하는 방법
PDF에서 텍스트를 추출하는 방법 (.NET)
이 가이드는 absorber API를 사용하여 PDF 페이지에서 텍스트 추출을 다룹니다.
전제 조건
| 요구 사항 | 세부 정보 |
|---|---|
| 런타임 | .NET 8.0 이상 |
| 패키지 | dotnet add package Aspose.Pdf.Foss |
페이지에서 모든 텍스트 추출
TextAbsorber은 페이지의 모든 텍스트를 하나의 문자열로 수집합니다. 인스턴스를 생성
인스턴스를 Page.Accept에 전달하고 Text 속성에서 결과를 읽습니다.
위치 정보 없이 순수 텍스트 출력을 필요로 할 때 가장 간단한 접근 방식입니다.
정보.
using var doc = Document.Open(pdfBytes);
var absorber = new TextAbsorber();
doc.Pages[1].Accept(absorber);
Console.WriteLine(absorber.Text);구조화된 텍스트 조각 추출
텍스트와 함께 위치, 글꼴 및 크기 메타데이터가 필요할 때는 TextFragmentAbsorber을 대신 사용하십시오. 각 TextFragment은 Position 속성을 통해 경계 좌표를 노출합니다.
var absorber = new TextFragmentAbsorber();
doc.Pages[1].Accept(absorber);
foreach (var fragment in absorber.TextFragments)
{
Console.WriteLine($"{fragment.Text} at ({fragment.Position.XIndent}, {fragment.Position.YIndent})");
}정규 표현식으로 검색
TextFragmentAbsorber에 정규식 패턴을 전달하여 모든 페이지에서 일치하는 텍스트를 찾습니다.
이는 문서 내에서 전화번호, 날짜 또는 기타 구조화된 데이터 패턴을 찾는 데 유용합니다.
var absorber = new TextFragmentAbsorber(@"\d{3}-\d{2}-\d{4}");
doc.Pages.Accept(absorber);
foreach (var f in absorber.TextFragments)
Console.WriteLine(f.Text);핵심 클래스
| 클래스 | 목적 |
|---|---|
TextAbsorber | 문자열로 모든 텍스트 추출 |
TextFragmentAbsorber | 구조화된 텍스트 추출 |
TextFragment | 위치와 글꼴이 포함된 텍스트 |
FontRepository | 글꼴 조회 |