
PDF는 가장 널리 사용되는 디지털 문서 형식입니다. PDF 문서를 구문 분석하고 프로그래밍 방식으로 문서에서 텍스트와 이미지를 추출할 수 있습니다. 텍스트 분석, 정보 검색, 문서 변환 등과 같은 여러 경우에 유용할 수 있습니다. 이 기사에서는 Java를 사용하여 PDF 문서에서 텍스트와 이미지를 추출하는 방법을 배웁니다.
이 기사에서는 다음 주제를 다룹니다.
- PDF 문서에서 텍스트와 이미지를 추출하는 Java API
- Java를 사용하여 PDF 문서에서 텍스트 추출
- Java를 사용하여 PDF 문서의 특정 페이지에서 텍스트 추출
- Java를 사용하여 PDF 문서에서 이미지 가져오기
- Java를 사용하여 PDF 문서의 특정 페이지에서 이미지 추출
- Java를 사용하여 파일에 이미지 추출 및 저장
PDF 문서에서 텍스트 및 이미지를 추출하는 Java API
PDF 문서에서 텍스트와 이미지를 추출하기 위해 GroupDocs.Parser for Java API를 사용할 것입니다. 지원 형식의 파일에서 원시, 형식 및 구조화된 텍스트, 메타데이터 및 이미지를 추출할 수 있습니다. API의 JAR을 다운로드하거나 Maven 기반 Java 애플리케이션에서 다음 pom.xml 구성을 추가하십시오.
<repository>
<id>GroupDocsJavaAPI</id>
<name>GroupDocs Java API</name>
<url>https://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-parser</artifactId>
<version>22.3</version>
</dependency>
Java를 사용하여 PDF 문서에서 텍스트 추출
아래 단계에 따라 PDF 문서를 구문 분석하고 텍스트를 추출할 수 있습니다.
- 먼저 Parser 클래스를 사용하여 PDF 파일을 로드합니다.
- 다음으로 Parser.getText() 메서드를 호출하여 로드된 문서에서 텍스트를 추출합니다.
- 그런 다음 TextReader 클래스 개체에서 결과를 가져옵니다.
- 마지막으로 TextReader.readToEnd() 메서드를 호출하여 현재 위치에서 텍스트 리더 끝까지의 모든 문자를 읽고 하나의 문자열로 반환합니다.
다음 코드 샘플은 Java를 사용하여 PDF 파일에서 텍스트를 추출하는 방법을 보여줍니다.
// 이 코드 예제는 PDF를 구문 분석하고 텍스트를 추출하는 방법을 보여줍니다.
// Parser 클래스의 인스턴스 생성
Parser parser = new Parser("D:\\Files\\Parser\\sample.pdf");
// 판독기로 텍스트 추출
try (TextReader reader = parser.getText()) {
// 문서에서 텍스트 인쇄
// 텍스트 추출이 지원되지 않는 경우 판독기는 null입니다.
System.out.println(reader == null ? "Text extraction isn't supported" : reader.readToEnd());
}

Java를 사용하여 PDF 문서에서 텍스트 추출
Java를 사용하여 PDF 문서의 특정 페이지에서 텍스트 추출
아래에 언급된 간단한 단계에 따라 PDF 문서를 구문 분석하고 특정 페이지에서 텍스트를 추출할 수 있습니다.
- 먼저 Parser 클래스를 사용하여 PDF 파일을 로드합니다.
- 다음으로 Parser.getDocumentInfo() 메서드를 사용하여 문서 정보를 가져옵니다.
- 그런 다음 IDocumentInfo.getPageCount()이 0이 아닌지 확인합니다.
- 그런 다음 페이지 인덱스가 있는 Parser.getText() 메서드를 호출하여 해당 페이지에서 텍스트를 추출하고 TextReader 클래스 객체에서 결과를 가져옵니다.
- 마지막으로 TextReader.readToEnd() 메서드를 호출하여 추출된 텍스트를 읽어 결과를 표시합니다.
다음 코드 샘플은 Java를 사용하여 특정 페이지에서 텍스트를 추출하는 방법을 보여줍니다.
// 이 코드 예제는 PDF를 구문 분석하고 특정 페이지에서 텍스트를 추출하는 방법을 보여줍니다.
// Parser 클래스의 인스턴스 생성
Parser parser = new Parser("D:\\Files\\Parser\\sample.pdf");
// 문서 정보 얻기
IDocumentInfo documentInfo = parser.getDocumentInfo();
// 문서에 페이지가 있는지 확인
if (documentInfo == null || documentInfo.getRawPageCount() == 0) {
System.out.println("Document hasn't pages.");
return;
}
// 판독기로 텍스트 추출
try (TextReader reader = parser.getText(1)) {
// 문서에서 텍스트 인쇄
// 텍스트 추출이 지원되지 않는 경우 판독기는 null입니다.
System.out.println(reader.readToEnd());
}
API는 문서가 텍스트 추출 기능을 지원하는지 여부도 확인할 수 있습니다. 이를 위해 Parser.getFeature().isText() 속성을 사용할 수 있습니다. 지원 기능에 대해 자세히 알아보세요.
Java를 사용하여 PDF 문서에서 이미지 가져오기
아래 단계에 따라 PDF 문서를 구문 분석하고 이미지를 추출할 수 있습니다.
- 먼저 Parser 클래스를 사용하여 PDF 파일을 로드합니다.
- 다음으로 Parser.getImages() 메서드를 호출하고 로드된 문서에서 PageImageArea 개체 컬렉션을 가져옵니다.
- 그런 다음 컬렉션이 null이 아닌지 확인하십시오.
- 그런 다음 발견된 모든 이미지를 반복합니다.
- 마지막으로 이미지 세부 정보를 표시합니다.
다음 코드 샘플은 Java를 사용하여 PDF 파일에서 이미지 세부 정보를 가져오는 방법을 보여줍니다.
// 이 코드 예제는 PDF를 구문 분석하고 이미지를 가져오는 방법을 보여줍니다.
// Parser 클래스의 인스턴스 생성
Parser parser = new Parser("D:\\Files\\Parser\\images.pdf");
// 이미지 추출
Iterable<PageImageArea> images = parser.getImages();
// 이미지 추출이 지원되는지 확인
if (images == null) {
System.out.println("Images extraction isn't supported");
return;
}
// 이미지 반복
for (PageImageArea image : images) {
// 페이지 인덱스, 직사각형 및 이미지 유형 인쇄:
System.out.println("Page: " + image.getPage().getIndex());
System.out.println("Image Rectangle: " + image.getRectangle());
System.out.println("Image Filetype: " + image.getFileType());
System.out.println("----------------------------------------");
}

Java를 사용하여 PDF 문서에서 이미지 가져오기
Java를 사용하여 PDF 문서의 특정 페이지에서 이미지 추출
아래에 언급된 간단한 단계에 따라 특정 페이지에서 이미지를 추출할 수 있습니다.
- 먼저 Parser 클래스를 사용하여 PDF 파일을 로드합니다.
- 다음으로 Parser.getDocumentInfo() 메서드를 사용하여 문서 정보를 가져옵니다.
- 그런 다음 IDocumentInfo.getPageCount()이 0이 아닌지 확인합니다.
- 그런 다음 페이지 인덱스가 있는 Parser.getImages() 메서드를 호출하여 해당 페이지에서 이미지를 추출합니다.
- 마지막으로 찾은 모든 이미지를 반복하고 세부 정보를 표시합니다.
다음 코드 샘플은 Java를 사용하여 특정 페이지에서 이미지를 추출하는 방법을 보여줍니다.
// 이 코드 예제는 PDF를 구문 분석하고 특정 페이지에서 이미지를 가져오는 방법을 보여줍니다.
// Parser 클래스의 인스턴스 생성
Parser parser = new Parser("D:\\Files\\Parser\\images.pdf");
// 문서 정보 얻기
IDocumentInfo documentInfo = parser.getDocumentInfo();
// 문서에 페이지가 있는지 확인
if (documentInfo.getPageCount() == 0) {
System.out.println("Document hasn't pages.");
return;
}
int pageIndex = 1;
// 이미지 반복
// 이전에 이미지 추출 기능 지원을 확인했기 때문에 null 검사를 무시합니다.
for (PageImageArea image : parser.getImages(pageIndex)) {
// 페이지 인덱스, 직사각형 및 이미지 유형 인쇄:
System.out.println("Page: " + image.getPage().getIndex());
System.out.println("Image Rectangle: " + image.getRectangle());
System.out.println("Image Filetype: " + image.getFileType());
System.out.println("----------------------------------------");
}
Java를 사용하여 파일에 이미지 추출 및 저장
아래 단계에 따라 추출된 이미지를 저장할 수도 있습니다.
- 먼저 Parser 클래스를 사용하여 PDF 파일을 로드합니다.
- 다음으로 Parser.getImages() 메서드를 호출하고 로드된 문서에서 PageImageArea 객체 컬렉션을 가져옵니다.
- 그런 다음 ImageOptions 클래스의 인스턴스를 만들고 이미지 형식을 설정합니다.
- 그런 다음 발견된 모든 이미지를 반복합니다.
- 마지막으로 save() 메서드를 사용하여 저장합니다. 출력 파일 경로와 ImageOptions를 인수로 사용합니다.
다음 코드 샘플은 Java를 사용하여 이미지를 추출하고 파일에 저장하는 방법을 보여줍니다.
// 이 코드 예제는 디렉터리에서 이미지를 추출하는 방법을 보여줍니다.
// Parser 클래스의 인스턴스 생성
Parser parser = new Parser("D:\\Files\\Parser\\images.pdf");
// 문서에서 이미지 추출
Iterable<PageImageArea> images = parser.getImages();
// 이미지 추출이 지원되는지 확인
if (images == null) {
System.out.println("Page images extraction isn't supported");
return;
}
// 이미지를 PNG 형식으로 저장하는 옵션 만들기
ImageOptions options = new ImageOptions(ImageFormat.Png);
int imageNumber = 0;
// 이미지 반복
for (PageImageArea image : images)
{
// 이미지를 PNG 파일로 저장
image.save(String.format("D:\\Files\\Parser\\Images\\%d.png", imageNumber), options);
imageNumber++;
}

Java를 사용하여 파일에 이미지 추출 및 저장
무료 라이선스 받기
임시 무료 라이선스를 요청하면 평가 제한 없이 API를 사용해 볼 수 있습니다.
결론
이 문서에서는 다음 방법을 배웠습니다.
- Java를 사용하여 전체 PDF 문서 또는 문서의 특정 페이지에서 모든 텍스트를 추출합니다.
- 프로그래밍 방식으로 PDF 파일에서 이미지를 추출합니다.
- 추출된 이미지를 로컬 디스크에 저장합니다.
또한 문서를 사용하여 Java API용 GroupDocs.Parser에 대해 자세히 알아볼 수 있습니다. 모호한 부분이 있는 경우 포럼을 통해 언제든지 문의해 주십시오.