Java 프로그램을 통해 PDF에서 텍스트 추출
PDF는 업무에서 많이 사용되는 파일 형식으로, 공유와 저장에 편리합니다. PDF 내의 텍스트를 개별적으로 편집하거나 저장하려면 텍스트를 추출하여 후속 처리를 위해 다른 파일에 저장하는 것이 좋습니다. 파일 수가 적다면 전문적인 PDF 리더 소프트웨어를 사용하여 텍스트를 수동으로 추출할 수 있습니다. 그러나 파일 수가 많다면 프로그래밍 방식으로 일괄적으로 PDF에서 텍스트를 추출하는 것이 가능합니다. 이 문서에서는 Java 프로그램을 예로 들어 PDF의 모든 텍스트를 추출하는 방법을 안내합니다.
필요한 도구
IntelliJ IDEA 2018 (jdk 1.8.0)
Free Spire.PDF for Java는 PDF 문서 생성, 편집 및 변환을 지원하는 무료 Java 라이브러리입니다. 단, 이용시 일부 페이지 제한이 있을 수 있습니다.
또는 직접 상용 버전 체험판을 신청하세요.
상용 버전 Spire.PDF for Java
무료 시험판 Temporary License
준비 작업
다음 링크에서Free Spire.PDF for Java를 다운로드하고 압축을 푸세요.
IDEA에서 새 프로젝트를 만들고 열어주세요.
File > Project Structure > Modules >Dependencies을 차례로 클릭합니다.
"+"에서 JAR or Directories를 선택합니다.
압축 해제된 lib 폴더에서 Spire.Pdf.jar를 찾아 해당 파일을 프로젝트에 추가하세요.
암호
방법 소개
특정 경로에 있는 Sample.pdf를 로드하는 PdfDocument 객체를 생성합니다.
getPages() 메서드를 호출하여 PdfPageCollection 객체를 가져옵니다. 그런 다음 get(0)을 사용하여 문서의 첫 번째 페이지를 얻습니다. 여기에서 인덱스는 0부터 계산됩니다. 마지막으로 얻은 첫 번째 페이지의 PdfPageBase 객체를 변수인 page에 할당하여 추가 처리할 수 있도록 합니다.
이전에 얻은 페이지를 매개변수로 전달하여 PdfTextExtractor 객체를 생성합니다.
텍스트 추출 옵션을 설정하기 위해 PdfTextExtractOptions 객체를 생성합니다. 모든 텍스트를 추출하는 경우 기본 옵션을 사용하면 됩니다.
PdfTextExtractor.extract() 메서드를 호출하여 텍스트를 추출합니다. 이 메서드는 추출된 텍스트가 포함된 문자열을 반환합니다.
마지막으로, 추출된 텍스트를 지정된 파일에 작성합니다.
완전한 코드
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.texts.PdfTextExtractOptions;
import com.spire.pdf.texts.PdfTextExtractor;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
public class ExtractTextFromPage {
public static void main(String[] args) throws IOException {
PdfDocument doc = new PdfDocument();
doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.pdf");
PdfPageBase page = doc.getPages().get(0);
PdfTextExtractor textExtractor = new PdfTextExtractor(page);
PdfTextExtractOptions extractOptions = new PdfTextExtractOptions();
String text = textExtractor.extract(extractOptions);
Files.write(Paths.get("output/Extracted.txt"), text.getBytes());
}
}
