[java] Apache PDFBox를 사용한 PDF 파일 단어 추출

PDF(Portable Document Format) 파일은 많은 사람들이 문서를 공유하고 읽는데 사용하는 인기 있는 형식입니다. 때로는 PDF 파일의 내용을 분석하고 특정 단어를 추출해야 할 때가 있습니다. 이를 위해 Apache PDFBox 라이브러리를 사용할 수 있습니다.

Apache PDFBox는 Java로 작성된 오픈 소스 라이브러리로써, PDF 파일을 생성, 수정, 추출하는 기능을 제공합니다. 이 라이브러리를 사용하면 Java 프로그램으로 PDF 파일의 텍스트 내용을 추출할 수 있습니다.

Apache PDFBox 의존성 추가

Apache PDFBox를 사용하기 위해 먼저 프로젝트에 의존성을 추가해야 합니다. Maven 프로젝트의 경우 pom.xml 파일에 다음 종속성을 추가하십시오.

<dependencies>
    <dependency>
        <groupId>org.apache.pdfbox</groupId>
        <artifactId>pdfbox</artifactId>
        <version>2.0.26</version>
    </dependency>
</dependencies>

Gradle 프로젝트의 경우 build.gradle 파일에 다음 종속성을 추가하십시오.

dependencies {
    implementation 'org.apache.pdfbox:pdfbox:2.0.26'
}

PDF 파일에서 단어 추출하기

이제 Apache PDFBox를 사용하여 PDF 파일에서 단어를 추출해보겠습니다. 아래의 Java 코드는 PDF 파일을 읽고, 단어를 추출한 후 콘솔에 출력하는 예제입니다.

import java.io.IOException;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;

public class PDFWordExtractor {

    public static void main(String[] args) {
        try (PDDocument document = PDDocument.load(new File("sample.pdf"))) {
            PDFTextStripper textStripper = new PDFTextStripper();
            String text = textStripper.getText(document);

            String[] words = text.split("\\s+");

            for (String word : words) {
                System.out.println(word);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위의 코드에서 sample.pdf 파일을 로드하고, PDFTextStripper를 사용하여 텍스트를 추출합니다. 그리고 추출된 텍스트를 공백으로 나누어 단어로 분리한 후 콘솔에 출력합니다.

실행 결과

위의 예제 코드를 실행하면 PDF 파일에서 추출된 단어가 콘솔에 순서대로 출력됩니다.

This
is
a
sample
PDF
file.

결론

Apache PDFBox를 사용하면 Java 프로그램에서 PDF 파일의 단어를 추출할 수 있으며, 이를 활용하여 다양한 작업을 수행할 수 있습니다. 추가로 PDFBox에는 다양한 기능과 설정 옵션이 제공되므로, 필요에 따라 자세한 문서와 예제 코드를 참조하여 활용해보시기 바랍니다.

참고 자료: