소개

최신 문서 관리 시스템에서 양식 필드는 데이터 수집, 사용자 상호작용 및 문서 자동화에 중요한 역할을 합니다. GroupDocs.Signature for .NET은 개발자가 다양한 문서 형식의 양식 필드를 사용할 수 있도록 강력한 도구 세트를 제공하며, 여기에는 검색, 조회 및 프로그래밍 방식으로 양식 필드를 처리하는 기능이 포함됩니다.

이 포괄적인 가이드에서는 .NET용 GroupDocs.Signature를 사용하여 문서에서 양식 필드 서명을 검색하는 과정을 안내하며, 명확한 설명, 실용적인 코드 예제, 구현을 위한 모범 사례를 제공합니다.

필수 조건

.NET용 GroupDocs.Signature를 사용하여 양식 필드를 검색하기 전에 다음 필수 구성 요소가 있는지 확인하세요.

  1. 개발 환경: Visual Studio나 선호하는 IDE로 .NET 개발 환경을 설정합니다.

  2. .NET용 GroupDocs.Signature: .NET용 GroupDocs.Signature 라이브러리를 다운로드하여 설치하세요. 여기.

  3. 문서 액세스: 다음에서 제공되는 포괄적인 문서를 숙지하세요. .NET 문서용 GroupDocs.Signature.

  4. 기본 지식: C# 프로그래밍과 .NET 프레임워크 기본에 대한 이해가 유익합니다.

네임스페이스 가져오기

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

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

이제 문서에서 양식 필드를 검색하는 과정을 명확하고 실행 가능한 단계로 나누어 보겠습니다.

1단계: 문서 경로 정의

먼저, 검색하려는 양식 필드가 포함된 문서의 경로를 지정합니다.

string filePath = "sample_signed_formfield.pdf";

2단계: 서명 개체 초기화

인스턴스를 생성합니다 Signature 생성자에 파일 경로를 전달하여 클래스를 만듭니다.

using (Signature signature = new Signature(filePath))
{
    // 여기에 양식 필드 검색 코드가 추가됩니다.
}

3단계: 양식 필드 서명 검색

사용하세요 Search 문서에서 양식 필드를 찾기 위해 적절한 서명 유형을 사용하는 방법:

// 문서 내에서 양식 필드 서명 검색
List<FormFieldSignature> formFields = signature.Search<FormFieldSignature>(SignatureType.FormField);

4단계: 결과 처리 및 표시

찾은 양식 필드를 반복하고 해당 속성에 액세스합니다.

// 찾은 양식 필드에 대한 정보 표시
Console.WriteLine($"\nDocument '{filePath}' contains {formFields.Count} form field signature(s):");

foreach (var formField in formFields)
{
    Console.WriteLine($"Form Field Name: {formField.Name}");
    Console.WriteLine($"Form Field Type: {formField.Type}");
    Console.WriteLine($"Form Field Value: {formField.Value}");
    Console.WriteLine($"Form Field Page: {formField.PageNumber}");
    Console.WriteLine();
}

완전한 예

문서에서 양식 필드를 검색하는 방법을 보여주는 완전하고 실제적인 예는 다음과 같습니다.

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

namespace FormFieldSearchExample
{
    class Program
    {
        static void Main(string[] args)
        {
            // 문서 경로 - 파일 경로로 업데이트
            string filePath = "sample_signed_formfield.pdf";

            // Signature 인스턴스 초기화
            using (Signature signature = new Signature(filePath))
            {
                try
                {
                    // 양식 필드 서명 검색
                    List<FormFieldSignature> formFields = signature.Search<FormFieldSignature>(SignatureType.FormField);

                    // 결과 표시
                    Console.WriteLine($"\nDocument '{filePath}' contains {formFields.Count} form field signature(s):");

                    foreach (var formField in formFields)
                    {
                        Console.WriteLine($"Form Field Name: {formField.Name}");
                        Console.WriteLine($"Form Field Type: {formField.Type}");
                        Console.WriteLine($"Form Field Value: {formField.Value}");
                        Console.WriteLine($"Form Field Page: {formField.PageNumber}");
                        Console.WriteLine();
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine($"Error occurred: {ex.Message}");
                }
            }

            Console.WriteLine("Press any key to exit...");
            Console.ReadKey();
        }
    }
}

고급 양식 필드 검색 기술

특정 양식 필드 옵션을 사용하여 검색

더욱 타겟화된 검색을 위해 다음을 사용할 수 있습니다. FormFieldSearchOptions 검색 기준을 사용자 지정하려면:

// 양식 필드 검색 옵션 만들기
FormFieldSearchOptions options = new FormFieldSearchOptions
{
    // 특정 페이지에서 검색
    AllPages = false,
    PageNumber = 1,
    
    // 필드 이름으로 필터링
    Name = "Signature",
    
    // 필드 유형별 필터링
    Type = FormFieldType.TextFormField
};

// 특정 옵션으로 검색
List<FormFieldSignature> specificFormFields = signature.Search<FormFieldSignature>(options);

다양한 양식 필드 유형 작업

GroupDocs.Signature는 각각 특정 속성을 갖는 다양한 양식 필드 유형을 지원합니다.

foreach (var formField in formFields)
{
    switch (formField.Type)
    {
        case FormFieldType.TextFormField:
            // 텍스트 양식 필드 처리
            Console.WriteLine($"Text Field: {formField.Name}, Value: {formField.Value}");
            break;
            
        case FormFieldType.CheckboxFormField:
            // 체크박스 필드 처리
            bool isChecked = Convert.ToBoolean(formField.Value);
            Console.WriteLine($"Checkbox: {formField.Name}, Checked: {isChecked}");
            break;
            
        case FormFieldType.ComboboxFormField:
            // 콤보박스 필드 처리
            Console.WriteLine($"Combobox: {formField.Name}, Selected Value: {formField.Value}");
            break;
            
        case FormFieldType.DigitalFormField:
            // 디지털 서명 필드 처리
            Console.WriteLine($"Digital Signature Field: {formField.Name}");
            break;
            
        case FormFieldType.RadioButtonFormField:
            // 라디오 버튼 필드 처리
            Console.WriteLine($"Radio Button: {formField.Name}, Selected: {formField.Value}");
            break;
    }
}

처리를 위한 양식 필드 데이터 추출

애플리케이션에서 나중에 사용할 수 있도록 양식 필드 데이터를 추출하고 처리할 수 있습니다.

// 양식 필드 값을 저장하기 위한 사전을 만듭니다.
Dictionary<string, object> formData = new Dictionary<string, object>();

// 양식 필드 데이터 추출
foreach (var field in formFields)
{
    formData.Add(field.Name, field.Value);
}

// 수집된 데이터를 처리합니다
ProcessFormData(formData);

// 처리 방법 예시
static void ProcessFormData(Dictionary<string, object> data)
{
    // 여기에 데이터 처리 논리를 구현하세요
    foreach (var item in data)
    {
        Console.WriteLine($"Processing field '{item.Key}' with value '{item.Value}'");
    }
}

결론

이 종합 가이드에서는 GroupDocs.Signature for .NET을 사용하여 문서에서 양식 필드 서명을 검색하고 처리하는 방법을 살펴보았습니다. 기본 검색부터 다양한 양식 필드 유형에 대한 고급 기술까지, 이제 .NET 애플리케이션에서 양식 필드 기능을 구현하는 데 필요한 지식을 갖추게 되었습니다.

GroupDocs.Signature는 문서 서명 작업을 위한 강력하고 유연한 프레임워크를 제공하여, 양식 필드를 효율적이고 안전하게 처리하는 견고한 문서 관리 솔루션을 구축할 수 있습니다.

자주 묻는 질문

GroupDocs.Signature는 암호로 보호된 문서의 양식 필드를 검색할 수 있나요?

예, GroupDocs.Signature는 암호로 보호된 문서에서 양식 필드를 검색할 수 있습니다. 이는 초기화 시 암호를 제공함으로써 가능합니다. Signature 물체:

LoadOptions loadOptions = new LoadOptions { Password = "your_password" };
using (Signature signature = new Signature(filePath, loadOptions))
{
    // 양식 필드 검색
}

어떤 문서 형식이 양식 필드 검색을 지원합니까?

GroupDocs.Signature는 PDF, Microsoft Word(DOC, DOCX), Excel(XLS, XLSX), PowerPoint(PPT, PPTX) 등 다양한 문서 형식에서 양식 필드 검색을 지원합니다.

검색한 후에 양식 필드 값을 수정할 수 있나요?

네, 양식 필드를 검색한 후 해당 값을 수정하고 문서를 업데이트할 수 있습니다.

// 양식 필드 검색
List<FormFieldSignature> fields = signature.Search<FormFieldSignature>(SignatureType.FormField);

// 필드 값 수정
foreach (var field in fields)
{
    if (field.Name == "CustomerName")
    {
        field.Value = "John Doe";
    }
}

// 업데이트된 문서를 저장합니다
signature.Save("updated_document.pdf");

특정 값이 있는 양식 필드를 어떻게 검색할 수 있나요?

사용자 정의 검색 옵션을 사용하여 특정 값이 있는 양식 필드를 검색할 수 있습니다.

// 검색 옵션 만들기
FormFieldSearchOptions options = new FormFieldSearchOptions
{
    // 대리자를 사용하여 값으로 필터링
    ProcessCompleted = (fieldSignature) =>
    {
        // 특정 값이 있는 필드에 대해서만 true를 반환합니다.
        return fieldSignature.Value != null && fieldSignature.Value.ToString().Contains("Approved");
    }
};

// 필터로 검색
List<FormFieldSignature> filteredFields = signature.Search<FormFieldSignature>(options);

단일 작업으로 양식 필드를 포함한 여러 서명 유형을 검색할 수 있나요?

네, 단일 작업으로 여러 서명 유형을 검색할 수 있습니다.

// 다양한 서명 유형에 대한 검색 옵션 만들기
FormFieldSearchOptions formFieldOptions = new FormFieldSearchOptions();
DigitalSearchOptions digitalOptions = new DigitalSearchOptions();

// 검색 옵션 목록 만들기
List<SearchOptions> searchOptions = new List<SearchOptions>
{
    formFieldOptions,
    digitalOptions
};

// 여러 서명 유형 검색
SearchResult result = signature.Search(searchOptions);

// 결과에서 다양한 서명 유형에 액세스
foreach (var sig in result.Signatures)
{
    if (sig is FormFieldSignature formField)
    {
        Console.WriteLine($"Form Field: {formField.Name}");
    }
    else if (sig is DigitalSignature digitalSignature)
    {
        Console.WriteLine($"Digital Signature: {digitalSignature.Certificate?.SubjectName}");
    }
}

또한 참조