[java] Apache PDFBox를 이용한 PDF 파일 읽기

Apache PDFBox는 Java로 작성된 라이브러리로, PDF 파일을 생성하고 처리하는 기능을 제공합니다. 이 라이브러리를 사용하여 Java 프로그램에서 PDF 파일을 읽고 데이터를 추출하는 방법에 대해 알아보겠습니다.

PDF 파일 가져오기

PDF 파일을 읽기 위해서 먼저 Maven 또는 Gradle과 같은 의존성 관리 도구를 사용하여 PDFBox를 프로젝트에 추가해야 합니다. Maven을 사용하는 경우, pom.xml 파일에 다음과 같은 의존성을 추가합니다.

<dependency>
    <groupId>org.apache.pdfbox</groupId>
    <artifactId>pdfbox</artifactId>
    <version>2.0.24</version>
</dependency>

Gradle을 사용하는 경우, build.gradle 파일에 다음과 같이 의존성을 추가합니다.

implementation 'org.apache.pdfbox:pdfbox:2.0.24'

의존성을 추가한 후에는 PDF 파일을 가져와야 합니다.

import org.apache.pdfbox.pdmodel.PDDocument;

import java.io.File;
import java.io.IOException;

public class PdfReader {

    public static void main(String[] args) {
        try {
            File file = new File("example.pdf");
            PDDocument document = PDDocument.load(file);
            // 파일 처리
            document.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위의 예제에서는 example.pdf라는 이름의 PDF 파일을 읽어들이고 있습니다.

PDF에서 텍스트 추출

PDF 파일에서 텍스트를 추출하려면 PDFTextStripper 클래스를 사용해야 합니다.

import org.apache.pdfbox.text.PDFTextStripper;

import java.io.File;
import java.io.IOException;

public class PdfTextExtractor {

    public static void main(String[] args) {
        try {
            File file = new File("example.pdf");
            PDDocument document = PDDocument.load(file);
            PDFTextStripper pdfTextStripper = new PDFTextStripper();
            String text = pdfTextStripper.getText(document);
            System.out.println(text);
            document.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위의 예제에서는 PDFTextStripper를 사용하여 PDF 파일에서 텍스트를 추출하고 콘솔에 출력하고 있습니다.

Apache PDFBox를 사용하여 PDF 파일을 읽고 데이터를 추출하는 방법에 대해 알아보았습니다. PDFBox는 다양한 기능을 제공하므로 PDF 파일을 처리해야 하는 Java 프로젝트에서 매우 유용하게 사용될 수 있습니다.

참고 자료