Word 문서에서 그림을 추출하는 방법 (GroupDocs.Editor for Java 사용)
프로그램matically Word 파일에서 그림을 추출해야 한다면, 여기가 바로 적절한 곳입니다. 이 튜토리얼에서는 Java에서 Word 문서를 로드하고, 에디터를 구성하며, 이미지, 폰트, CSS를 추출하는 과정을 단계별로 안내합니다—GroupDocs.Editor for Java를 사용해 문서 처리 파이프라인을 자동화하는 데 필요한 정확한 단계입니다.
배우게 될 내용:
- GroupDocs.Editor를 사용한 load word document java 방법
- Java에서 extract images java 및 기타 임베디드 자산 추출 방법
- 스타일 재사용을 위한 extract css java 방법
- 리소스를 디스크에 저장하는 모범 사례
- 리소스를 추출하면 시간과 노력을 절약할 수 있는 실제 시나리오
문서 워크플로를 간소화할 준비가 되셨나요? 바로 시작해봅시다!
빠른 답변
- “extract pictures from word”가 의미하는 바는? 프로그램matically Word 파일에서 이미지, 폰트, CSS 및 기타 임베디드 자산을 추출하는 것을 의미합니다.
- Java에서 이를 처리하는 라이브러리는? GroupDocs.Editor for Java가 이 작업을 위한 고수준 API를 제공합니다.
- 라이선스가 필요한가요? 테스트용 무료 체험판으로 사용 가능하며, 프로덕션에서는 정식 라이선스가 필요합니다.
- DOCX와 DOC 파일을 모두 처리할 수 있나요? 예—두 형식 모두 완전히 지원됩니다.
- 대용량 문서에도 안전한가요? 예, 하지만 200 MB 이상 파일은 배치 처리와 적절한 메모리 해제를 고려해야 합니다.
Word 문서에서 리소스 추출이란?
리소스 추출은 Word 파일에 포함된 모든 임베디드 자산(그림, 사용자 정의 폰트, 스타일 시트, 매크로 및 기타 바이너리 객체)을 체계적으로 가져오는 것을 의미합니다. 이러한 구성 요소를 추출하면 개발자는 별도 애플리케이션에서 재사용하거나, 규정 준수를 위해 보관하거나, 웹 친화적인 형식으로 변환하여 원본 문서의 가치를 확장할 수 있습니다.
왜 GroupDocs.Editor for Java를 사용해야 할까요?
GroupDocs.Editor for Java는 Office Open XML 형식을 추상화하여 how to extract pictures from word에 집중할 수 있게 해 줍니다. 저수준 ZIP이나 XML 코드를 작성할 필요가 없습니다. 30개 이상의 입력 및 출력 형식을 지원하며, 전체 파일을 메모리에 로드하지 않고 500 MB까지의 문서를 처리할 수 있어 속도와 확장성을 동시에 제공합니다.
사전 요구 사항
- Maven(또는 직접 JAR 다운로드)으로 종속성을 관리합니다.
- **JDK 8+**이 개발 머신에 설치되어 있어야 합니다.
- IntelliJ IDEA 또는 Eclipse와 같은 IDE를 사용해 Java 코드를 편집하고 실행합니다.
GroupDocs.Editor for Java 설정
pom.xml에 저장소와 종속성을 추가합니다:
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://releases.groupdocs.com/editor/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-editor</artifactId>
<version>25.3</version>
</dependency>
</dependencies>
또한 최신 JAR는 GroupDocs.Editor for Java releases에서 다운로드할 수 있습니다.
라이선스 획득
- Free Trial: API를 탐색하기에 완벽합니다.
- Temporary License: GroupDocs Temporary License Page에서 발급받으세요.
- Full License: 제한 없는 프로덕션 사용을 위해 구매합니다.
기본 초기화
Editor는 Word 파일을 로드, 편집 및 리소스 추출하는 메서드를 제공하는 GroupDocs.Editor for Java의 주요 진입점입니다.
Word 파일을 가리키는 Editor 인스턴스를 생성합니다:
String inputFilePath = "YOUR_DOCUMENT_DIRECTORY";
Editor editor = new Editor(inputFilePath, new WordProcessingLoadOptions());
Word 문서에서 리소스를 추출하는 방법
리소스 추출은 대상 Word 파일을 Editor 인스턴스로 로드하고, WordProcessingEditOptions를 구성해 이미지, 폰트 및 CSS 추출을 활성화하는 것으로 시작합니다. 문서가 준비되면 API가 각 리소스 유형에 대한 컬렉션을 제공하며, 이를 반복하여 파일 시스템에 저장하거나 워크플로 요구사항에 따라 추가 처리할 수 있습니다.
Step 1: 문서를 로드하고 편집 준비
// Initialize editor and edit options
String inputFilePath = "YOUR_DOCUMENT_DIRECTORY";
Editor editor = new Editor(inputFilePath, new WordProcessingLoadOptions());
WordProcessingEditOptions editOptions = new WordProcessingEditOptions();
editOptions.setFontExtraction(FontExtractionOptions.ExtractAll);
EditableDocument beforeEdit = editor.edit(editOptions);
FontExtractionOptions.ExtractAll 플래그는 모든 임베디드 폰트를 추출할 수 있도록 보장합니다.
Step 2: 이미지, 폰트 및 스타일시트 추출
List<IImageResource> images = beforeEdit.getImages();
List<FontResourceBase> fonts = beforeEdit.getFonts();
List<CssText> stylesheets = beforeEdit.getCss();
이 세 호출을 통해 각 리소스 유형의 컬렉션을 얻을 수 있으며, 이후 추가 처리에 바로 사용할 수 있습니다.
Step 3: 추출된 리소스를 디스크에 저장
String outputFolderPath = "YOUR_OUTPUT_DIRECTORY";
for (int i = 0; i < images.size(); i++) {
IImageResource oneImage = images.get(i);
File outputFile = new File(outputFolderPath + oneImage.getFilenameWithExtension());
oneImage.save(outputFile.getAbsolutePath());
}
for (int i = 0; i < fonts.size(); i++) {
FontResourceBase oneFont = fonts.get(i);
File outputFile = new File(outputFolderPath + oneFont.getFilenameWithExtension());
oneFont.save(outputFile.getAbsolutePath());
}
for (int i = 0; i < stylesheets.size(); i++) {
CssText oneStylesheet = stylesheets.get(i);
File outputFile = new File(outputFolderPath + oneStylesheet.getFilenameWithExtension());
oneStylesheet.save(outputFile.getAbsolutePath());
}
각 루프는 outputFolderPath에 해당 리소스를 원본 파일명 그대로 저장합니다.
Step 4: 리소스 내용을 직접 가져오기 (선택 사항)
예를 들어 HTML 이메일에 이미지를 삽입하려는 경우와 같이 원시 바이트 또는 Base64 문자열이 필요하면 다음을 사용합니다:
InputStream ms = images.get(0).getByteContent(); // raw bytes
String base64EncodedResource = images.get(0).getTextContent(); // Base64 string
일반적인 문제와 해결책
| 문제 | 발생 원인 | 해결 방법 |
|---|---|---|
| OutOfMemoryError on large files | 리소스를 한 번에 메모리로 로드하기 때문입니다. | 문서를 작은 배치로 처리하고 각 파일 후에 editor.dispose()를 호출합니다. |
| Missing fonts after extraction | 옵션에서 폰트 추출이 비활성화되었습니다. | editOptions.setFontExtraction(FontExtractionOptions.ExtractAll)가 설정되어 있는지 확인합니다. |
| Images saved with wrong extension | 일부 이미지에 MIME 타입 감지가 제대로 이루어지지 않았습니다. | 저장하기 전에 oneImage.getFilenameWithExtension()을 확인하고 필요시 파일명을 변경합니다. |
자주 묻는 질문
Q: GroupDocs.Editor가 모든 Word 파일 형식을 지원하나요?
A: 예, DOCX, DOC 및 기타 Microsoft Word 형식을 지원합니다.
Q: 암호로 보호된 문서에서도 리소스를 추출할 수 있나요?
A: 물론입니다. Editor를 생성할 때 WordProcessingLoadOptions에 비밀번호를 제공하면 됩니다.
Q: 매우 큰 문서에서 API 성능은 어떻습니까?
A: 속도에 최적화되어 있으며, 200 MB 이상 파일의 경우 배치 처리하거나 섹션을 순차적으로 추출하는 것을 권장합니다.
Q: 이 기능을 Spring Boot 또는 다른 Java 프레임워크와 통합할 수 있나요?
A: 예. API는 프레임워크에 구애받지 않으며, 종속성을 포함하고 필요 시 Editor를 주입하면 됩니다.
Q: 이미지만 추출하고 폰트나 CSS는 제외하고 싶다면 어떻게 해야 하나요?
A: beforeEdit.getImages()만 호출하고 폰트/CSS 추출 단계는 건너뛰면 됩니다.
결론
이제 GroupDocs.Editor for Java를 사용해 Word 문서에서 그림을 추출하는 전체 프로세스를 마스터했습니다. 문서를 로드하고, 편집 옵션을 구성한 뒤 반환된 리소스 컬렉션을 반복하면 아카이빙, 템플릿 생성 및 동적 콘텐츠 생성 작업을 손쉽게 자동화할 수 있습니다.
다음 단계:
- 다양한
WordProcessingEditOptions를 실험해 추출을 세밀하게 조정합니다. - 이 워크플로를 클라우드 스토리지 SDK와 결합해 리소스를 S3 또는 Azure Blob에 직접 업로드합니다.
- GroupDocs 변환 API를 탐색해 추출된 자산을 다른 형식으로 변환합니다.
마지막 업데이트: 2026-05-22
테스트 대상: GroupDocs.Editor 25.3 for Java
작성자: GroupDocs