
경우에 따라 다양한 목적으로 Word 문서에서 텍스트를 추출해야 할 수 있습니다. Java 개발자는 프로그래밍 방식으로 DOC 또는 DOCX 파일에서 텍스트를 쉽게 추출할 수 있습니다. 이 기사에서는 Java를 사용하여 Word 문서에서 텍스트를 추출하는 방법을 배웁니다.
이 문서에서는 다음 주제를 논의/다룹니다.
- Word 문서에서 텍스트를 추출하는 Java API
- Java를 사용하여 Word 문서에서 텍스트 추출
- Java를 사용하여 Word 문서의 특정 페이지에서 텍스트 추출
- Java를 사용하여 Word 문서에서 강조 표시 가져오기
- Java를 사용하여 DOCX에서 형식화된 텍스트 추출
- Java를 사용하여 목차로 텍스트 추출
Word 문서에서 텍스트를 추출하는 Java API
DOC 또는 DOCX 파일에서 텍스트를 추출하기 위해 GroupDocs.Parser for Java API를 사용합니다. Word, PDF, Excel 및 PowerPoint의 인기 있는 파일 형식에서 텍스트, 메타데이터 및 이미지를 추출할 수 있습니다. 또한 지원되는 형식의 파일에서 원시, 형식 및 구조화된 텍스트 추출을 지원합니다.
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>21.2</version>
</dependency>
Java를 사용하여 Word 문서에서 텍스트 추출
아래에 언급된 간단한 단계에 따라 Word 문서를 구문 분석하고 텍스트를 추출할 수 있습니다.
- 먼저 Parser 클래스를 사용하여 DOCX 파일을 로드합니다.
- 그런 다음 Parser.getText() 메서드를 호출하여 로드된 문서에서 텍스트를 추출합니다.
- TextReader 클래스 개체에서 Parser.getText() 메서드의 결과를 가져옵니다.
- 마지막으로 TextReader.readToEnd() 메서드를 호출하여 현재 위치에서 텍스트 판독기 끝까지의 모든 문자를 읽고 하나의 문자열로 반환합니다.
다음 코드 샘플은 Java를 사용하여 DOCX 파일에서 텍스트를 추출하는 방법을 보여줍니다.
// Parser 클래스의 인스턴스 생성
Parser parser = new Parser("C:\\Files\\sample.docx");
// 판독기에 원시 텍스트 추출
try (TextReader reader = parser.getText()) {
// 문서에서 텍스트 인쇄
// 텍스트 추출이 지원되지 않는 경우 판독기는 null입니다.
System.out.println(reader == null ? "Text extraction isn't supported" : reader.readToEnd());
}

Java를 사용하여 Word 문서에서 텍스트 추출
Java를 사용하여 Word 문서의 특정 페이지에서 텍스트 추출
아래에 언급된 간단한 단계에 따라 Word 문서를 구문 분석하고 특정 페이지에서 텍스트를 추출할 수 있습니다.
- 먼저 Parser 클래스를 사용하여 DOCX 파일을 로드합니다.
- 그런 다음 Parser.getFeatures().isText()를 사용하여 문서가 텍스트 추출 기능을 지원하는지 확인합니다. 지원되는 기능에 대해 자세히 알아보세요.
- 이제 Parser.getDocumentInfo() 메서드를 호출하여 문서에 대한 일반 정보를 가져옵니다. 파일 형식, 페이지 수, 크기 등
- IDocumentInfo 인터페이스 개체에서 Parser.getDocumentInfo() 메서드의 결과를 가져옵니다.
- 그런 다음 IDocumentInfo.getPageCount()가 0이 아닌지 확인합니다. 이 메서드는 문서 페이지의 총 수를 반환합니다.
- 모든 페이지를 반복하고 각 페이지 인덱스에 대해 Parser.getText() 메서드를 호출하여 텍스트를 추출하고 TextReader 클래스 개체에서 결과를 가져옵니다.
- 마지막으로 TextReader.readToEnd() 메서드를 호출하여 추출된 텍스트를 읽어 결과를 표시합니다.
다음 코드 샘플은 Java를 사용하여 페이지에서 텍스트를 하나씩 추출하는 방법을 보여줍니다.
// Parser 클래스의 인스턴스 만들기
Parser parser = new Parser("C:\\Files\\sample.docx");
// 문서가 텍스트 추출을 지원하는지 확인
if (!parser.getFeatures().isText()) {
System.out.println("The document doesn't support text extraction.");
return;
}
// 문서 정보 얻기
IDocumentInfo documentInfo = parser.getDocumentInfo();
// 문서에 페이지가 있는지 확인
if (documentInfo.getPageCount() == 0) {
System.out.println("The document has zero pages.");
return;
}
// 페이지 반복
for (int p = 0; p < documentInfo.getPageCount(); p++) {
// 페이지 번호 인쇄
System.out.println(String.format("Page number: %d/%d", p + 1, documentInfo.getPageCount()));
// 판독기로 텍스트 추출
try (TextReader reader = parser.getText(p)) {
// 문서에서 텍스트 인쇄
// 이전에 텍스트 추출 기능 지원을 확인했기 때문에 null 확인을 무시합니다.
System.out.println(reader.readToEnd());
}
}

Java를 사용하여 문서의 특정 페이지에서 텍스트 추출
Java를 사용하여 Word 문서에서 강조 표시 가져오기
하이라이트는 일반적으로 검색 기능에서 찾은 텍스트의 컨텍스트를 설명하는 데 사용되는 텍스트의 일부입니다. 아래에 언급된 간단한 단계에 따라 문서에서 하이라이트를 추출할 수 있습니다.
- 먼저 Parser 클래스를 사용하여 DOCX 파일을 로드합니다.
- HighlightOptions 클래스 객체의 인스턴스를 만들고 고정 길이 하이라이트를 추출하기 위해 생성자에 입력 매개변수로 최대 길이를 전달합니다.
- 그런 다음 Parser.getHighlight() 메서드를 시작 위치와 HighlightOptions 클래스 객체로 호출하여 문서에서 HighlightItem 클래스의 객체로 하이라이트를 추출합니다.
- 마지막으로 Highlight.getPosition() 및 HighlightItem.getText() 메서드를 호출하여 강조 표시의 위치와 텍스트를 가져옵니다.
다음 코드 샘플은 Java를 사용하여 문서에서 하이라이트를 추출하는 방법을 보여줍니다.
// Parser 클래스의 인스턴스 만들기
try (Parser parser = new Parser("C:\\Files\\sample.docx")) {
// 하이라이트 추출:
HighlightItem hl = parser.getHighlight(0, true, new HighlightOptions(8));
// 하이라이트 추출이 지원되는지 확인
if (hl == null) {
System.out.println("Highlight extraction isn't supported");
return;
}
// 추출된 하이라이트 인쇄
System.out.println(String.format("At %d: %s", hl.getPosition(), hl.getText()));
}
At 0: Overview
Java를 사용하여 DOCX에서 형식화된 텍스트 추출
아래에 언급된 간단한 단계에 따라 스타일 서식을 잃지 않고 Word 문서를 구문 분석하고 텍스트를 추출할 수 있습니다.
- 먼저 Parser 클래스를 사용하여 DOCX 파일을 로드합니다.
- FormattedTextOptions를 정의하고 FormattedTextMode를 HTML로 설정합니다. 문서에서 HTML 형식의 텍스트를 추출할 수 있습니다.
- 그런 다음 Parser.getFormattedText() 메서드를 호출하여 서식이 지정된 텍스트를 추출합니다.
- TextReader 클래스 개체에서 Parser.getText() 메서드의 결과를 가져옵니다.
- 마지막으로 TextReader.readToEnd() 메서드를 호출하여 모든 텍스트를 읽습니다.
다음 코드 샘플은 Java를 사용하여 DOCX 파일에서 형식이 지정된 텍스트를 추출하는 방법을 보여줍니다.
// Parser 클래스의 인스턴스 생성
try (Parser parser = new Parser("C:\\Files\\sample.docx")) {
// 형식이 지정된 텍스트를 판독기로 추출
try (TextReader reader = parser.getFormattedText(new FormattedTextOptions(FormattedTextMode.Html))) {
// 문서에서 서식 있는 텍스트 인쇄
// 형식화된 텍스트 추출이 지원되지 않는 경우 판독기는 null입니다.
System.out.println(reader == null ? "Formatted text extraction isn't suppported" : reader.readToEnd());
}
}

Java를 사용하여 DOCX에서 형식화된 텍스트 추출
Java를 사용하여 목차로 텍스트 추출
아래에 언급된 간단한 단계에 따라 목차별로 문서에서 텍스트를 추출할 수 있습니다.
- 먼저 Parser 클래스를 사용하여 DOCX 파일을 로드합니다.
- 그런 다음 Parser.getToc() 메서드를 호출하여 TocItem 클래스 개체의 컬렉션으로 목차를 추출합니다. TocItem은 목차 추출 기능에서 사용되는 항목을 나타냅니다.
- 이제 컬렉션이 null이 아닌지 확인하십시오.
- 그런 다음 TocItem의 컬렉션을 반복하고 TocItem.extractText() 메서드를 호출하여 TocItem 객체가 참조하는 문서에서 텍스트를 추출합니다.
- TextReader 클래스 개체에서 결과를 가져옵니다.
- 마지막으로 TextReader.readToEnd() 메서드를 호출하여 모든 텍스트를 읽습니다.
다음 코드 샘플은 Java를 사용하여 Word 문서에서 목차별로 텍스트를 추출하는 방법을 보여줍니다.
// Parser 클래스의 인스턴스 만들기
try (Parser parser = new Parser("C:\\Files\\sampleTOC.docx")) {
// 목차 가져오기
Iterable<TocItem> tocItems = parser.getToc();
// toc 추출이 지원되는지 확인
if (tocItems == null) {
System.out.println("Table of contents extraction isn't supported");
}
else
{
// 항목 반복
for (TocItem tocItem : tocItems) {
// 챕터의 텍스트 인쇄
try (TextReader reader = tocItem.extractText()) {
System.out.println("----");
System.out.println(reader.readToEnd());
}
}
}
}

Java를 사용하여 목차로 텍스트 추출
무료 라이선스 받기
임시 무료 라이선스를 요청하면 평가 제한 없이 API를 사용해 볼 수 있습니다.
결론
이 기사에서는 Java를 사용하여 Word 문서에서 텍스트를 추출하는 방법을 배웠습니다. 또한 프로그래밍 방식으로 DOCX 파일에서 형식이 지정된 텍스트를 추출하는 방법을 살펴보았습니다. 이 기사에서는 목차로 텍스트를 추출하고 문서에서 하이라이트를 추출하는 방법도 설명했습니다. 또한 문서를 사용하여 Java API용 GroupDocs.Parser에 대해 자세히 알아볼 수 있습니다. 모호한 부분이 있는 경우 포럼을 통해 언제든지 문의해 주십시오.