템플릿은 사용자 정의 문서를 생성하는 데 널리 사용됩니다. 이 문서에서는 C#을 사용하여 PDF 문서에서 텍스트와 단어를 찾고 바꾸는 방법에 대해 설명합니다. 프로그래밍 방식으로 단어와 구를 바꾸는 방법, 대소문자를 구분하는 검색으로 단어를 바꾸는 방법, 정규 표현식을 사용하여 바꾸는 방법에 대해 별도로 설명합니다. 마지막으로 C#을 사용하여 검색된 문자열을 숨기는 방법도 배웁니다.

다음 주제는 아래에서 다룹니다.

텍스트 교체를 위한 .NET 수정 API

GroupDocs는 .NET 애플리케이션 내에서 문서, 프리젠테이션, 스프레드시트, PDF 파일 및 이미지의 메타데이터와 콘텐츠를 수정, 숨기거나 제거하는 API인 GroupDocs.Redaction for .NET을 선보입니다. API에 대한 자세한 내용은 해당 설명서를 참조하세요.

다운로드 섹션에서 DLL 또는 MSI 설치 프로그램을 다운로드하거나 NuGet을 통해 .NET 애플리케이션에 API를 설치할 수 있습니다. //www.nuget.org/packages/groupdocs.redaction).

PM> Install-Package GroupDocs.Redaction

편집을 위해 PDF 편집기나 기타 타사 소프트웨어를 설치할 필요가 없습니다. 다음은 아래 예제에서 사용된 PDF 문서의 스크린샷입니다. 코드가 거의 또는 전혀 변경되지 않은 다른 문서 형식에도 동일한 접근 방식이 적용됩니다.

C#을 사용하여 PDF에서 단어 또는 구 찾기 및 바꾸기

이 기능을 사용하여 기밀 데이터를 숨기고 템플릿에서 새 사용자 지정 문서를 만들 수도 있습니다. 다음 단계에서는 C# 응용 프로그램 내에서 다른 텍스트와 함께 PDF 문서에서 단어/구를 찾는 방법을 설명합니다.

  • Redactor 클래스를 사용하여 PDF 파일을 로드합니다.
  • ExactPhraseRedactionReplacementOptions를 사용하여 정확한 구 또는 단어를 찾습니다.
  • 교정 적용Apply() 방법을 사용합니다.
  • Save() 메서드를 사용하여 변경 사항이 있는 새 문서를 저장합니다.

다음 코드는 C#에서 단어를 찾아서 바꿉니다. 보다 정확하게는 “John Doe"를 “[censored]“라는 단어로 대체하여 “John Doe"의 모든 발생을 숨깁니다.

// 정확한 구문을 찾아 C#을 사용하여 다른 텍스트로 교체
using (Redactor redactor = new Redactor(@"path/document.pdf"))
{
  redactor.Apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions("[censored]")));
  redactor.Save(new SaveOptions() { AddSuffix = true, RasterizeToPDF = false });
}

코드의 출력은 다음과 같습니다.

C#을 사용하여 PDF에서 대소문자 구분 텍스트 또는 구 찾기 및 바꾸기

대소문자를 구분하는 검색 및 수정을 수행할 수 있습니다. 다음 코드는 C#에서 “John Doe"가 아닌 “John Doe"라는 단어의 대소문자 구분 존재를 대체합니다.

// 정확한 구문(대소문자 구분)을 찾아 C#을 사용하여 다른 텍스트로 바꿉니다.
using (Redactor redactor = new Redactor(@"path/document.pdf"))
{
  redactor.Apply(new ExactPhraseRedaction("John Doe", true /*isCaseSensitive*/, new ReplacementOptions("[censored]")));
  redactor.Save(new SaveOptions() { AddSuffix = true, RasterizeToPDF = false });
}

코드의 출력은 다음과 같습니다.

C#을 사용하여 PDF의 텍스트를 정규식(RegEx)으로 바꾸기

정규식을 사용하여 특정 텍스트 패턴을 바꿀 수도 있습니다. 다음 단계를 통해 .NET 응용 프로그램 내에서 정규식(RegEx)을 사용하여 검색 후 PDF를 수정할 수 있습니다.

  • Redactor 클래스를 사용하여 PDF 문서를 로드합니다.
  • ReplacementOptions와 함께 RegexRedaction 클래스를 사용하여 정규식 일치를 찾습니다.
  • Apply() 메서드를 사용하여 문서에 변경 사항을 적용합니다.
  • 적절한 Save() 메서드를 사용하여 수정된 문서를 저장합니다.

다음 코드는 RegEx를 사용하여 PDF 문서에서 특정 텍스트 패턴을 찾고 나중에 C#을 사용하여 다른 텍스트로 바꾸거나 숨기는 방법을 보여줍니다.

// 정규식을 사용하여 텍스트를 찾고 C#을 사용하여 다른 텍스트로 바꿉니다.
using (Redactor redactor = new Redactor(@"path/document.pdf"))
{
  redactor.Apply(new RegexRedaction("\\d{2}\\s*\\d{2}[^\\d]*\\d{6}", new ReplacementOptions("[censored]")));
  redactor.Save(new SaveOptions() { AddSuffix = true, RasterizeToPDF = false });
}

위 코드의 출력은 다음과 같습니다.

C#에서 텍스트를 컬러 상자로 바꾸기

PDF 파일에서 검색한 내용(비공개 정보)을 숨기고 싶다면 간단히 커버를 씌우면 됩니다. API를 사용하면 검색된 텍스트를 숨길 수 있습니다. 다음 C# 코드는 언급된 개인 텍스트 위에 검은색 사각형을 배치합니다.

// PDF에서 텍스트를 찾고 C#을 사용하여 그 위에 사각형을 그려 숨깁니다.
using (Redactor redactor = new Redactor(@"path/document.pdf"))
{
  redactor.Apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions(System.Drawing.Color.Black)));
  redactor.Save(new SaveOptions() { AddSuffix = true, RasterizeToPDF = false });
}

위 코드의 출력은 다음과 같습니다.

무료 API 라이선스 받기

평가 제한 없이 API를 사용하기 위해 임시 무료 라이선스 받기를 할 수 있습니다.

결론

결론적으로 다양한 검색 기술을 사용하여 PDF 파일에서 특정 텍스트를 찾는 방법을 배웠습니다. 나중에 C#을 사용하여 .NET 응용 프로그램 내에서 텍스트를 바꾸거나 숨겨 PDF 파일을 수정하는 방법에 대해 논의했습니다. 보다 정확하게는 단어, 구, 대소문자 구분 검색, C#의 정규식 사용으로 간단하게 검색했습니다. 마지막으로 검색 결과를 다른 텍스트로 바꾸거나 그 위에 직사각형 상자로 숨겨 검색 결과를 바꾸었습니다.

API에 대한 자세한 내용은 문서를 참조하세요. 문의사항은 포럼을 통해 문의해주세요.

또한보십시오