DOCX를 Markdown으로 변환하고 GroupDocs.Parser Java를 사용하여 서식 있는 텍스트 추출

많은 최신 애플리케이션에서 DOCX를 Markdown으로 변환해야 웹에 서식 있는 텍스트를 표시하거나 검색 색인에 포함시키거나 하위 서비스에서 처리할 수 있습니다. 이 튜토리얼에서는 GroupDocs.Parser for Java를 사용하여 DOCX를 Markdown으로 변환할 뿐만 아니라 문서 페이지 수와 같은 유용한 메타데이터를 가져오는 방법을 안내합니다. 끝까지 진행하면 DOCX 파일에서 Markdown을 자신 있게 추출하고 Java 프로젝트에 통합할 수 있습니다.

빠른 답변

  • GroupDocs.Parser가 DOCX를 Markdown으로 변환할 수 있나요? 예, FormattedTextMode.Markdown과 함께 getFormattedText 메서드를 사용합니다.
  • 문서가 서식 있는 텍스트 추출을 지원하는지 어떻게 확인하나요? parser.getFeatures().isFormattedText()를 호출합니다.
  • 페이지 수를 반환하는 메서드는 무엇인가요? parser.getDocumentInfo().getPageCount()입니다.
  • 프로덕션 사용을 위해 라이선스가 필요합니까? 무제한 사용을 위해서는 유효한 GroupDocs.Parser 라이선스가 필요합니다.
  • 추천 빌드 도구는 무엇인가요? Maven이 의존성 관리를 가장 쉽게 해줍니다.

“DOCX를 Markdown으로 변환”이란?

DOCX 파일을 Markdown으로 변환한다는 것은 Word 문서의 스타일, 헤딩, 리스트, 테이블 및 기타 서식 있는 텍스트 요소를 Markdown 구문으로 변환하는 것을 의미합니다. 이 경량 마크업은 정적 사이트 생성기, 콘텐츠 관리 시스템 및 휴대 가능하고 읽기 쉬운 텍스트가 필요한 모든 상황에 적합합니다.

이 변환에 GroupDocs.Parser를 사용하는 이유

  • High fidelity: Markdown을 생성할 때 대부분의 서식 세부 정보를 보존합니다.
  • Broad format support: DOCX, PDF 및 기타 많은 파일 형식을 지원합니다.
  • Simple API: 몇 줄의 Java 코드만으로 전체 문서 내용을 얻을 수 있습니다.
  • Scalable: 스트리밍 API를 사용해 대용량 문서를 효율적으로 처리합니다.

사전 요구 사항

  • **Java Development Kit (JDK) 8+**가 머신에 설치되어 있어야 합니다.
  • IDE (IntelliJ IDEA, Eclipse, VS Code 등).
  • Maven(또는 수동 JAR 다운로드)으로 의존성을 관리합니다.
  • GroupDocs.Parser 라이선스(무료 체험 또는 구매).

Java용 GroupDocs.Parser 설정

설치

다음과 같이 GroupDocs 저장소와 의존성을 pom.xml에 추가합니다:

<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>

직접 다운로드

Maven을 사용하지 않으려면 최신 JAR 파일을 GroupDocs.Parser for Java releases에서 다운로드할 수 있습니다.

라이선스 획득

평가 제한을 제거하려면:

  • Free Trial: GroupDocs 웹사이트에서 체험 라이선스를 다운로드합니다.
  • Temporary License: GroupDocs 웹사이트를 통해 임시 라이선스를 요청합니다.
  • Full Purchase: 배포 요구에 맞는 프로덕션 라이선스를 구매합니다.

기본 초기화 및 설정

DOCX 파일을 가리키는 Parser 인스턴스를 생성합니다:

import com.groupdocs.parser.Parser;

try (Parser parser = new Parser("YOUR_DOCUMENT_DIRECTORY/sample.docx")) {
    // Code for text extraction or document info retrieval goes here
}

구현 가이드

아래에서는 프로세스를 세 가지 실용적인 기능으로 나눕니다: 지원 여부 확인, 페이지 수 가져오기, Markdown 추출.

기능 1: 문서가 서식 있는 텍스트 추출을 지원하는지 확인

왜 중요한가: 모든 형식이 서식 있는 텍스트 추출을 지원하는 것은 아닙니다. 기능을 확인하면 런타임 예외를 방지할 수 있습니다.

단계 1.1 – 지원 여부 확인

import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.IDocumentInfo;
import com.groupdocs.parser.exceptions.UnsupportedDocumentFormatException;

try (Parser parser = new Parser("YOUR_DOCUMENT_DIRECTORY/sample.docx")) {
    if (!parser.getFeatures().isFormattedText()) {
        System.out.println("Document isn't supported for formatted text extraction.");
    }
}

기능 2: 문서 페이지 수 가져오기

왜 중요한가: 페이지 수를 알면 전체 파일을 처리할지 일부만 처리할지 결정하는 데 도움이 됩니다.

단계 2.1 – 페이지 수 가져오기

import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.IDocumentInfo;
import com.groupdocs.parser.exceptions.UnsupportedDocumentFormatException;

try (Parser parser = new Parser("YOUR_DOCUMENT_DIRECTORY/sample.docx")) {
    IDocumentInfo documentInfo = parser.getDocumentInfo();
    
    if (documentInfo.getPageCount() == 0) {
        System.out.println("Document hasn't any pages.");
    } else {
        System.out.println("Page count: " + documentInfo.getPageCount());
    }
}

기능 3: 문서 페이지에서 서식 있는 텍스트(Markdown) 추출

목표: 각 페이지의 내용을 Markdown으로 변환하여 이어 붙이거나 개별적으로 저장할 수 있습니다.

단계 3.1 – 페이지를 순회하며 Markdown 추출

import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.IDocumentInfo;
import com.groupdocs.parser.options.FormattedTextOptions;
import com.groupdocs.parser.options.FormattedTextMode;
import com.groupdocs.parser.data.TextReader;
import com.groupdocs.parser.exceptions.UnsupportedDocumentFormatException;

try (Parser parser = new Parser("YOUR_DOCUMENT_DIRECTORY/sample.docx")) {
    IDocumentInfo documentInfo = parser.getDocumentInfo();
    
    for (int p = 0; p < documentInfo.getPageCount(); p++) {
        try (TextReader reader = parser.getFormattedText(p, new FormattedTextOptions(FormattedTextMode.Markdown))) {
            System.out.println(reader.readToEnd());
        }
    }
}

핵심 클래스 설명:

  • FormattedTextOptions는 출력 모드(Markdown 등)를 지정할 수 있게 해줍니다.
  • TextReader.readToEnd()는 현재 페이지에 대한 전체 Markdown 문자열을 반환합니다.

실용적인 적용 사례

사용 사례DOCX를 Markdown으로 변환하면 도움이 되는 점
Content Management Systems빠른 렌더링과 버전 관리를 위해 원시 Markdown을 저장합니다.
Data Analysis Tools분석을 위해 헤딩, 테이블, 리스트를 프로그래밍 방식으로 파싱합니다.
Document Conversion ServicesPDF 대신 가벼운 DOCX → Markdown 변환을 제공합니다.
Static Site GeneratorsMarkdown을 Jekyll, Hugo, Gatsby 파이프라인에 직접 전달합니다.

성능 고려 사항

  • Memory Management: 대용량 파일에 대해 -Xmx2g와 같이 충분한 힙을 할당해 OutOfMemoryError를 방지합니다.
  • Parallel Processing: 대량 변환 시 파일을 별도 스레드에서 처리하거나 executor 서비스를 사용합니다.
  • Batch Processing: I/O 오버헤드를 줄이기 위해 파일을 배치로 묶어 처리합니다.

결론

이제 GroupDocs.Parser Java를 사용하여 DOCX를 Markdown으로 변환하고 문서 페이지 수 가져오기 및 각 페이지에서 안전하게 Markdown을 추출하는 방법을 포함한 완전한 프로덕션 준비 가이드를 갖추었습니다. 이러한 코드를 서비스에 통합하고, 대량 변환을 자동화하거나, Markdown과 직접 작업하는 맞춤형 편집기를 구축하세요.

FAQ 섹션

1. Maven 없이 GroupDocs.Parser를 사용할 수 있나요?
예, GroupDocs releases page에서 JAR 파일을 다운로드하여 프로젝트 클래스패스에 추가하면 됩니다.

2. 지원되지 않는 문서는 어떻게 처리하나요?
추출 전에 항상 parser.getFeatures().isFormattedText()를 호출하십시오. false를 반환하면 파일을 건너뛰거나 사용자에게 알립니다.

3. DOCX 외에 GroupDocs.Parser가 추출할 수 있는 다른 형식은 무엇인가요?
GroupDocs.Parser는 PDF, PPTX, XLSX 및 기타 많은 파일 형식을 지원합니다. 전체 목록은 공식 문서를 확인하십시오.

자주 묻는 질문

Q: Markdown 출력이 GitHub Flavored Markdown과 완전히 호환되나요?
A: 생성된 Markdown은 CommonMark 사양을 따르며, GitHub Flavored Markdown이 이를 확장하므로 대부분의 GitHub 환경에서 잘 동작합니다.

Q: DOCX 파일의 특정 섹션만 추출할 수 있나요?
A: 예, getFormattedText 호출에 페이지 범위를 지정하거나 추출 후 TextReader를 사용해 내용을 필터링할 수 있습니다.

Q: 라이브러리가 비밀번호로 보호된 DOCX 파일을 지원하나요?
A: Parser 생성자에 비밀번호를 제공하면 GroupDocs.Parser가 비밀번호 보호된 문서를 열 수 있습니다.

Q: 수천 개 파일의 추출 속도를 어떻게 향상시킬 수 있나요?
A: 스레드 풀을 사용해 파일을 동시에 처리하고 파일당 Parser 인스턴스를 재사용하여 오버헤드를 줄입니다.

Q: 더 많은 예제를 어디서 찾을 수 있나요?
A: 공식 GroupDocs.Parser GitHub 저장소와 문서 사이트에 추가 코드 샘플 및 사용 사례 가이드가 포함되어 있습니다.


마지막 업데이트: 2026-01-03
테스트 환경: GroupDocs.Parser 25.5 for Java
작성자: GroupDocs