25.5"
Author line: “작성자: GroupDocs”
Now ensure we keep markdown formatting exactly.
Check for any missing placeholders: CODE_BLOCK_0-4 are kept.
Check for any shortcodes: none.
Check for URLs: unchanged.
Now produce final content.# Java에서 GroupDocs.Parser를 사용하여 ZIP 파일에서 텍스트 추출
Java 애플리케이션에서 zip 아카이브의 텍스트를 추출해야 한다면, GroupDocs.Parser가 깔끔하고 통합된 API를 제공하여 복잡한 작업을 대신 처리해 줍니다. 이메일 첨부 파일, 대량 문서 업로드, 백업 번들 등을 다루는 경우에도, 이 튜토리얼은 Maven 설정부터 ZIP 내부의 각 파일을 순회하며 읽을 수 있는 콘텐츠를 추출하는 과정까지 모두 안내합니다.
빠른 답변
- 어떤 라이브러리를 사용해야 하나요? GroupDocs.Parser for Java.
- ZIP 내부의 모든 파일에서 텍스트를 추출할 수 있나요? 예, 파서가 지원하는 모든 형식에 대해 가능합니다.
- 라이선스가 필요합니까? 평가용 무료 체험이 가능하며, 운영 환경에서는 정식 라이선스가 필요합니다.
- 메모리 사용이 문제가 될까요? try‑with‑resources를 사용하고 항목을 순차적으로 처리하면 메모리 사용량을 낮게 유지할 수 있습니다.
- 필요한 Java 버전은? JDK 8 이상.
배울 내용
- GroupDocs.Parser를 사용하여 Java에서 zip 파일의 텍스트를 추출하는 방법.
- Maven 또는 직접 다운로드를 통한 라이브러리 설정 방법.
- zip 첨부 파일을 Java에서 읽고 컨테이너 지원 여부를 확인하는 실용적인 코드.
- 실제 시나리오, 성능 팁 및 문제 해결 방법.
ZIP 추출에 GroupDocs.Parser를 사용해야 하는 이유
- 통합 API – 하나의 호출로 수십 가지 문서 유형을 처리하므로 별도의 파서를 사용할 필요가 없습니다.
- 컨테이너 인식 – 라이브러리가 ZIP이 추출을 지원하는지 여부를 사전에 알려줍니다.
- 리소스 친화적 – 자동 스트림 처리와 try‑with‑resources 덕분에 메모리 사용량이 적습니다.
사전 요구 사항
시작하기 전에 다음이 준비되어 있는지 확인하세요:
- JDK 8+ 가 설치되고 설정되어 있어야 합니다.
- IntelliJ IDEA 또는 Eclipse와 같은 IDE(Java 호환 편집기라면 무엇이든 가능).
- Maven에 대한 기본 지식(또는 JAR를 수동으로 추가할 수 있는 능력).
필요한 라이브러리, 버전 및 종속성
최신 버전의 GroupDocs.Parser for Java가 필요합니다. Maven 좌표는 아래에 표시됩니다.
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에서 다운로드할 수 있습니다.
라이선스 획득
- 무료 체험: 기능을 살펴볼 수 있는 체험판을 시작하세요.
- 임시 라이선스: 제한 없이 테스트할 수 있는 임시 키를 사용하세요.
- 구매: 운영 환경에서는 평가 제한을 해제하는 정식 라이선스를 구입하세요.
Java에서 zip 텍스트 추출 방법
아래에서는 구현을 두 가지 실용적인 기능으로 나누어 설명합니다:
- zip 첨부 파일 추출 – 아카이브 내부 각 파일의 텍스트를 추출합니다.
- 컨테이너 추출 지원 확인 – ZIP이 처리 가능하고 내용물을 나열할 수 있는지 검증합니다.
기능 1 – Zip 첨부 파일 추출
단계 1: 파서 초기화
try (Parser parser = new Parser("YOUR_DOCUMENT_DIRECTORY/SampleZip.zip")) {
// Proceed with extraction logic...
}
단계 2: 첨부 파일 순회 및 텍스트 추출
Iterable<ContainerItem> attachments = parser.getContainer();
if (attachments == null) {
System.out.println("Container extraction isn't supported");
} else {
for (ContainerItem item : attachments) {
try (Parser attachmentParser = item.openParser()) {
// Attempt to extract text from each zip entity
try (TextReader reader = attachmentParser.getText()) {
String extractedText = reader == null ? "No text" : reader.readToEnd();
System.out.println(extractedText);
}
} catch (UnsupportedDocumentFormatException ex) {
System.out.println("The format of the contained document isn't supported.");
}
}
}
여기서 무슨 일이 일어나고 있나요?
parser.getContainer()는 ZIP 내부 모든 항목에 대한 iterable을 반환합니다.- 각
ContainerItem에 대해 전용Parser인스턴스를 열어(item.openParser()) 사용합니다. attachmentParser.getText()는 텍스트 내용을 읽으려 시도하며, 형식이 지원되지 않으면 예외를 잡아 넘어갑니다.
기능 2 – 컨테이너 추출 지원 확인
단계 1: 파서 초기화 (앞과 동일)
try (Parser parser = new Parser("YOUR_DOCUMENT_DIRECTORY/SampleZip.zip")) {
// Check supported operations...
}
단계 2: ZIP 내부 파일 경로 나열
Iterable<ContainerItem> attachments = parser.getContainer();
if (attachments == null) {
System.out.println("Container extraction isn't supported");
} else {
for (ContainerItem item : attachments) {
System.out.println(item.getFilePath()); // Output the file path of each item
}
}
왜 중요한가요:
내부 구조를 알면 아카이브를 처리할지, 지원되지 않는 파일을 건너뛸지, 사용자에게 미리보기를 제공할지 결정하는 데 도움이 됩니다.
실용적인 적용 사례
- 이메일 첨부 파일 처리 – 압축된 이메일 첨부 파일에서 텍스트를 자동으로 추출하고 색인화합니다.
- 문서 관리 시스템 – 사용자가 여러 파일을 zip으로 묶어 대량 업로드하는 경우에도 내용 검색이 가능합니다.
- 백업 및 복원 검증 – 복원 전에 압축된 문서에 예상 텍스트가 포함되어 있는지 확인합니다.
성능 고려 사항
- 반복 처리: 예제는 파일을 하나씩 읽어 대용량 아카이브에서도 메모리 급증을 방지합니다.
- Try‑with‑Resources: 각
Parser와TextReader가 즉시 닫히도록 보장하여 리소스 누수를 방지합니다. - 스레딩(고급): 대용량 ZIP의 경우 루프를 병렬화할 수 있지만, 각 스레드가 자체
Parser인스턴스를 사용하도록 해야 합니다.
일반적인 문제와 해결책
| Issue | Cause | Fix |
|---|---|---|
Container extraction isn't supported | ZIP에 파서가 처리할 수 없는 형식이 포함되어 있습니다. | 아카이브 내부 파일 유형을 확인하고, 지원되는 형식만 파싱하도록 합니다. |
UnsupportedDocumentFormatException | 중첩된 문서의 형식을 인식하지 못했습니다. | 파일을 건너뛰거나, zip하기 전에 지원되는 형식으로 변환합니다. |
| Memory spikes with large archives | 많은 파일을 동시에 로드하고 있습니다. | 예시와 같이 항목을 하나씩 처리하고, 모든 추출 텍스트를 컬렉션에 저장하지 않도록 합니다. |
자주 묻는 질문
Q: GroupDocs.Parser Java란 무엇인가요?
A: PDF, Office 파일 등 다양한 문서 형식에서 텍스트, 메타데이터 및 이미지를 추출하는 라이브러리입니다.
Q: 이 라이브러리를 사용해 zip에서 텍스트가 아닌 파일(예: 이미지)도 추출할 수 있나요?
A: 기본 초점은 텍스트 추출이지만, 추가 API 호출을 통해 이미지 및 기타 바이너리 콘텐츠도 가져올 수 있습니다.
Q: 매우 큰 ZIP 파일을 효율적으로 처리하려면 어떻게 해야 하나요?
A: 위에서 보여준 반복 접근 방식을 사용하고, try‑with‑resources 블록 안에 파서를 유지하며, 모든 내용을 한 번에 메모리로 로드하지 않도록 합니다.
Q: GroupDocs.Parser를 상업용 애플리케이션에 사용할 수 있나요?
A: 예, 상업용으로 사용하려면 정식 프로덕션 라이선스가 필요합니다.
Q: 문제가 발생하면 어디에서 도움을 받을 수 있나요?
A: 무료 지원 포럼인 GroupDocs Support Forum에서 문의하세요.
추가 자료
오늘 바로 zip 텍스트 추출 기능을 통합하여 Java 애플리케이션이 아카이브 안에 숨겨진 모든 문서를 읽을 수 있도록 하세요!
마지막 업데이트: 2026-02-21
테스트 환경: GroupDocs.Parser 25.5
작성자: GroupDocs