PDF 파일에서 페이지 영역에서 텍스트 추출
소개
PDF 작업에는 종종 특정 콘텐츠를 추출해야 하는데, 이는 양식, 표 또는 문서의 특정 섹션에서 데이터를 가져오는 것과 같습니다. 이 튜토리얼에서는 Aspose.PDF for .NET을 사용하여 PDF의 특정 영역에서 텍스트를 추출하는 방법을 살펴보겠습니다. 전체 문서를 걸러내는 대신 텍스트가 있는 정확한 위치를 파악하고 효율적으로 추출합니다.
필수 조건
코드로 넘어가기 전에 다음 항목이 준비되었는지 확인하세요.
- .NET용 Aspose.PDF: 아직 다운로드하지 않았다면 .NET용 Aspose.PDF 라이브러리를 다운로드하여 설치하세요..NET용 Aspose.PDF 다운로드.
- IDE: Visual Studio와 같은 .NET 개발 환경.
- .NET Framework: 프로젝트가 적절한 .NET Framework로 설정되었는지 확인하세요.
- PDF 문서: 텍스트를 추출할 샘플 PDF입니다.
당신이 할 수 있다는 것을 잊지 마세요무료 체험판을 받으세요 Aspose.PDF 또는 다음을 사용하세요.임시 면허 모든 기능을 사용하려면.
필요한 패키지 가져오기
Aspose.PDF for .NET으로 작업을 시작하려면 필요한 네임스페이스를 프로젝트로 가져와야 합니다. 이러한 패키지는 PDF 문서를 처리하는 데 필요한 클래스와 메서드를 제공합니다.
using System.IO;
using Aspose.Pdf;
using Aspose.Pdf.Text;
using System;
1단계: 문서 디렉토리 설정 및 PDF 로드
첫 번째 단계는 PDF 파일의 위치를 지정하고 프로젝트에 로드하는 것입니다. 작업하려는 PDF 파일에 대한 로컬 디렉토리 경로를 사용할 수 있습니다.
// 문서 디렉토리의 경로입니다.
string dataDir = "YOUR DOCUMENT DIRECTORY";
// PDF 문서를 엽니다
Document pdfDocument = new Document(dataDir + "ExtractTextAll.pdf");
이 단계는 PDF 파일이 제대로 로드되어 작업할 준비가 되었는지 확인합니다.Document
Aspose.PDF 라이브러리의 클래스를 사용하면 PDF 파일을 조작할 수 있습니다.
2단계: 추출을 위한 텍스트 흡수기 초기화
이 단계에서는 다음을 생성합니다.TextAbsorber
PDF 문서에서 텍스트를 추출하도록 설계된 개체입니다.TextAbsorber
유연하며 특정 지역이나 페이지에 초점을 맞추도록 사용자 정의가 가능합니다.
// 텍스트를 추출하기 위해 TextAbsorber 객체를 생성합니다.
TextAbsorber absorber = new TextAbsorber();
그만큼TextAbsorber
class는 지정한 범위 내의 모든 텍스트를 캡처하는 강력한 도구입니다.
3단계: 텍스트를 추출할 지역 정의
마법이 일어나는 곳은 바로 여기입니다. 전체 페이지에서 텍스트를 끌어오는 대신, 추출을 페이지의 특정 직사각형 영역으로 제한할 수 있습니다. 이는 콘텐츠가 정확히 어디에 있는지 알고 있을 때 완벽합니다.
// 텍스트 추출을 특정 지역으로 제한
absorber.TextSearchOptions.LimitToPageBounds = true;
absorber.TextSearchOptions.Rectangle = new Aspose.Pdf.Rectangle(100, 200, 250, 350);
그만큼Rectangle
객체를 사용하면 텍스트를 추출할 영역의 좌표(포인트)를 정의할 수 있습니다.TextSearchOptions.LimitToPageBounds
지정된 사각형 내의 텍스트만 추출되도록 합니다.
4단계: 원하는 페이지에서 흡수체 수락
지역을 설정한 후 다음 단계는 다음을 수락하는 것입니다.TextAbsorber
텍스트를 추출하려는 특정 페이지에 대해. 여기서는 PDF의 첫 페이지에 집중하겠습니다.
// 첫 번째 페이지에 대한 흡수체를 수락합니다.
pdfDocument.Pages[1].Accept(absorber);
전화를 걸어서Accept
이 페이지에서 메서드를 사용하여 Aspose.PDF에 흡수체를 실행하고 정의된 영역에서 텍스트를 수집하도록 지시합니다.
5단계: 추출된 텍스트 검색 및 저장
흡수기가 작업을 마치면 추출된 텍스트를 수집하여 저장할 차례입니다. 이 단계에서는 텍스트를 검색하여 다음 위치에 쓰는 작업이 포함됩니다..txt
파일.
// 추출된 텍스트를 가져옵니다
string extractedText = absorber.Text;
// 추출된 텍스트를 저장할 작성자를 생성합니다.
TextWriter tw = new StreamWriter(dataDir + "extracted-text.txt");
// 파일에 텍스트를 쓰세요
tw.WriteLine(extractedText);
// 스트림을 닫습니다
tw.Close();
여기서,TextWriter
클래스는 추출된 텍스트를 텍스트 파일에 쓰는 데 사용됩니다. 이렇게 하면 추출된 콘텐츠가 나중에 사용할 수 있도록 안전하게 저장됩니다.
결론
PDF 문서 내의 특정 영역에서 텍스트를 추출하는 것은 특히 양식이나 표와 같은 구조화된 콘텐츠를 다룰 때 매우 유용할 수 있습니다. Aspose.PDF for .NET을 사용하면 몇 줄의 코드만으로 이 작업을 수행할 수 있습니다. 영역을 정의하고 초기화하여TextAbsorber
추출된 텍스트를 저장하면 PDF에서 어떤 내용이 추출되는지 완벽하게 제어할 수 있습니다.
작은 프로젝트를 진행하든 대용량 문서를 관리하든, 이 방법은 전체 문서를 살펴보지 않고도 PDF에서 관련 데이터를 추출하는 효율적인 방법을 제공합니다.
자주 묻는 질문
한 번에 여러 페이지에서 텍스트를 추출할 수 있나요?
예, 반복을 통해Pages
의 컬렉션pdfDocument
, 당신은 적용할 수 있습니다TextAbsorber
여러 페이지로.
텍스트가 PDF의 다른 영역에 있는 경우는 어떻게 되나요?
쉽게 조정할 수 있습니다Rectangle
텍스트가 위치한 지역과 일치하는 좌표입니다.
스캔한 PDF에도 사용할 수 있나요?
아니요, 스캔된 PDF에는 이미지를 텍스트로 변환하기 위해 OCR(광학 문자 인식)이 필요합니다. Aspose.PDF도 OCR 기능을 제공합니다.
특정 키워드를 기반으로 텍스트를 추출하는 방법이 있나요?
네, 사용할 수 있습니다TextFragmentAbsorber
키워드 기반 텍스트 추출을 위해
암호화된 PDF에서 텍스트를 추출하려면 어떻게 해야 하나요?
먼저 올바른 비밀번호를 입력하여 PDF를 해독한 다음, 텍스트 추출을 진행해야 합니다.