GroupDocs.Parser for Java를 사용하여 Word에서 이미지 추출

Word 파일에서 이미지를 수동으로 추출하는 것은 시간도 많이 걸리고 오류가 발생하기 쉽습니다. 이 튜토리얼에서는 GroupDocs.Parser for Java를 사용하여 Word에서 이미지를 추출하는 방법을 알아보고, 이후 Word 이미지 PNG 저장을 통해 후속 처리에 활용하는 방법을 배웁니다. 라이브러리가 빠른 이유, 설정 방법, 그리고 Java 애플리케이션에 이미지 추출을 통합할 수 있는 모범 사례 팁을 명확히 확인할 수 있습니다.

빠른 답변

  • 라이브러리는 무엇을 하나요? Word, PDF 및 기타 많은 형식을 구문 분석하여 텍스트, 표 및 이미지를 노출합니다.
  • 코드 라인은 몇 줄인가요? Java 코드 약 30줄에 추가 설정 라인 몇 개가 필요합니다.
  • 라이선스가 필요합니까? 개발에는 무료 체험판으로 충분하고, 운영 환경에서는 정식 라이선스가 필요합니다.
  • 내장된 이미지를 추출할 수 있나요? 예 – getImages() 메서드는 모든 내장 이미지를 반환합니다.
  • 지원되는 출력 형식은? 기본은 PNG이며, ImageFormat을 통해 다른 형식도 사용할 수 있습니다.

“Word에서 이미지 추출”이란?

Word에서 이미지 추출은 Microsoft Word 문서에 삽입된 모든 그림 파일을 프로그래밍 방식으로 가져오는 것을 의미합니다. GroupDocs.Parser는 DOCX 또는 DOC 파일의 바이너리 구조를 읽어 각 이미지를 PageImageArea 객체로 제공하므로 Microsoft Word를 열지 않고도 모든 그림을 추출할 수 있습니다. 이 방법은 수동 복사‑붙여넣기를 없애고 인간 오류를 줄이며 배치 작업에서 수천 개 파일을 확장해서 처리할 수 있습니다.

왜 GroupDocs.Parser for Java를 사용하나요?

Word 문서에서 이미지를 속도, 신뢰성, 그리고 크로스‑플랫폼 유연성으로 추출할 수 있습니다. GroupDocs.Parser는 표준 2 CPU 서버에서 200페이지 DOCX를 2초 미만으로 처리하며, Microsoft Office 없이 Windows, Linux, macOS에서 모두 작동합니다. 또한 라이브러리는 손상된 파일도 견디며 접근 가능한 이미지를 반환하므로 대규모 마이그레이션 프로젝트에 이상적입니다.

전제 조건

  • GroupDocs.Parser for Java (버전 25.5 이상)
  • **JDK 8+**가 개발 머신에 설치되어 있어야 합니다
  • IntelliJ IDEA, Eclipse, NetBeans와 같은 IDE가 코드 편집 및 실행에 필요합니다

GroupDocs.Parser for Java 설정

Maven 프로젝트에 라이브러리를 추가합니다:

<repositories>
   <repository>
      <id>repository.groupdocs.com</id>
      <name>GroupDocs Repository</name>
      <url>https://releases.groupdocs.com/parser/java/</url>
   </repository>
</repositories>

<dependencies>
   <dependency>
      <groupId>com.groupdocs</groupId>
      <artifactId>groupdocs-parser</artifactId>
      <version>25.5</version>
   </dependency>
</dependencies>

또는 최신 버전을 직접 GroupDocs.Parser for Java releases에서 다운로드합니다.

라이선스 획득 단계

  • 무료 체험: 기능을 살펴보기 위해 무료 체험으로 시작합니다.
  • 임시 라이선스: 필요 시 확장 테스트를 위해 임시 라이선스를 획득합니다.
  • 구매: 운영 배포를 위해 정식 라이선스를 획득합니다.

구현 가이드

다음은 Word 문서에서 이미지를 추출하고 PNG 파일로 저장하는 완전한 실행 가능한 Java 코드입니다.

단계 1: 파서 초기화

Parser 클래스는 문서를 읽기 위한 진입점입니다. 파일을 메모리로 로드하고 모든 콘텐츠 스트림을 추출 준비합니다.

// Initialize the Parser with the document path.
try (Parser parser = new Parser(documentPath)) {
    // Proceed with image extraction...
}

단계 2: 이미지 추출

PageImageArea 객체는 이미지가 인라인이든, 플로팅이든, 도형의 일부이든 관계없이 문서에서 발견된 각 그림을 나타냅니다.

// Extract images from the document.
Iterable<PageImageArea> images = parser.getImages();

단계 3: 이미지 옵션 구성

ImageOptions를 사용하면 각 그림을 저장하기 전에 출력 형식, 해상도 및 기타 렌더링 설정을 지정할 수 있습니다.

// Set options to save images in PNG format.
ImageOptions options = new ImageOptions(ImageFormat.Png);

단계 4: 각 이미지 저장

ImageFormat 열거형은 PNG, JPEG, BMP와 같은 출력 이미지 형식을 정의합니다.
save 메서드는 바이너리 이미지 데이터를 디스크 파일에 기록합니다. ImageFormat.Png를 전달하면 Word 이미지 PNG 저장 요구사항을 충족합니다.

int imageNumber = 0;
for (PageImageArea image : images) {
    String outputPath = YOUR_OUTPUT_DIRECTORY + "/" + imageNumber + ".png";
    image.save(outputPath, options);
    imageNumber++;
}

단계 5: 경로용 헬퍼 메서드 정의

유틸리티 메서드는 경로 처리를 단순화하고 주요 추출 로직을 깔끔하고 유지 보수하기 쉽게 합니다.

public static String getDocumentDirectory() {
    return YOUR_DOCUMENT_DIRECTORY;
}

public static String getOutputDirectory() {
    return YOUR_OUTPUT_DIRECTORY;
}

YOUR_DOCUMENT_DIRECTORYYOUR_OUTPUT_DIRECTORY를 실제 사용하려는 파일 시스템 경로로 교체합니다.

docx에서 내장 이미지를 추출하는 방법은?

getImages() 메서드는 각 내장 이미지를 나타내는 PageImageArea 객체 컬렉션을 반환합니다.
new Parser("input.docx")로 DOCX를 로드하고 parser.getImages()를 호출하면 메서드가 인라인 그림, 플로팅 도형, VML 드로잉을 포함한 모든 내장 이미지를 자동으로 반환합니다. 추가 API 호출이 필요 없으므로 반환된 컬렉션을 반복하면서 각 PageImageArea를 직접 처리할 수 있습니다.

docx에서 이미지를 추출하여 PNG로 저장하는 방법은?

ImageOptions 인스턴스를 생성하고 options.setImageFormat(ImageFormat.Png)를 설정한 뒤 image.save(outputPath, options)에 전달합니다. 이 설정은 추출된 각 그림이 PNG 파일로 저장되도록 보장하여 Word 이미지 PNG 저장 목표를 달성하면서 원본 해상도와 색 깊이를 유지합니다.

실용적인 활용 사례

  1. 콘텐츠 관리: 레거시 Word 파일에서 이미지를 추출하여 디지털 자산 라이브러리에 저장합니다.
  2. 데이터 마이그레이션: 내장 그래픽을 수동 복사‑붙여넣기 없이 새로운 CMS로 이동합니다.
  3. 문서 보관: 이미지를 별도로 저장하여 보관 용량을 줄이고 검색성을 향상시킵니다.
  4. 자동 게시: 추출된 PNG를 웹 페이지 생성기나 이메일 템플릿에 직접 전달합니다.

성능 고려 사항

  • 메모리 사용량: 대용량 문서를 처리할 때 최소 -Xmx2g를 할당하세요; 파서는 데이터를 스트리밍하여 힙 사용량을 낮게 유지합니다.
  • 배치 처리: 루프 내에서 문서당 하나의 Parser 인스턴스를 재사용하여 객체 생성 오버헤드를 최소화합니다.
  • 파일 핸들: try‑with‑resources 블록을 사용하면 파서가 즉시 닫혀 파일 디스크립터 누수를 방지합니다.

일반적인 문제와 해결책

문제해결책
OutOfMemoryError가 발생하는 대용량 DOCX 파일JVM 힙을 늘리거나 문서를 더 작은 배치로 처리하세요.
이미지가 반환되지 않음문서에 실제로 내장 이미지가 있는지 확인하세요; 일부 “그림”은 이미지로 노출되지 않는 VML 드로잉일 수 있습니다.
잘못된 이미지 방향일부 DOCX 이미지는 EXIF 회전을 저장합니다; 필요하면 이미지 라이브러리로 후처리하세요.

자주 묻는 질문

Q: GroupDocs.Parser가 이미지 추출을 지원하는 파일 형식은 무엇인가요?
A: DOC, DOCX, PDF, PPT, PPTX 등 다양한 형식을 처리하며, 동일한 getImages() 메서드를 통해 이미지를 노출합니다.

Q: 암호로 보호된 Word 파일에서 이미지를 추출할 수 있나요?
A: 예—Parser 생성자에 비밀번호를 전달하면 라이브러리가 문서를 복호화한 뒤 추출합니다.

Q: 특정 이미지 유형만 추출할 수 있나요 (예: JPEG만)?
A: PageImageArea 객체를 가져온 후 image.getFormat()을 확인하고 저장 전에 해당 형식만 필터링하면 됩니다.

Q: 라이브러리가 비동기 처리를 지원하나요?
A: 핵심 API는 동기식이지만, 추출 로직을 별도 스레드에 감싸거나 Java의 CompletableFuture를 사용해 병렬 처리할 수 있습니다.

Q: 운영 환경에서 상용 라이선스가 필요합니까?
A: 평가에는 무료 체험으로 충분하지만, 상용 배포에는 유료 라이선스가 필요합니다.


마지막 업데이트: 2026-08-05
테스트 환경: GroupDocs.Parser 25.5
작성자: GroupDocs

리소스

관련 튜토리얼