문서에서 단어나 구를 바꾸는 데는 여러 가지 이유가 있을 수 있습니다. 문서를 공개적으로 공유하기 전에 민감한 내용을 지우거나 이메일 ID나 주민등록번호와 같은 모든 개인 정보를 숨기거나 제거하려면 문서 내용을 수정해야 합니다. 이 문서에서는 C#을 사용하여 .NET 애플리케이션에서 프로그래밍 방식으로 Word 문서를 수정하는 방법에 대해 안내합니다. 텍스트를 숨겨서 수정하는 방법과 다양한 기술을 사용하여 텍스트, 단어 또는 구를 찾고 바꾸는 방법에 대해 별도로 논의할 것입니다.
다음 주제는 아래에서 다룹니다.
- 텍스트 교체를 위한 .NET API
- 단어 또는 구문 찾기 및 바꾸기
- 대소문자 구분 검색 및 단어 또는 구문 바꾸기
- 정규 표현식을 사용하여 텍스트 바꾸기(RegEx)
- 색상 상자로 텍스트 숨기기
텍스트 교체를 위한 .NET 수정 API
GroupDocs.Redaction for .NET은 다양한 파일 형식의 문서에서 원하는 데이터를 찾아 교체할 수 있는 문서 수정 API입니다. API는 텍스트 수정 및 래스터화와 함께 메타데이터, 주석, 스프레드시트 및 이미지 수정 기능을 제공합니다. Word 문서, 스프레드시트, 프레젠테이션, 이미지, PDF 문서의 지원되는 파일 형식은 문서에서 확인할 수 있습니다.
다운로드 섹션에서 DLL 또는 MSI 설치 프로그램을 다운로드하거나 NuGet 을 통해 .NET 애플리케이션에 API를 설치할 수 있습니다.
PM> Install-Package GroupDocs.Redaction
이 과정에서 MS Office나 다른 타사 소프트웨어를 설치할 필요가 없습니다. 이제 시작하여 문서에서 텍스트 찾기 및 바꾸기를 처리하는 다양한 접근 방식을 살펴보겠습니다. 다음은 데모 예제에 사용된 Word 문서의 스크린샷입니다. 코드를 변경하지 않고도 다른 문서 형식에서도 동일한 방법을 사용할 수 있습니다.
C#을 사용하여 Word 문서에서 단어 또는 구 찾기 및 바꾸기
다음 단계에서는 Word 문서에서 단어/구를 찾은 다음 C# 응용 프로그램 내에서 모든 항목을 다른 텍스트로 바꾸는 방법을 설명합니다.
- Redactor 클래스를 사용하여 Word 문서(DOC/DOCX)를 로드합니다.
- ExactPhraseRedaction 클래스와 ReplacementOptions.
- Redactor의 Apply 메소드를 사용하여 수정을 적용합니다.
- 저장 방법을 사용하여 변경 사항을 저장합니다.
다음 코드는 C#에서 단어를 찾아서 바꿉니다. 더 정확하게는 “John Doe"의 모든 항목을 “[censored]“로 바꿉니다.
// 정확한 구문을 찾아 C#을 사용하여 다른 텍스트로 교체
using (Redactor redactor = new Redactor(@"path/document.docx"))
{
redactor.Apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions("[censored]")));
redactor.Save();
}
코드의 출력은 다음과 같습니다.
C#을 사용하여 Word 파일에서 대소문자 구분 검색 및 바꾸기
유사하게, 정확한 단어를 찾아 다른 단어로 교체하여 Word 문서의 대소문자를 구분하는 편집을 수행할 수 있습니다. 다음 코드는 C#을 사용하여 DOCX 파일에서 “John Doe"라는 단어의 존재를 대체하지만 이번에는 검색에서 대소문자를 구분합니다.
// 정확한 구문(대소문자 구분)을 찾아 C#을 사용하여 다른 텍스트로 바꿉니다.
using (Redactor redactor = new Redactor(@"path/document.docx"))
{
redactor.Apply(new ExactPhraseRedaction("John Doe", true /*isCaseSensitive*/, new ReplacementOptions("[censored]")));
redactor.Save();
}
코드의 출력은 다음과 같습니다.
C#을 사용하여 정규식(RegEx)을 사용하여 Word 파일의 텍스트 바꾸기
Word(DOC, DOCX) 파일에서 텍스트 패턴을 찾아 바꾸려면 정규식을 사용할 수 있습니다. 다음 단계를 수행하면 C#을 사용하여 RegEx로 Word 문서를 수정할 수 있습니다.
- Redactor 클래스를 사용하여 Word 문서를 로드합니다.
- ReplacementOptions와 함께 RegexRedaction 클래스를 사용하여 정규식 일치 찾기.
- Apply 메서드를 사용하여 모든 정규식 일치 텍스트를 대체합니다.
- 저장 방법을 사용하여 수정된 Word 파일을 가져옵니다.
다음 코드는 RegEx를 사용하여 Word 파일에서 텍스트 패턴을 찾은 다음 C#을 사용하여 다른 텍스트로 바꾸거나 숨기는 방법을 보여줍니다.
// 정규식을 사용하여 텍스트를 찾고 C#을 사용하여 다른 텍스트로 바꿉니다.
using (Redactor redactor = new Redactor(@"path/document.docx"))
{
redactor.Apply(new RegexRedaction("\\d{2}\\s*\\d{2}[^\\d]*\\d{6}", new ReplacementOptions("[censored]")));
redactor.Save();
}
위 코드의 출력은 다음과 같습니다.
C#을 사용하여 색상 상자가 있는 Word 문서에서 기밀 텍스트 숨기기
비공개 콘텐츠를 교체하고 싶지 않고 그냥 덮고 싶은 경우 API를 사용하면 콘텐츠 위에 상자를 그려 해당 콘텐츠를 숨길 수 있습니다. 다음 코드는 C#을 사용하여 텍스트를 블랙아웃하기 위해 의도한 텍스트 위에 검은색 사각형을 배치합니다.
// C#을 사용하여 텍스트를 찾고 그 위에 사각형을 그려 숨깁니다.
using (Redactor redactor = new Redactor(@"path/document.docx"))
{
redactor.Apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions(System.Drawing.Color.Black)));
redactor.Save();
}
위 코드의 출력은 다음과 같습니다.
무료 API 라이선스 받기
평가 제한 없이 API를 사용하기 위해 임시 무료 라이선스 받기를 할 수 있습니다.
결론
결론적으로, 다양한 기술을 사용하여 Word(DOC, DOCX) 파일에서 텍스트를 찾고 다른 방식으로 결과를 바꾸는 방법을 배웠습니다. 보다 정확하게는 대소문자를 구분하는 검색이거나 C#에서 정규식을 사용하는 경우에도 텍스트, 단어 또는 구를 찾는 방법에 대해 논의했습니다. 나중에 우리는 검색 결과를 다른 텍스트로 바꾸거나 검색된 텍스트 위에 색상이 지정된 사각형 상자를 배치했습니다.
API에 대한 자세한 내용은 문서를 참조하세요. 문의사항은 포럼을 통해 문의해주세요.