.NET용 GroupDocs.Signature를 사용하여 사용자 지정 직렬화를 통한 PDF 메타데이터 서명 구현
소개
오늘날의 디지털 세상에서는 문서의 진위성과 무결성을 보장하는 것이 무엇보다 중요합니다. 계약 관리 시스템을 개발하는 개발자든 민감한 정보를 처리하는 조직이든, 문서에 안정적으로 서명하는 것은 매우 중요합니다. 이 가이드에서는 사용자 지정 직렬화를 사용하여 PDF 메타데이터 서명을 구현하는 방법을 안내합니다. .NET용 GroupDocs.Signature—.NET 애플리케이션에서 디지털 서명을 단순화하도록 설계된 강력한 라이브러리입니다.
이 튜토리얼에서는 메타데이터 서명에 대한 사용자 지정 직렬화 형식을 만들고 적용하는 데 중점을 둡니다. 이 기능은 문서에 포함될 때 데이터가 표현되는 방식의 유연성을 향상시켜 줍니다. .NET용 GroupDocs.Signature를 활용하면 ID, 작성자, 날짜 및 기타 지표와 같은 서명 관련 데이터가 PDF 파일 내에서 직렬화되고 저장되는 방식을 제어할 수 있습니다.
배울 내용:
- 사용자 환경에서 .NET용 GroupDocs.Signature를 설정하고 구성하는 방법
- 속성을 사용하여 고유한 메타데이터 형식을 정의하는 사용자 정의 직렬화 구현
- 사용자 정의 메타데이터 서명으로 문서 서명
- 디지털 서명 작업 시 성능 최적화를 위한 모범 사례
기술적인 세부 사항을 살펴보기 전에 모든 것이 준비되었는지 확인해 보겠습니다.
필수 조건
이 튜토리얼을 효과적으로 따르려면 다음 전제 조건을 충족해야 합니다.
필수 라이브러리 및 버전:
- .NET용 GroupDocs.Signature: 사용자 정의 직렬화 기능을 지원하는 버전 21.5 이상이 있는지 확인하세요.
환경 설정 요구 사항:
- .NET 개발 환경(Visual Studio 권장)
- C# 프로그래밍에 대한 기본적인 이해
지식 전제 조건:
- 객체 지향 프로그래밍 개념에 대한 익숙함
- .NET에서 파일 경로 및 디렉토리 작업에 대한 기본 지식
.NET용 GroupDocs.Signature 설정
시작하려면 다음을 설치해야 합니다. GroupDocs.Signature 프로젝트에 라이브러리를 추가합니다. 다양한 패키지 관리자를 사용하여 추가하는 방법은 다음과 같습니다.
.NET CLI:
dotnet add package GroupDocs.Signature
패키지 관리자:
Install-Package GroupDocs.Signature
NuGet 패키지 관리자 UI:
“GroupDocs.Signature"를 검색하여 IDE에서 직접 최신 버전을 설치하세요.
라이센스 취득 단계:
- 무료 체험: 무료 체험판을 통해 기능을 살펴보세요.
- 임시 면허: 제한 없이 장기간 테스트를 위한 임시 라이선스를 요청하세요.
- 구입: 프로덕션 용도로 전체 액세스가 필요한 경우 구매를 고려하세요.
설치가 완료되면 다음과 같이 프로젝트에서 GroupDocs.Signature를 초기화합니다.
using GroupDocs.Signature;
// 입력 파일 경로로 Signature 클래스를 초기화합니다.
var signature = new Signature("input.pdf");
구현 가이드
이 섹션에서는 사용자 정의 직렬화 메커니즘을 만들고 이를 문서 서명에 적용하는 방법을 안내합니다.
메타데이터 서명에 대한 사용자 지정 직렬화 만들기
개요:
사용자 지정 직렬화를 사용하면 문서에 메타데이터를 포함할 때 특정 필드의 직렬화 방식을 정의할 수 있습니다. 이는 서명된 문서를 나중에 사용할 수 있는 여러 시스템에서 데이터 일관성과 가독성을 보장하는 데 특히 유용합니다.
단계별 구현:
사용자 정의 데이터 서명 클래스 정의
직렬화 동작을 제어하는 속성을 사용하여 서명 데이터를 나타내는 클래스를 만듭니다.
using System;
using GroupDocs.Signature.Domain.Extensions;
class DocumentSignatureData
{
[CustomSerialization]
public class SignatureData
{
// SignID 필드에 사용자 정의 형식 사용
[Format("SignID")]
public string ID { get; set; }
// 작성자 필드에 대한 사용자 정의 형식
[Format("SAuth")]
public string Author { get; set; }
// 특정 패턴으로 날짜 형식 사용자 지정
[Format("SDate", "yyyy-MM-dd")]
public DateTime Signed { get; set; }
// 소수점 두 자리로 숫자 형식 지정
[Format("SDFact", "N2")]
public decimal DataFactor { get; set; }
// 이 필드를 직렬화에서 제외합니다.
[SkipSerialization]
public string Comments { get; set; }
}
}
설명:
- [사용자 정의 직렬화]: 전체 클래스를 사용자 정의 직렬화로 표시합니다.
- [Format(“필드이름”, “패턴”)]): 키와 서식 패턴을 포함하여 특정 속성을 직렬화하는 방법을 지정합니다.
- [직렬화 건너뛰기]: 속성을 직렬화에서 제외합니다.
메타데이터 및 사용자 정의 직렬화를 사용하여 문서 서명
개요:
이 섹션에서는 사용자 지정 직렬화 클래스를 사용하여 문서에 서명합니다. 여기에는 메타데이터 서명을 설정하고 .NET용 GroupDocs.Signature를 사용하여 적용하는 과정이 포함됩니다.
단계별:
암호화 설정
서명 메타데이터를 보호하려면 데이터 암호화를 구현하세요.
using System.IO;
using GroupDocs.Signature.Domain;
// 암호화 개체(예: CustomXOREncryption)를 만듭니다.
IDataEncryption encryption = new CustomXOREncryption();
메타데이터 서명 옵션 구성
사용자 정의 직렬화 및 암호화를 포함한 서명 옵션을 설정합니다.
using GroupDocs.Signature.Options;
using GroupDocs.Signature.Domain;
MetadataSignOptions options = new MetadataSignOptions()
{
DataEncryption = encryption
};
사용자 정의 서명 데이터 개체 만들기
특정 서명 세부 정보로 사용자 정의 데이터 클래스를 인스턴스화합니다.
documentSignatureData = new DocumentSignatureData.SignatureData
{
ID = Guid.NewGuid().ToString(),
Author = Environment.UserName,
Signed = DateTime.Now,
DataFactor = 11.22M
};
서명 메타데이터 추가
옵션에 다양한 메타데이터 필드를 추가합니다.
using GroupDocs.Signature.Domain;
WordProcessingMetadataSignature mdSignature = new WordProcessingMetadataSignature("Signature", documentSignatureData);
WordProcessingMetadataSignature mdAuthor = new WordProcessingMetadataSignature("Author", "Mr.Scherlock Holmes");
WordProcessingMetadataSignature mdDocId = new WordProcessingMetadataSignature("DocumentId", Guid.NewGuid().ToString());
options.Add(mdSignature).Add(mdAuthor).Add(mdDocId);
문서에 서명하세요
구성된 옵션을 적용하여 문서에 서명합니다.
using GroupDocs.Signature;
string filePath = "YOUR_DOCUMENT_DIRECTORY";
string outputFilePath = Path.Combine("YOUR_OUTPUT_DIRECTORY", "SignedDocument.pdf");
using (Signature signature = new Signature(filePath))
{
// 문서에 서명하고 저장하세요
SignResult signResult = signature.Sign(outputFilePath, options);
}
문제 해결 팁:
- 파일 경로가 올바르게 지정되었는지 확인하세요.
- 사용자 정의 직렬화에 필요한 모든 속성이 올바르게 설정되었는지 확인합니다.
- GroupDocs.Signature 라이브러리가 사용자 정의 기능을 지원하도록 업데이트되었는지 확인하세요.
실제 응용 프로그램
메타데이터 서명을 사용자 정의하는 기능은 다음과 같은 여러 가지 실제 적용 사례를 제공합니다.
- 계약 관리: 사용자 정의 형식을 사용하여 표준화된 형식으로 모든 문서에 계약 ID와 서명 날짜를 포함합니다.
- 문서 버전 관리: 추적 가능성을 보장하기 위해 메타데이터에 버전 번호와 저자 정보를 직접 첨부합니다.
- 전자상거래: PDF 송장이나 영수증에 거래 ID와 금액을 안전하게 삽입합니다.
- 법률 문서: 감사 중에 쉽게 검색할 수 있도록 사전 정의된 형식으로 사건 번호와 법률 용어를 추가합니다.
CRM이나 ERP 플랫폼 등 다른 시스템과 통합하면 메타데이터 추출 및 처리를 자동화하여 문서 관리 워크플로를 더욱 향상시킬 수 있습니다.
성능 고려 사항
디지털 서명을 사용할 때 성능을 최적화하는 것이 중요합니다.
- 비동기 처리: 비동기 메서드를 사용하여 작업 차단을 방지합니다.
- 자원 관리: 메모리 누수나 과도한 CPU 사용을 방지하기 위해 리소스를 적절하게 관리합니다.
- 일괄 처리: 여러 문서를 처리할 때 효율성을 높이기 위해 일괄 처리 기술을 고려하세요.
이러한 지침을 따르고 .NET용 GroupDocs.Signature의 기능을 활용하면 애플리케이션에서 강력한 메타데이터 서명 솔루션을 효과적으로 구현할 수 있습니다.