
PDF 파일에서 표를 추출하는 것은 데이터 추출이나 분석을 할 때 일반적인 작업일 수 있습니다. 처리하기 위해 표를 검색하거나 추가 사용을 위해 내보내려는 경우 이 프로세스를 자동화하면 시간과 노력을 절약할 수 있습니다. 이 블로그 게시물에서는 C#에서 PDF에서 표를 추출하거나 추출된 데이터를 CSV 파일로 내보내는 방법을 보여드리겠습니다.
이 기사에서는 다음 섹션에 대해 다루겠습니다.
PDF에서 표를 추출하는 이유는 무엇입니까?
PDF 파일은 휴대용 형식으로 정보를 공유하는 데 널리 사용됩니다. 그러나 표와 같은 구조화된 데이터를 추출하는 것은 PDF 파일이 쉽게 편집하거나 조작하도록 설계되지 않았기 때문에 어려울 수 있습니다. C#에서 테이블 데이터를 프로그래밍 방식으로 추출하면 데이터에 더 쉽게 접근할 수 있어 CSV와 같이 다양한 형식으로 데이터를 분석, 수정 또는 저장할 수 있습니다. CSV는 다양한 애플리케이션 간의 데이터 교환에 널리 사용됩니다.
PDF 테이블 추출 - C# API 구성
아래 NuGet 설치 명령으로 Conholdate.Total for .NET을 구성하여 PDF 테이블에서 데이터를 추출할 수 있습니다.
PM> NuGet\Install-Package Conholdate.Total
C#에서 PDF에서 테이블 추출
이 섹션에서는 C#을 사용하여 PDF 문서에서 표를 추출하는 방법을 살펴보겠습니다.
- PDF 문서 로딩: 코드는 PDF 파일을 Document 클래스 객체로 로딩하는 것으로 시작합니다.
- Table Absorber: TableAbsorber 클래스는 PDF의 각 페이지에 있는 표를 감지하고 흡수하는 데 사용됩니다.
- 테이블 데이터 추출: 코드는 발견된 각 테이블을 반복하며, 테이블의 각 셀의 내용을 추출하고, 이를 구조화된 형식으로 출력합니다.
이 방법은 PDF 문서에서 표 형식 데이터에 액세스하는 효과적인 방법을 제공하여 정보를 프로그래밍 방식으로 작업할 수 있습니다. 아래 코드 조각은 C#에서 표 추출을 보여줍니다.
// 소스 PDF 문서 로드
var filePath = "input.pdf";
Aspose.Pdf.Document pdfDocument = new Aspose.Pdf.Document(filePath);
foreach (var page in pdfDocument.Pages)
{
Aspose.Pdf.Text.TableAbsorber absorber = new Aspose.Pdf.Text.TableAbsorber();
absorber.Visit(page);
foreach (AbsorbedTable table in absorber.TableList)
{
Console.WriteLine("Table");
foreach (AbsorbedRow row in table.RowList)
{
foreach (AbsorbedCell cell in row.CellList)
{
foreach (TextFragment fragment in cell.TextFragments)
{
var sb = new StringBuilder();
foreach (TextSegment seg in fragment.Segments)
sb.Append(seg.Text);
Console.Write("{sb.ToString()}|");
}
}
Console.WriteLine();
}
}
}
C#에서 PDF 테이블 데이터를 CSV로 변환
PDF에서 테이블 데이터를 추출한 후에는 CSV와 같이 더 접근하기 쉬운 형식으로 저장하고 싶을 수 있습니다. CSV(쉼표로 구분된 값)는 Microsoft Excel, Google Sheets 및 많은 데이터 처리 시스템과 같은 애플리케이션에서 널리 지원됩니다. 이 섹션에서는 PDF 테이블 데이터를 C#에서 CSV로 변환합니다.
다음 단계에서는 C#에서 PDF 테이블의 데이터를 CSV 형식으로 내보내는 방법을 보여줍니다.
- PDF 문서 로딩: PDF 문서는 이전과 마찬가지로 Document 객체에 로딩됩니다.
- ExcelSaveOptions: ExcelSaveOptions의 인스턴스가 CSV로 설정된 형식으로 생성됩니다. 이렇게 하면 PDF의 테이블 데이터가 CSV 파일로 직접 내보내집니다.
- CSV 파일 저장: Save 메서드는 PDF 테이블 데이터를 .csv 파일로 내보내기 위해 호출됩니다.
아래 코드 샘플은 C#에서 PDF 테이블을 CSV 형식으로 변환하는 방법을 보여줍니다.
// PDF 문서 로드
Document pdfDocument = new Document("input.pdf");
// ExcelSave 옵션 개체 인스턴스화
ExcelSaveOptions excelSave = new ExcelSaveOptions { Format = ExcelSaveOptions.ExcelFormat.CSV };
// XLS 형식으로 출력을 저장합니다.
pdfDocument.Save("PDFToXLS_out.xlsx", excelSave);
무료 라이센스 받기
평가 제한 없이 API의 다양한 기능을 테스트하기 위해 무료 임시 라이선스를 받을 수 있습니다.
요약해서
PDF에서 표를 추출하고 C#에서 CSV 형식으로 데이터를 내보내는 작업은 C#에서 간단하고 효율적으로 수행할 수 있습니다. 표 추출을 자동화하는 기능은 CSV와 같은 보다 유연한 형식으로 PDF에서 표 데이터를 분석하거나 공유해야 하는 시나리오에 도움이 됩니다. 이 블로그 게시물의 단계를 따르면 PDF 파일에서 표 데이터를 쉽게 검색하고 저장할 수 있습니다. 이 프로세스는 특히 데이터 분석, 보고 또는 그렇지 않으면 딱딱한 PDF 문서에서 구조화된 데이터가 필요한 모든 작업에 유용합니다. 질문이 있는 경우 forum에서 문의해 주세요.