Java의 PDF에서 테이블 추출

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 테이블 추출기를 빌드할 수 있습니다.

아래에 언급된 단계와 코드 스니펫을 따를 수 있습니다.

  1. Document 클래스의 개체를 만들고 원본 PDF 파일을 로드합니다.
  2. 검색을 수행하고 검색 결과에 대한 액세스를 제공하는 TableAbsorber 클래스의 인스턴스를 인스턴스화합니다.
  3. getPages 메서드를 호출하여 PDF 문서 페이지를 반복합니다.
  4. visit 메서드를 호출하여 페이지에서 테이블을 추출합니다.
  5. 발견된 테이블이 포함된 읽기 전용 IList를 반환하는 getTableList 메서드를 호출합니다.
  6. getRowList 메서드를 호출하여 행을 가져옵니다. 행 목록을 반복합니다.
  7. getCellList 메서드를 호출하여 셀 목록을 반복합니다.
  8. getTextFragments 메서드를 호출하여 셀에 포함된 텍스트를 설명하는 TextFragment 객체 컬렉션을 가져옵니다.
  9. 현재 TextFragment에 대한 텍스트 세그먼트를 가져오는 getSegments 메서드를 호출합니다.
  10. 결과를 인쇄합니다.

다음 코드를 복사하여 기본 파일에 붙여넣습니다.

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 문서에서 테이블을 추출하는 단계와 코드 스니펫을 확인하십시오.

또한보십시오