GroupDocs.Editor로 DOCX 편집 및 형식 변환하는 방법

.NET 환경에서 GroupDocs.Editor .NET을 사용하여 Word 문서를 손쉽게 관리하고 변환합니다. 이 튜토리얼에서는 docx 편집 방법을 배우고, RTF, DOCM, 일반 텍스트와 같은 형식으로 변환하며, 문서 워크플로를 자동화하여 생산성을 극대화하는 방법을 소개합니다.

빠른 답변

  • 필요한 라이브러리는 무엇인가요? GroupDocs.Editor for .NET (20.10+).
  • DOCX를 RTF로 변환할 수 있나요? 예 – WordProcessingSaveOptionsWordProcessingFormats.Rtf를 사용합니다.
  • TXT로 저장하는 것이 지원되나요? 네, TextSaveOptions를 통해 가능합니다.
  • 라이선스가 필요합니까? 개발용으로는 체험판을 사용할 수 있으며, 라이선스를 구매하면 모든 기능을 사용할 수 있습니다.
  • 다수의 파일을 처리하려면 어떻게 해야 하나요? 코드를 async/await 또는 Parallel.ForEach와 결합하여 배치 처리합니다.

GroupDocs.Editor를 사용한 “docx 편집 방법”이란?

GroupDocs.Editor는 DOCX를 로드하고, 내용을 편집 가능한 HTML로 노출한 뒤, 프로그래밍 방식으로 해당 HTML을 수정하고, 결과를 지원되는 모든 형식으로 저장합니다. 이 방식은 Office 인터롭이 필요 없으며, 모든 서버‑사이드 .NET 플랫폼에서 작동합니다.

문서 워크플로 자동화에 GroupDocs.Editor를 사용하는 이유

  • 서버‑사이드 전용 – Office 설치가 필요 없습니다.
  • 다양한 출력 형식 – RTF, DOCM, TXT, HTML, PDF 등.
  • 고성능 – 배치 시나리오에 최적화된 경량 API.
  • 전체 제어 – 저장 전에 HTML 조각을 편집, 교체 또는 삽입합니다.

사전 요구 사항

  • GroupDocs.Editor 라이브러리 (버전 20.10 이상)
  • .NET Framework 4.7.2 + 또는 .NET 5/6
  • Visual Studio (최근 버전 중 하나)
  • 기본 C# 지식 및 파일 I/O에 대한 이해

GroupDocs.Editor 설치

.NET CLI, Package Manager Console, 또는 NuGet UI를 통해 패키지를 추가할 수 있습니다.

dotnet add package GroupDocs.Editor
Install-Package GroupDocs.Editor

라이선스 획득

무료 체험판으로 시작하거나 임시 라이선스 키를 요청하세요. 프로덕션 환경에서는 무제한 처리를 위해 라이선스를 구매합니다.

DOCX 문서를 로드하고 편집하는 방법

먼저, 편집기를 소스 파일에 지정한 뒤, 편집 가능한 HTML을 가져와 필요한 변경을 수행하고, 마지막으로 수정된 마크업으로 새로운 EditableDocument를 생성합니다.

using (Editor editor = new Editor("YOUR_DOCUMENT_DIRECTORY/sample.docx", new Options.WordProcessingLoadOptions()))
{
    // Your document manipulation code here
}

단계별 코드 설명

  1. 입력 파일 경로 정의
string inputFilePath = "YOUR_DOCUMENT_DIRECTORY/sample.docx";
  1. Editor 인스턴스 생성
using GroupDocs.Editor;
using GroupDocs.Editor.Options;

Editor editor = new Editor(inputFilePath, new Options.WordProcessingLoadOptions());
  1. 문서 HTML 편집
EditableDocument defaultWordProcessingDoc = editor.Edit();
string allEmbeddedInsideString = defaultWordProcessingDoc.GetEmbeddedHtml();
string allEmbeddedInsideStringEdited = allEmbeddedInsideString.Replace("Subtitle", "Edited subtitle");
  1. 편집된 HTML로 새로운 EditableDocument 생성
EditableDocument editedDoc = EditableDocument.FromMarkup(allEmbeddedInsideStringEdited, null);
  1. 임시 객체 해제
editedDoc.Dispose();
defaultWordProcessingDoc.Dispose();
editor.Dispose();

Word를 RTF로 변환하는 방법

적절한 저장 옵션을 사용하면 편집된 문서를 RTF로 저장하는 것이 간단합니다.

string outputRtfPath = Path.Combine("YOUR_OUTPUT_DIRECTORY", "editedDoc.rtf");
WordProcessingSaveOptions rtfSaveOptions = new WordProcessingSaveOptions(WordProcessingFormats.Rtf);
using (Editor editor = new Editor(inputFilePath, new Options.WordProcessingLoadOptions()))
{
    editor.Save(editedDoc, outputRtfPath, rtfSaveOptions);
}
editor.Dispose();

스트림을 사용하여 DOCX를 DOCM으로 저장하는 방법

매크로가 포함된 DOCM 형식이 필요할 때는 FileStream에 직접 기록할 수 있습니다.

string outputDocmPath = Path.Combine("YOUR_OUTPUT_DIRECTORY", "editedDoc.docm");
WordProcessingSaveOptions docmSaveOptions = new WordProcessingSaveOptions(WordProcessingFormats.Docm);
using (Editor editor = new Editor(inputFilePath, new Options.WordProcessingLoadOptions()))
{
    using (FileStream outputStream = File.Create(outputDocmPath))
    {
        editor.Save(editedDoc, outputStream, docmSaveOptions);
    }
}
editor.Dispose();

DOCX를 TXT(일반 텍스트)로 변환하는 방법

일반 텍스트 추출은 인덱싱, 검색 또는 이메일 알림에 유용합니다.

string outputTxtPath = Path.Combine("YOUR_OUTPUT_DIRECTORY", "editedDoc.txt");
TextSaveOptions textSaveOptions = new TextSaveOptions()
{
    Encoding = Encoding.UTF8,
    PreserveTableLayout = true
};
using (Editor editor = new Editor(inputFilePath, new Options.WordProcessingLoadOptions()))
{
    editor.Save(editedDoc, outputTxtPath, textSaveOptions);
}
editor.Dispose();

일반적인 사용 사례 및 실제 시나리오

  • 자동 보고서 생성: 분석용 Word 보고서를 TXT로 변환하여 이메일로 배포합니다.
  • 협업 편집 플랫폼: 사용자가 HTML 조각을 편집하고 결과를 DOCM 또는 RTF로 저장하도록 합니다.
  • 문서 보관: 기존 DOCX 파일을 매크로 지원을 위해 DOCM으로 마이그레이션하면서 내용을 보존합니다.
  • 웹 서비스: 임시 파일 없이 실시간으로 DOCX → PDF/RTF 변환을 스트리밍합니다.

Word 문서 배치 처리 성능 팁

  • 즉시 해제: Editor와 문서 객체에 대해 항상 Dispose()를 호출합니다.
  • 현명하게 로드: 불필요한 파싱을 방지하기 위해 가장 구체적인 LoadOptions를 선택합니다.
  • 안전하게 병렬 처리: 스레드당 별도의 Editor 인스턴스를 사용하여 Parallel.ForEach를 활용합니다.
  • 대용량 메모리 문자열 회피: 대용량 문서를 처리할 때는 전체 HTML 문자열 대신 스트림을 사용합니다.

자주 묻는 질문

Q: 암호로 보호된 DOCX를 편집할 수 있나요?
A: 예. Editor를 생성할 때 WordProcessingLoadOptions.Password에 비밀번호를 제공하면 됩니다.

Q: 한 번에 여러 파일을 변환할 수 있나요?
A: 물론입니다. 단일 파일 로직을 루프에 감싸거나 Parallel.ForEach를 사용해 동시 처리합니다.

Q: GroupDocs.Editor가 .NET Core를 지원하나요?
A: 이 라이브러리는 .NET 5, .NET 6, .NET Core 3.1 및 전체 .NET Framework에서도 작동합니다.

Q: DOCM으로 저장할 때 매크로는 어떻게 되나요?
A: Docm 저장 형식을 사용할 경우 매크로가 보존되며, RTF/TXT로 저장하면 매크로가 제거됩니다.

Q: 대규모 배치 작업 중 “OutOfMemoryException”을 어떻게 해결할 수 있나요?
A: 파일을 작은 배치로 나누어 처리하고, 객체를 즉시 해제하며, 애플리케이션 메모리 제한을 늘리는 것을 고려하세요.

결론

이제 docx 편집 방법 파일을 GroupDocs.Editor .NET을 사용해 RTF, DOCM 또는 일반 텍스트로 변환하는 완전하고 프로덕션 준비된 워크플로를 갖추었습니다. 위 단계들을 따르면 문서 워크플로를 자동화하고, 배치 처리를 수행하며, 모든 .NET 애플리케이션에 원활한 형식 변환을 통합할 수 있습니다.


마지막 업데이트: 2026-04-07
테스트 환경: GroupDocs.Editor 20.10 (작성 시 최신 버전)
작성자: GroupDocs