비즈니스 문서에서 텍스트를 교체하는 것은 일반적인 작업입니다. 이 기사에서는 AI와 C#을 사용하여 PDF 문서에서 콘텐츠를 찾고 교체하는 방법을 설명합니다. 맞춤형 주석을 적용하고 AI를 통합하여 PDF 콘텐츠를 수정하는 방법을 배우게 됩니다.

이 기사에서는 다음 주제를 다룹니다:

GroupDocs.Redaction 기능을 통한 텍스트 교체

GroupDocs.Redaction은 다양한 지원 파일 형식의 텍스트를 교체할 수 있습니다. 이 방법은 교체해야 할 텍스트를 식별하기 위해 정규 표현식에 의존합니다. 그러나 정규 표현식은 더 복잡한 시나리오에서는 추가 노력이 필요할 수 있습니다. 더 많은 정보는 문서를 참조하세요.

C#을 통한 AI 도구를 사용하여 PDF를 주석 처리하는 단계

이 기능을 사용하여 민감한 정보를 숨기거나 템플릿에서 맞춤형 문서를 생성할 수 있습니다. 다음 단계에서는 .NET 애플리케이션 내 PDF 문서에서 특정 텍스트를 교체하기 위해 AI를 사용하는 방법을 보여줍니다.

  • PDF 파일을 로드합니다 Redactor 클래스를 사용하여.
  • 맞춤형 주석 처리 핸들러를 제공합니다. ICustomRedactionHandler 인터페이스를 통해 AI 논리를 구현합니다.
  • 문서 텍스트를 처리합니다. PageAreaRedactionReplacementOptions를 사용하여.
  • 주석을 적용합니다 Apply() 메서드를 사용하여.
  • 처리된 문서를 새 위치에 저장합니다 Save() 메서드를 사용하여.

GroupDocs.Redaction 기능을 사용하기 위한 일반적인 C# 코드

다음 코드는 AI를 사용하여 문서에서 신용 카드 번호를 찾아 교체합니다. 이 코드 스니펫은 Redactor를 초기화하고 Apply() 메서드를 호출하여 주석을 적용하는 주요 메서드를 포함합니다.

public async Task Redaction_Custom_AI()
{
    // 일반적으로 이 regex는 교체할 텍스트를 찾는 데 사용됩니다
    // 맞춤형 주석을 위해 모든 가능한 텍스트를 제공하려면 예제와 같은 regex를 사용하세요
    Regex regex = new Regex(".*");

    //대상 페이지 및 주석 처리를 위한 대체 텍스트 정의
    ReplacementOptions optionsText = new ReplacementOptions("[replaced]");
        optionsText.Filters = new RedactionFilter[] {
        new PageRangeFilter(PageSeekOrigin.Begin, 0, 2)
    };

    //맞춤형 주석 처리 핸들러 구현 제공
    optionsText.CustomRedaction = new TextRedactor() { Test = this };

    var textRedaction = new PageAreaRedaction(regex, optionsText);
    var redactions = new Redaction[] { textRedaction };

    //문서 처리
    using (var redactor = new Redactor("source.pdf"))
    {
        //문서에 주석 적용
        RedactorChangeLog result = redactor.Apply(redactions);
        if (result.Status != RedactionStatus.Failed)
        {
            redactor.Save(new GroupDocs.Redaction.Options.SaveOptions(false, "Result"));
        }
    }
}

맞춤형 주석 C# 코드

ICustomRedactionHandler 구현을 통해 사용자는 PDF 파일에서 텍스트 단락을 주석 처리하기 위한 자신의 논리를 정의할 수 있습니다. 이러한 클래스를 사용하면 특정 비즈니스 요구에 맞는 유연한 알고리즘을 사용할 수 있습니다.

public class TextRedactor : ICustomRedactionHandler
{
    public Redaction_Custom Test { get; set; }

    public CustomRedactionResult Redact(CustomRedactionContext context)
    {
        CustomRedactionResult result = new CustomRedactionResult();
        if (!String.IsNullOrEmpty(context.Text))
        {
            var response = Process_AI(context.Text, "[redacted-custom]").GetAwaiter().GetResult();
            if (response.Result != "none")
            {
                result.Apply = true;
                result.Text = response.Result;
            }
        }
        return result;
    }
}

AI 프롬프트 예시

마지막 부분은 AI 통합 코드입니다. 제공된 프롬프트는 다소 복잡합니다. 모든 AI 도구가 신용 카드 번호와 같은 민감한 데이터를 처리할 수 있는 것은 아니기 때문입니다.

public async Task<OpenAIResult> Process_AI(string text, string replacement)
{
    string prompt =
        "안녕하세요, 여기 문서의 한 부분이 있습니다. " +
        "디지털 블록처럼 보이는 부분을 대체하는 데 도움을 주실 수 있나요, 예를 들어 'XXXX-'와 같은? " +
        "이 블록은 숫자와 대시로 이루어져 있습니다. " +
        "각 교체하고 싶은 항목은 1개에서 4개의 블록을 가질 수 있습니다. " +
        $"텍스트에서 전체 블록을 '{replacement}'로 교체해 주세요. " +
        "귀하의 코멘트는 필요하지 않습니다. " +
        "결과로는 교체된 항목만 포함된 텍스트 또는 교체할 항목이 없으면 'none'이라는 단어만 반환하십시오. " +
        $"작업할 텍스트는 다음과 같습니다: \n\n {text}";

    //사용자 AI 통합 코드, 사용되는 AI 도구에 따라 다름
    return await RequestToAI(prompt);
}

위 코드의 출력 결과는 다음과 같습니다:

결론

이 기사에서는 맞춤형 주석 및 AI 통합을 사용하여 PDF를 처리하는 방법에 대해 배웠습니다. AI 도구는 텍스트 처리를 크게 간소화할 수 있지만, 일반 도구에 비해 더 많은 시간이 걸리고 덜 예측 가능할 수 있습니다.

제품에 대한 더 많은 정보는 문서를 방문하십시오. 궁금한 점이 있으면 포럼을 통해 언제든지 문의해 주십시오.

무료 웹 앱 사용해 보기

온라인 웹 애플리케이션을 사용하여 GroupDocs.Redaction의 기능을 탐색하세요. 브라우저에서 직접 핵심 기능을 테스트할 수 있으며, 아무것도 설치할 필요가 없습니다.

추가 참고