How to Replace Text in a Word Document with C#

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronWord C# 개발자가 Microsoft Office Interop 없이 Word 문서에서 텍스트를 프로그래밍 방식으로 찾고 바꿀 수 있도록 지원하여 문서 업데이트 자동화, 템플릿 개인 설정 및 대량 콘텐츠 관리를 위한 솔루션을 제공합니다.

Word 문서에서 텍스트를 자동으로 바꾸는 작업은 템플릿 개인 설정, 보고서 업데이트 또는 대량 콘텐츠 관리 등 다양한 상황에서 흔히 필요한 기능입니다. IronWord 는 이러한 작업을 간편하게 만들어주는 C# 라이브러리로, 간단한 찾기 및 바꾸기 작업부터 복잡한 문서 처리 워크플로까지 모든 것을 처리합니다.

IronWord Microsoft Office Interop에 의존하지 않고 Word 문서를 직접 처리합니다. 즉, 서버에 Word를 설치할 필요가 없으므로 백엔드 프로세스와 웹 애플리케이션에 더 빠르고 안정적이며 확장 가능한 솔루션을 제공합니다. 마이크로소프트 오피스에 대한 이러한 독립성은 IronWord 클라우드 배포, 컨테이너화된 애플리케이션 및 자동화된 문서 처리 파이프라인에 특히 유용하게 만듭니다.

이 사용 설명서에서는 Word 문서에서 텍스트를 찾고 바꾸는 방법을 보여주는 포괄적인 코드 예제를 단계별로 안내합니다. 간단한 텍스트 바꾸기 작업이든, 여러 단락과 서식이 포함된 복잡한 문서 구조를 처리해야 하는 경우든, IronWord 필요한 도구를 제공합니다.

빠른 시작: 워드 문서에서 텍스트를 쉽게 바꾸기

이 가이드는 IronWord 사용하여 Word 문서의 텍스트를 바꾸는 방법을 보여줍니다. 단 몇 줄의 C# 코드로 DOCX 파일을 불러와 지정된 텍스트를 바꾸고 업데이트된 문서를 저장할 수 있습니다. 이 프로세스는 Microsoft Office Interop 없이 작동하므로 백엔드 프로세스 및 웹 애플리케이션에 이상적입니다.

  1. NuGet 패키지 관리자를 사용하여 https://www.nuget.org/packages/IronWord 설치하기

    PM > Install-Package IronWord
  2. 다음 코드 조각을 복사하여 실행하세요.

    IronWord.Document doc = new IronWord.Document("sample.docx");
    doc.ReplaceText("oldText", "newText");
    doc.SaveAs("updated.docx");
  3. 실제 운영 환경에서 테스트할 수 있도록 배포하세요.

    무료 체험판으로 오늘 프로젝트에서 IronWord 사용 시작하기

    arrow pointer

워드 문서에서 텍스트를 바꾸는 방법은 무엇인가요?

IronWord 사용하면 Word 문서 내의 텍스트를 직관적으로 바꿀 수 있습니다. 먼저, 우리는 WordDocument 생성자를 사용하여 기존 문서를 로드합니다. 그런 다음, 우리는 Paragraphs 속성에 접근하고 특정 문단에 ReplaceText 메서드를 사용합니다. 이 방법을 사용하면 문서의 어느 부분을 수정할지 세밀하게 제어할 수 있습니다.

ReplaceText 메서드는 두 개의 문자열 매개변수를 받습니다: 찾을 텍스트와 대체할 텍스트입니다. 이 메서드는 선택한 단락 내에서 일치하는 모든 항목을 완전히 교체하므로 제품 이름 업데이트, 날짜 변경 또는 고객 정보 개인화와 같은 시나리오에 적합합니다.

ReplaceText 메서드는 대소문자를 구분하며 선택한 문단 내의 문자열 인스턴스를 모두 대체합니다.

Paragraphs 컬렉션을 사용할 때, IronWord가 문서 내용을 어떻게 구조화하는지를 이해하는 것이 중요합니다. Word 문서의 각 단락은 컬렉션에서 개별 요소로 표현되므로 문서의 특정 부분을 정확하게 선택할 수 있습니다.

이 예제에서 사용된 모든 객체 목록은 0부터 시작하는 인덱싱을 따릅니다.

입력 문서는 어떤 형태인가요?

이 예시에서는 "이전 텍스트"라는 텍스트가 포함된 두 개의 단락이 있는 샘플 워드 문서를 사용하겠습니다. 이 간단한 구조는 단락 수준에서 텍스트 바꾸기가 어떻게 작동하는지 보여줍니다.

교체 전 '기존 텍스트' 내용을 보여주는 워드 문서 샘플입니다.

교체 코드는 어떻게 작성하나요?

다음은 첫 번째 단락의 "기존 텍스트"를 "새 텍스트"로 바꾸는 코드입니다. 특정 단락을 대상으로 색인 표기법을 사용하여 어떤 콘텐츠를 수정할지 정확하게 제어하는 ​​방식을 살펴보세요.

:path=/static-assets/word/content-code-examples/how-to/replace-words.cs
using IronWord;

// Open existing Word
WordDocument doc = new WordDocument("sample.docx");

// Replace the first paragraph's old text with new text
doc.Paragraphs[0].ReplaceText("old text", "new text");

// Save updated Word Document
doc.SaveAs("updated.docx");
$vbLabelText   $csharpLabel

위 코드는 IronWord 사용한 텍스트 바꾸기의 간편함을 보여줍니다. 문서를 로드하고 특정 문단을 타겟으로 하며 ReplaceText를 호출함으로써, 몇 줄의 코드만으로 문서 내용을 수정할 수 있습니다. 이 접근 방식은 기존의 오피스 상호 운용 방식보다 더 간단합니다.

출력 결과는 어떻게 나타나나요?

텍스트 바꾸기 작업 후 첫 번째 단락에는 '새 텍스트'가, 두 번째 단락에는 '기존 텍스트'가 표시된 Word 문서 출력 결과입니다.

출력 파일 에서 볼 수 있듯이 첫 번째 단락의 텍스트만 변경되었고 두 번째 단락은 변경되지 않았습니다. 이러한 선택적 교체 기능은 문서 전체에 영향을 주지 않고 특정 부분만 업데이트해야 할 때 매우 중요합니다.

여러 개의 텍스트를 한 번에 바꾸려면 어떻게 해야 하나요?

문서 전체에서 단어의 모든 발생을 대체하려면, Paragraphs 컬렉션을 반복하고 각 항목에 ReplaceText 메서드를 적용합니다. 이 접근 방식을 사용하면 문서 내 어디에 나타나든 목표 텍스트가 누락되는 일이 없습니다.

이전과 동일한 sample.docx 파일을 사용하겠습니다. 만약 바꿀 텍스트가 단락에서 발견되지 않으면 아무 작업도 수행되지 않고 루프는 다음 단락으로 넘어갑니다. 이러한 안전장치 덕분에 텍스트 바꾸기를 시도하기 전에 텍스트가 존재하는지 확인할 필요가 없습니다.

참고해 주세요 바꾸려는 텍스트를 찾을 수 없으면 아무 작업도 수행되지 않습니다.

여러 번 교체하려면 어떤 코드가 필요합니까?

다음은 문서 전체에서 "기존 텍스트"를 "새 텍스트"로 모두 바꾸는 코드입니다.

:path=/static-assets/word/content-code-examples/how-to/replace-words-multiple.cs
using IronWord;

// Open existing Word
WordDocument doc = new WordDocument("sample.docx");

// Loop through each paragraph to find and replace text
for (int i = 0; i < doc.Paragraphs.Count; i++)
{
    // Replace all occurrences of "old text" with "new text" in the current paragraph
    doc.Paragraphs[i].ReplaceText("old text", "new text");
}

// Save updated Word Document
doc.SaveAs("updated.docx");
$vbLabelText   $csharpLabel

이 반복 방식을 통해 문서 전체를 완벽하게 검사할 수 있습니다. 모든 단락을 순회함으로써 대상 텍스트가 나타나는 모든 부분을 대체할 수 있습니다. 이 방법은 회사 이름 변경, 용어 업데이트 또는 문서 전체에 일관된 서식 적용과 같은 대량 업데이트에 특히 유용합니다.

여러 번 문서를 교체한 후에는 문서가 어떤 모습일까요?

여러 텍스트 바꾸기 작업 후 '새 텍스트'가 두 줄로 표시된 Word 문서 출력 결과

업데이트된 워드 문서 에서 보시는 바와 같이 두 단락 모두 "새 텍스트"로 대체되었습니다. 이는 반복문 방식이 포괄적인 텍스트 교체에 효과적임을 보여줍니다.

텍스트를 바꾸기 전에 해당 텍스트가 이미 존재하는지 어떻게 확인할 수 있나요?

작업을 수행하기 전에 텍스트가 존재하는지 확인해야 한다면, FindText 메서드를 사용하세요. 이 메서드는 문서 전체를 검색하고 검색 쿼리에 일치하는 첫 번째 TextElement를 반환합니다. 이 검증 단계는 변경 작업을 수행하기 전에 특정 콘텐츠의 존재 여부를 확인해야 하거나 문서 콘텐츠를 기반으로 조건부 논리를 구축할 때 유용할 수 있습니다.

특히 다음과 같은 시나리오에서 FindText 메서드는 매우 유용합니다:

  • 특정 텍스트가 포함된 문서를 기록해야 합니다.
  • 텍스트가 있는지 여부에 따라 다른 작업을 수행하고 싶습니다.
  • 문서 유효성 검사 시스템을 구축하고 있습니다.
  • 문서 내용에 대한 보고서를 생성해야 합니다.

아래는 위에서 언급한 워드 문서에서 이전 텍스트를 검색하는 예시입니다.

텍스트를 찾으려면 어떤 코드를 사용해야 하나요?

:path=/static-assets/word/content-code-examples/how-to/replace-words-find-text.cs
using IronWord;
using System;

// Open existing Word
WordDocument doc = new WordDocument("sample.docx");

// Returns the first TextContent element that contains the specified text.
Console.WriteLine(doc.FindText("old text"));
$vbLabelText   $csharpLabel

이 코드는 IronWord 사용한 텍스트 검색의 간편함을 보여줍니다. FindText 메서드는 텍스트가 발견되면 TextElement 객체를 반환하고, 그렇지 않으면 null을 반환하여 검색 결과를 기반으로 조건부 로직을 쉽게 구현할 수 있게 해줍니다.

텍스트 찾기 결과는 무엇을 보여주나요?

Visual Studio 디버그 콘솔에 FindText 작업의 'old_text' 출력 결과가 표시됩니다.

보시다시피, 일치하는 텍스트가 반환되어 검색어가 문서에 존재함을 확인시켜 줍니다. 이러한 검증 기능은 다양한 콘텐츠 시나리오를 처리해야 하는 견고한 문서 처리 애플리케이션을 구축하는 데 필수적입니다.

경고 FindText이 아무것도 반환하지 않으면, 문서에 텍스트가 존재하지 않습니다. 검색어의 철자가 정확하고 문서의 텍스트와 대소문자가 일치하는지 확인하십시오.

텍스트 바꾸기를 위한 모범 사례

Word 문서에서 텍스트 바꾸기 작업을 할 때는 다음과 같은 모범 사례를 고려하십시오.

  1. 대소문자 구분: ReplaceText은 대소문자를 구분합니다. 대소문자를 구분하지 않는 대체를 위해 텍스트를 일관된 대소문자로 변환하십시오.

  2. 성능 최적화 : 일괄 교체 및 한 번 저장으로 I/O 작업량을 줄이고 성능을 향상시킵니다.

  3. 오류 처리 : 문서 내용이 잠겼거나, 손상되었거나, 예상치 못한 경우에 대한 오류 처리를 구현하십시오.

  4. 백업 전략 : 특히 운영 환경에서는 대량 교체를 수행하기 전에 백업을 생성하십시오.

  5. 메모리 관리 : 여러 문서를 처리할 때 메모리 누수를 방지하기 위해 문서 객체를 적절하게 해제해야 합니다.

IronWord의 직관적인 API를 통해 이러한 모범 사례를 쉽게 구현할 수 있으므로, 안정적인 문서 처리 솔루션을 자신 있게 구축할 수 있습니다.

자주 묻는 질문

Word 문서에서 C#을 사용하여 텍스트를 어떻게 교체하나요?

IronWord를 사용하면 C#으로 Word 문서의 텍스트를 쉽게 교체할 수 있습니다. WordDocument 생성자를 사용하여 문서를 로드한 다음, ReplaceText 메서드를 사용하여 텍스트를 찾고 교체하세요. 이 메서드는 두 개의 매개변수를 받습니다: 찾을 텍스트와 교체할 텍스트입니다. Microsoft Office Interop 없이 작동하므로 서버 측 응용 프로그램에 이상적입니다.

Microsoft Office를 설치하지 않고 텍스트를 교체할 수 있나요?

네, IronWord는 Microsoft Office Interop을 요구하지 않고 Word 문서를 직접 조작합니다. 이는 서버에 Word를 설치할 필요가 없음을 의미하며, 클라우드 배포, 컨테이너화된 응용 프로그램, 자동 문서 처리 파이프라인에 적합하고 더 빠르고 신뢰할 수 있는 솔루션을 제공합니다.

DOCX 파일에서 텍스트를 찾고 교체하는 가장 간단한 방법은 무엇인가요?

가장 빠른 방법은 IronWord의 세 줄 방법입니다: 파일 경로로 Document 객체를 생성하고, 옛 텍스트와 새 텍스트로 ReplaceText 메서드를 호출한 다음, SaveAs를 사용하여 저장하세요. 이 간소한 워크플로우는 업데이트된 문서를 로드부터 저장까지 모든 것을 처리합니다.

텍스트 교체는 대소문자를 구분하나요?

네, IronWord의 ReplaceText 메서드는 기본적으로 대소문자를 구분합니다. 선택한 단락이나 문서 내의 모든 일치하는 인스턴스를 교체하면서 정확한 텍스트 교체를 제어할 수 있습니다.

특정 단락에서만 텍스트를 교체할 수 있나요?

물론입니다. IronWord는 Paragraphs 속성을 통해 세밀한 제어를 제공합니다. 컬렉션에서 개별 단락에 접근하고 특정 단락에만 ReplaceText를 호출할 수 있어 문서 전체를 변경하지 않고도 타겟팅된 교체를 할 수 있습니다.

프로그래밍적으로 텍스트 교체의 일반적인 사용 사례는 무엇인가요?

IronWord는 템플릿 개인화, 보고서 업데이트, 대량 콘텐츠 관리, 문서 업데이트 자동화에 일반적으로 사용됩니다. 특히 제품명 업데이트, 날짜 변경, 고객 정보 개인화 또는 자동 문서 처리가 필요한 각종 상황에 유용합니다.

커티스 차우
기술 문서 작성자

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.

커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다.

시작할 준비 되셨나요?
Nuget 다운로드 35,581 | 버전: 2026.3 방금 출시되었습니다
Still Scrolling Icon

아직도 스크롤하고 계신가요?

빠른 증거를 원하시나요? PM > Install-Package IronWord
샘플 실행 데이터를 워드 문서로 변환 확인.