[java] PDF 파일에서 특정 키워드 검색(Java Apache PDFBox 사용)

이번 포스트에서는 Java Apache PDFBox 라이브러리를 사용하여 PDF 파일에서 특정 키워드를 검색하는 방법에 대해 알아보겠습니다.

Apache PDFBox 소개

Apache PDFBox는 Java로 개발된 오픈 소스 라이브러리로, PDF 파일을 조작하고 생성하는 데 사용할 수 있습니다. PDF 문서를 읽고 쓰는 기능을 제공하여 효율적으로 PDF 파일을 다룰 수 있습니다.

PDF 파일에서 키워드 검색하기

PDF 파일에서 특정 키워드를 검색하려면 먼저 Apache PDFBox 라이브러리를 프로젝트에 추가해야 합니다. 아래는 Maven을 사용하는 경우의 의존성 설정입니다.

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

검색할 키워드와 PDF 파일의 경로를 입력받는 메서드를 구현해 보겠습니다.

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;

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

public class PdfKeywordSearch {
    public static void main(String[] args) {
        String keyword = "Java"; // 검색할 키워드
        String pdfFilePath = "path/to/pdf/file.pdf"; // PDF 파일 경로

        try {
            PDDocument document = PDDocument.load(new File(pdfFilePath));
            PDFTextStripper textStripper = new PDFTextStripper();

            String pdfContent = textStripper.getText(document);

            if (pdfContent.contains(keyword)) {
                System.out.println("키워드 '" + keyword + "'를 찾았습니다!");
            } else {
                System.out.println("키워드 '" + keyword + "'를 찾을 수 없습니다.");
            }

            document.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위 코드에서는 PDDocument.load() 메서드를 사용하여 PDF 파일을 로드하고, PDFTextStripper.getText() 메서드를 사용하여 PDF 파일의 텍스트 내용을 추출합니다. 추출된 텍스트 내용에 키워드가 포함되어 있는지 확인하여 결과를 출력합니다.

실행 결과 예시입니다.

키워드 'Java'를 찾았습니다!

위 예제에서는 키워드가 단순히 포함되어 있는지만 확인하였지만, 필요에 따라 정규식을 사용하여 더 복잡한 검색도 수행할 수 있습니다.

결론

이번 포스트에서는 Apache PDFBox 라이브러리를 사용하여 Java에서 PDF 파일에서 특정 키워드를 검색하는 방법에 대해 알아보았습니다. PDF 파일을 조작하는 다양한 기능을 제공하는 Apache PDFBox는 PDF 처리에 유용한 도구입니다. PDF 파일을 다루는 작업을 할 때는 Apache PDFBox를 활용해 보시기 바랍니다.

참고 자료: