[java] Apache PDFBox를 사용한 PDF 파일 OCR(광학 문자 인식)

PDF 파일에 포함된 텍스트를 추출하는 것은 때로는 번거로운 과정일 수 있습니다. 텍스트를 복사해서 붙여넣는 대신 자동으로 텍스트를 추출할 수 있는 기술이 바로 OCR(광학 문자 인식)입니다. 이번 글에서는 Apache PDFBox를 사용하여 Java에서 PDF 파일의 텍스트를 추출하는 방법을 살펴보겠습니다.

Apache PDFBox란?

Apache PDFBox는 Apache 소프트웨어 재단에서 개발되고 유지되는 오픈 소스 Java 라이브러리입니다. PDF 문서를 생성, 수정 및 추출하기 위한 다양한 기능을 제공합니다. PDF 파일의 텍스트 추출 또한 Apache PDFBox의 주요 기능 중 하나입니다.

Apache PDFBox 설치

Apache PDFBox를 사용하기 위해서는 먼저 해당 라이브러리를 다운로드하여 설치해야 합니다. 아래 링크에서 최신 버전의 Apache PDFBox를 다운로드할 수 있습니다.

Apache PDFBox 다운로드 페이지

다운로드한 JAR 파일을 프로젝트의 빌드 패스에 추가해야 합니다.

PDF 파일의 텍스트 추출하기

다음은 Apache PDFBox를 사용하여 PDF 파일의 텍스트를 추출하는 Java 코드의 예입니다.

// 필요한 라이브러리를 임포트합니다.
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;

public class PDFTextExtractor {
    public static void main(String[] args) {
        // 추출할 텍스트를 저장할 변수를 선언합니다.
        StringBuilder extractedText = new StringBuilder();

        try {
            // PDF 파일을 로드합니다.
            PDDocument document = PDDocument.load(new File("example.pdf"));

            // PDF 파일의 모든 페이지에서 텍스트를 추출합니다.
            PDFTextStripper textStripper = new PDFTextStripper();
            for (int i = 1; i <= document.getNumberOfPages(); i++) {
                textStripper.setStartPage(i);
                textStripper.setEndPage(i);
                String text = textStripper.getText(document);
                extractedText.append(text);
            }

            // 추출한 텍스트를 출력합니다.
            System.out.println(extractedText.toString());

            // 메모리를 해제합니다.
            document.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위 코드에서 example.pdf는 추출할 텍스트를 포함한 PDF 파일의 경로를 나타냅니다. 코드를 실행하면 PDF 파일에서 추출된 텍스트가 콘솔에 출력됩니다.

위와 같이 Apache PDFBox를 사용하면 PDF 파일의 텍스트를 간단하고 효율적으로 추출할 수 있습니다.

결론

이번 글에서는 Apache PDFBox를 사용하여 Java에서 PDF 파일의 텍스트를 추출하는 방법을 알아보았습니다. Apache PDFBox는 강력한 기능을 제공하며, 다양한 PDF 처리 작업에 유용하게 사용할 수 있습니다.

더 많은 정보를 원하시거나 Apache PDFBox에 대해 자세히 알아보려면 공식 문서를 참조해주세요.

참조: