소개

텍스트 서명은 문서 작성, 승인 또는 검증을 나타내는 일반적인 방법입니다. 디지털 문서 관리에서 텍스트 서명을 프로그래밍 방식으로 검색하고 추출하는 기능은 문서 유효성 검사, 워크플로 자동화 및 규정 준수 검증에 매우 중요합니다. GroupDocs.Signature for .NET은 .NET 애플리케이션에서 텍스트 서명 검색 기능을 구현하기 위한 포괄적인 솔루션을 제공하며, 다양한 문서 형식과 고급 검색 기능을 지원합니다.

이 튜토리얼에서는 .NET용 GroupDocs.Signature를 사용하여 문서에서 텍스트 서명을 검색하는 과정을 안내하며, 자세한 설명, 단계별 지침 및 실제 코드 예제를 제공합니다.

필수 조건

텍스트 서명 검색을 시작하기 전에 다음 전제 조건이 충족되었는지 확인하세요.

  1. .NET 라이브러리용 GroupDocs.Signature: 라이브러리를 다운로드하여 설치하세요. 릴리스 페이지.

  2. 개발 환경: Visual Studio나 .NET을 지원하는 호환 IDE 등 적합한 개발 환경을 설정합니다.

  3. 샘플 문서: 검증 및 테스트를 위해 텍스트 서명이 포함된 테스트 문서를 준비합니다.

  4. 기본 C# 지식: C# 프로그래밍 언어와 .NET 프레임워크 개념에 익숙함.

네임스페이스 가져오기

GroupDocs.Signature 기능에 액세스하는 데 필요한 네임스페이스를 가져오는 것으로 시작합니다.

using System;
using System.Collections.Generic;
using System.IO;
using GroupDocs.Signature;
using GroupDocs.Signature.Domain;
using GroupDocs.Signature.Options;

이제 텍스트 서명을 검색하는 과정을 명확하고 관리하기 쉬운 단계로 나누어 보겠습니다.

1단계: 문서 로드

먼저 문서 경로를 정의하고 초기화합니다. Signature 물체:

string filePath = "sample_multiple_signatures.docx";
string fileName = Path.GetFileName(filePath);

using (Signature signature = new Signature(filePath))
{
    // 텍스트 서명 검색 코드가 여기에 추가됩니다.
}

2단계: 검색 옵션 구성

생성 및 구성 TextSearchOptions 텍스트 서명을 검색하는 방법을 지정하려면:

// 텍스트 검색 옵션 구성
TextSearchOptions options = new TextSearchOptions
{
    // 모든 페이지에서 검색
    AllPages = true,
    
    // 선택 사항: 일치할 텍스트를 지정하세요
    // 텍스트 = "승인됨",
    
    // 선택 사항: 일치 유형 지정
    // MatchType = TextMatchType.Contains
};

3단계: 텍스트 서명 검색 수행

구성된 옵션을 사용하여 검색 작업을 실행합니다.

// 텍스트 서명 검색
List<TextSignature> signatures = signature.Search<TextSignature>(options);

4단계: 결과 처리 및 표시

찾은 텍스트 서명을 반복하고 세부 정보를 표시합니다.

// 검색 결과 표시
Console.WriteLine($"\nSource document '{fileName}' contains {signatures.Count} text signature(s):");

foreach (TextSignature textSignature in signatures)
{
    Console.WriteLine($"Text signature found at page {textSignature.PageNumber} with text '{textSignature.Text}'");
    Console.WriteLine($"Location: X={textSignature.Left}, Y={textSignature.Top}, Width={textSignature.Width}, Height={textSignature.Height}");
    Console.WriteLine($"Signature type: {textSignature.SignatureImplementation}");
    Console.WriteLine();
}

완전한 예

문서에서 텍스트 서명을 검색하는 방법을 보여주는 완전한 작동 예는 다음과 같습니다.

using System;
using System.Collections.Generic;
using System.IO;
using GroupDocs.Signature;
using GroupDocs.Signature.Domain;
using GroupDocs.Signature.Options;

namespace TextSignatureSearch
{
    class Program
    {
        static void Main(string[] args)
        {
            // 문서 경로 - 파일 경로로 업데이트
            string filePath = "sample_multiple_signatures.docx";
            string fileName = Path.GetFileName(filePath);
            
            // Signature 인스턴스 초기화
            using (Signature signature = new Signature(filePath))
            {
                try
                {
                    // 텍스트 검색 옵션 구성
                    TextSearchOptions options = new TextSearchOptions
                    {
                        // 모든 페이지에서 검색
                        AllPages = true
                    };
                    
                    // 텍스트 서명 검색
                    List<TextSignature> signatures = signature.Search<TextSignature>(options);
                    
                    // 검색 결과 표시
                    Console.WriteLine($"\nSource document '{fileName}' contains {signatures.Count} text signature(s):");
                    
                    foreach (TextSignature textSignature in signatures)
                    {
                        Console.WriteLine($"Text signature found at page {textSignature.PageNumber} with text '{textSignature.Text}'");
                        Console.WriteLine($"Location: X={textSignature.Left}, Y={textSignature.Top}, Width={textSignature.Width}, Height={textSignature.Height}");
                        Console.WriteLine($"Signature type: {textSignature.SignatureImplementation}");
                        Console.WriteLine();
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine($"Error occurred: {ex.Message}");
                }
            }
            
            Console.WriteLine("Press any key to exit...");
            Console.ReadKey();
        }
    }
}

고급 텍스트 서명 검색 기술

특정 텍스트 기준으로 검색

더욱 타겟화된 검색을 위해 다음을 사용자 정의할 수 있습니다. TextSearchOptions 특정 텍스트 콘텐츠로 필터링하려면:

// 특정 텍스트 기준으로 검색 옵션 만들기
TextSearchOptions options = new TextSearchOptions
{
    // 모든 페이지에서 검색
    AllPages = true,
    
    // 특정 텍스트 검색
    Text = "Approved",
    
    // 일치 유형 지정(포함, 정확, 시작 문자, 종료 문자)
    MatchType = TextMatchType.Contains,
    
    // 대소문자 구분 검색
    MatchCase = true
};

특정 문서 영역 검색

문서의 특정 영역으로 검색을 제한할 수 있습니다.

// 특정 문서 영역에 대한 검색 옵션 만들기
TextSearchOptions options = new TextSearchOptions
{
    // 특정 페이지에서만 검색
    AllPages = false,
    PageNumber = 1,
    
    // 또는 여러 페이지를 지정하세요
    PagesSetup = new PagesSetup { Pages = new List<int> { 1, 3, 5 } },
    
    // 검색할 특정 영역을 정의하세요
    Rectangle = new Rectangle(100, 100, 400, 200)
};

고급 텍스트 필터링

더욱 복잡한 검색 요구 사항에 맞게 사용자 정의 필터링 논리를 구현합니다.

// 사용자 정의 처리를 통해 검색 옵션 만들기
TextSearchOptions options = new TextSearchOptions
{
    AllPages = true,
    
    // 대리자를 사용하여 사용자 정의 처리 정의
    ProcessCompleted = (TextSignature signature) =>
    {
        // 사용자 정의 검증 논리
        bool isValid = signature.Text.Length > 5 && 
                      (signature.Text.Contains("Approved") || signature.Text.Contains("Verified"));
        
        return isValid;
    }
};

다양한 텍스트 스타일 검색

글꼴 및 스타일 속성을 사용하여 텍스트 서명을 필터링합니다.

// 특정 텍스트 모양을 타겟으로 하는 검색 옵션 만들기
TextSearchOptions options = new TextSearchOptions
{
    // 글꼴 이름으로 필터링
    FontName = "Arial",
    
    // 글꼴 크기 범위로 필터링
    MinFontSize = 10,
    MaxFontSize = 14,
    
    // 글꼴 색상으로 필터링
    ForeColor = System.Drawing.Color.Blue
};

서명 메타데이터 추출

텍스트 서명과 관련된 메타데이터를 추출하고 처리합니다.

foreach (TextSignature signature in signatures)
{
    // 서명 메타데이터에 액세스
    if (signature.Metadata != null && signature.Metadata.Count > 0)
    {
        Console.WriteLine("Signature Metadata:");
        
        foreach (var item in signature.Metadata)
        {
            Console.WriteLine($"  {item.Key}: {item.Value}");
        }
    }
    
    // 서명 생성 및 수정 날짜를 확인하세요
    if (signature.CreatedOn.HasValue)
    {
        Console.WriteLine($"Created on: {signature.CreatedOn.Value}");
    }
    
    if (signature.ModifiedOn.HasValue)
    {
        Console.WriteLine($"Modified on: {signature.ModifiedOn.Value}");
    }
}

결론

이 포괄적인 가이드에서는 GroupDocs.Signature for .NET을 사용하여 문서에서 텍스트 서명을 검색하는 방법을 살펴보았습니다. 기본적인 검색 작업부터 고급 기술까지, 이제 .NET 애플리케이션에서 강력한 텍스트 서명 기능을 구현하는 방법을 익혔습니다.

GroupDocs.Signature는 텍스트 서명 작업을 위한 강력하고 유연한 프레임워크를 제공하여 정교한 문서 검증 시스템, 자동화된 워크플로 솔루션, 규정 준수 검증 도구를 구축할 수 있도록 해줍니다.

자주 묻는 질문

암호로 보호된 문서에서 텍스트 서명을 검색할 수 있나요?

네, GroupDocs.Signature는 암호로 보호된 문서에서 텍스트 서명 검색을 지원합니다. 초기화할 때 암호를 입력할 수 있습니다. Signature 물체:

LoadOptions loadOptions = new LoadOptions { Password = "your_password" };
using (Signature signature = new Signature(filePath, loadOptions))
{
    // 텍스트 서명 검색
}

텍스트 서명 검색에 지원되는 문서 형식은 무엇입니까?

GroupDocs.Signature는 PDF, Microsoft Office 문서(Word, Excel, PowerPoint), OpenOffice 형식, 이미지 등 다양한 문서 형식을 지원합니다.

굵게나 기울임체 등 특정 서식이 적용된 텍스트 서명을 검색할 수 있나요?

예, 다음을 사용하여 특정 서식이 적용된 텍스트 서명을 검색할 수 있습니다. FontBold 그리고 FontItalic 속성 TextSearchOptions:

TextSearchOptions options = new TextSearchOptions
{
    FontBold = true,
    FontItalic = true
};

대용량 문서의 검색 성능을 어떻게 향상시킬 수 있나요?

대용량 문서의 경우 다음을 통해 검색 성능을 최적화할 수 있습니다.

  1. 전체 문서를 검색하는 대신 특정 페이지로 검색을 제한합니다.
  2. 더 구체적인 검색 기준을 사용하여 일치 항목 수를 줄입니다.
  3. 검색 영역을 지정하려면 다음을 사용합니다. Rectangle 서명이 일반적으로 어디에 있는지 알고 있다면 속성
  4. 검색 결과를 일괄적으로 처리하기 위해 애플리케이션에 페이지 나누기 구현

텍스트 서명이 전자적으로 추가되었는지, 아니면 원본 문서 내용의 일부인지 감지할 수 있나요?

GroupDocs.Signature는 문서에서 다양한 유형의 텍스트 요소를 구분할 수 있습니다. SignatureImplementation 의 속성 TextSignature 해당 텍스트가 공식 서명인지 아니면 일반 문서 내용인지를 나타냅니다. 그러나 명확한 판단은 해당 텍스트가 원래 문서에 어떻게 추가되었는지에 따라 달라질 수 있습니다.

또한 참조