
Java의 PDF에서 테이블 추출
최근에 우리는 프로그래밍 방식으로 Java의 PDF 파일에서 텍스트를 추출하는 방법에 대한 문서를 게시했습니다. 이 블로그 게시물에서는 PDF용 Java API를 사용하여 Java에서 PDF에서 테이블을 추출하는 방법을 배웁니다. 이 라이브러리는 PDF 문서를 구문 분석하고 조작하는 강력한 기능을 제공합니다. 또한 이 라이브러리를 사용하여 PDF 테이블 추출기를 구축하여 데이터 추출을 자동화할 수 있습니다. 그러나 계속하기 전에 로컬 시스템에 Java를 설치했는지 확인하십시오.
이 가이드에서는 다음 사항을 다룹니다.
PDF 테이블 추출기 - API 설치
이 라이브러리의 설치 프로세스는 간단하고 간단합니다. 실제로 API를 다운로드하거나 다음 Maven 구성을 사용하여 설치할 수 있습니다.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<classifier>jdk17</classifier>
</dependency>
Java의 PDF에서 테이블 추출
API가 설치되면 코드 작성을 시작하여 프로그래밍 방식으로 PDF 테이블 추출기를 빌드할 수 있습니다.
아래에 언급된 단계와 코드 스니펫을 따를 수 있습니다.
- Document 클래스의 개체를 만들고 원본 PDF 파일을 로드합니다.
- 검색을 수행하고 검색 결과에 대한 액세스를 제공하는 TableAbsorber 클래스의 인스턴스를 인스턴스화합니다.
- getPages 메서드를 호출하여 PDF 문서 페이지를 반복합니다.
- visit 메서드를 호출하여 페이지에서 테이블을 추출합니다.
- 발견된 테이블이 포함된 읽기 전용 IList를 반환하는 getTableList 메서드를 호출합니다.
- getRowList 메서드를 호출하여 행을 가져옵니다. 행 목록을 반복합니다.
- getCellList 메서드를 호출하여 셀 목록을 반복합니다.
- getTextFragments 메서드를 호출하여 셀에 포함된 텍스트를 설명하는 TextFragment 객체 컬렉션을 가져옵니다.
- 현재 TextFragment에 대한 텍스트 세그먼트를 가져오는 getSegments 메서드를 호출합니다.
- 결과를 인쇄합니다.
다음 코드를 복사하여 기본 파일에 붙여넣습니다.
String filePath = "table.pdf";
// Document 클래스의 개체를 만들고 원본 PDF 파일을 로드합니다.
Document pdfDocument = new Document(filePath);
// 검색을 수행하고 검색 결과에 대한 액세스를 제공하는 TableAbsorber 클래스의 인스턴스를 인스턴스화합니다.
TableAbsorber absorber = new TableAbsorber();
// getPages 메서드를 호출하여 PDF 문서 페이지를 반복합니다.
for (Page page : pdfDocument.getPages()) {
// 방문 메소드를 호출하여 페이지에서 테이블 추출
absorber.visit(page);
// 찾은 테이블이 포함된 읽기 전용 IList를 반환하는 getTableList 메서드를 호출합니다.
for (AbsorbedTable table : absorber.getTableList()) {
System.out.println("Table");
// getRowList 메서드를 호출하여 행을 가져옵니다. 행 목록을 반복합니다.
for (AbsorbedRow row : table.getRowList()) {
// getCellList 메소드를 호출하여 셀 목록을 반복합니다.
for (AbsorbedCell cell : row.getCellList()) {
// getTextFragments 메소드를 호출하여 셀에 포함된 텍스트를 설명하는 TextFragment 객체 컬렉션을 가져옵니다.
for (TextFragment fragment : cell.getTextFragments()) {
StringBuilder sb = new StringBuilder();
// 현재 TextFragment에 대한 텍스트 세그먼트를 가져오는 getSegments 메서드를 호출합니다.
for (TextSegment seg : fragment.getSegments())
sb.append(seg.getText());
System.out.print(sb.toString() + "|");
}
}
System.out.println();
}
}
}
무료 라이선스 받기
무료 임시 라이선스를 사용하여 평가 제한 없이 API를 사용해 볼 수 있습니다.
합산
이것으로 이 블로그 포스트를 마칩니다. 프로그래밍 방식으로 Java의 PDF에서 테이블을 추출하는 방법을 배웠습니다. 이 가이드는 비즈니스 애플리케이션을 위한 PDF 테이블 추출기를 구축하려는 경우 정말 도움이 될 것입니다. 또한 문서를 방문하여 다른 기능을 알 수 있습니다.
또한 시작하기 가이드를 따르는 것이 좋습니다.
마지막으로 conholdate.com이 새 블로그 게시물을 작성하고 있습니다. 따라서 최신 업데이트에 대한 연락을 유지하십시오.
질문하기
포럼에서 질문이나 질문에 대해 알려주실 수 있습니다.
자주 묻는 질문
PDF에서 표를 추출할 수 있습니까?
이 링크를 방문하여 프로그래밍 방식으로 PDF 문서에서 테이블을 추출하는 단계와 코드 스니펫을 확인하십시오.