전자 서명은 전자적으로 전송되는 문서에 첨부되는 디지털 데이터입니다. 문서에 서명하려는 보낸 사람의 의도를 확인합니다.
개발자는 프로그래밍 방식으로 문서에 서명하고 문서가 올바른 서명으로 제대로 서명되었는지 확인할 수도 있습니다. GroupDocs.Signature for .NET API는 이러한 많은 기능을 제공하며 전자 서명 프로세스를 완벽하게 제어할 수 있습니다. 다음과 같은 다양한 전자 서명 구현을 제공합니다.
- 텍스트 서명(텍스트, 주석, 워터마크, 스티커)
- 이미지 서명 - 이미지 효과 및 회전과 같은 옵션이 있습니다.
- 디지털 서명 - 디지털 인증서를 기반으로 합니다.
- 바코드 서명
- QR 코드 서명
- 스탬프 서명
- 메타데이터 서명
- FormField 서명
이 문서에서는 개발자가 GroupDocs.Signature for .NET API를 사용하여 C#으로 모든 문서 내에서 다양한 유형의 전자 서명을 검색하는 방법을 보여줍니다.
C#에서 QR 코드 서명 검색
다음은 PDF 문서 내에서 QR 코드 서명을 검색하는 방법을 보여주는 가장 간단한 검색 방법입니다. 동일한 코드 줄을 사용하여 지원되는 모든 파일 형식으로 검색할 수 있습니다.
// Search QR Code Signatures in PDF document using C#
using (Signature signature = new Signature("signed.pdf"))
{
// search for signatures in document
List<QrCodeSignature> signatures = signature.Search<QrCodeSignature>(SignatureType.QrCode);
Console.WriteLine($"\\nSource document contains following signatures.");
foreach (var qrCodeSignature in signatures)
{
Console.WriteLine($"QRCode signature found at page {qrCodeSignature.PageNumber} with type {qrCodeSignature.EncodeType.TypeName} and text {qrCodeSignature.Text}");
}
}
C#에서 바코드, QR 코드 및 기타 서명 검색
문서에서 바코드 서명, QR 코드 서명, 텍스트 서명 또는 숨겨진 메타데이터 서명을 찾는 것은 매우 간단합니다. 아래에 언급된 코드는 C#의 모든 문서에서 다양한 서명 유형을 추출하는 방법을 보여줍니다.
using (Signature signature = new Signature("signed.pdf"))
{
// search for signatures in document
SearchResult result = signature.Search(SignatureType.Text, SignatureType.Barcode, SignatureType.QrCode, SignatureType.Metadata);
if (result.Signatures.Count > 0)
{
Console.WriteLine($"\\nSource document contains following signatures.");
foreach (var resSignature in result.Signatures)
{
Console.WriteLine($"Signature found at page {resSignature.PageNumber} with type {resSignature.SignatureType} and Id#: {resSignature.SignatureId}");
}
}
else
{
Console.WriteLine("No signature was found.");
}
}
PDF에서 이미지 서명 검색 및 C#에서 콘텐츠 가져오기
.NET 서명 API를 사용하면 다양한 유형의 모든 서명을 가져올 수 있을 뿐만 아니라 프레젠테이션, 스프레드시트, 워드 프로세싱 및 PDF 문서에 대한 이미지 데이터 콘텐츠도 가져올 수 있습니다. 다음은 C#의 PDF 문서에서 성공적인 이미지 서명 검색 후 이미지 콘텐츠를 가져오는 방법을 보여주는 소스 코드입니다.
using (Signature signature = new Signature("signed.pdf"))
{
// setup search options
ImageSearchOptions searchOptions = new ImageSearchOptions()
{
// enable grabbing image content feature
ReturnContent = true,
// set minimum size if needed
MinContentSize = 0,
// set maximum size if needed
MaxContentSize = 0,
// specify exact image type to be returned
ReturnContentType = FileType.JPEG,
};
// search document
List<ImageSignature> signatures = signature.Search<ImageSignature>(searchOptions);
Console.WriteLine($"\\nSource document contains following image signature(s).");
// output signatures
foreach (ImageSignature imageSignature in signatures)
{
Console.Write($"Found Image signature at page {imageSignature.PageNumber} and size {imageSignature.Size}.");
Console.WriteLine($"Location at {imageSignature.Left}-{imageSignature.Top}. Size is {imageSignature.Width}x{imageSignature.Height}.");
}
//Save signature images
string outputPath = "Output";
if (!Directory.Exists(outputPath))
{
Directory.CreateDirectory(outputPath);
}
foreach (ImageSignature imageSignature in signatures)
{
Console.Write($"Found Image signature at page {imageSignature.PageNumber} and size {imageSignature.Size}.");
Console.WriteLine($"Location at {imageSignature.Left}-{imageSignature.Top}. Size is {imageSignature.Width}x{imageSignature.Height}.");
string outputFilePath = System.IO.Path.Combine(outputPath, $"image{i}{imageSignature.Format.Extension}");
using (FileStream fs = new FileStream(outputFilePath, FileMode.Create))
{
fs.Write(imageSignature.Content, 0, imageSignature.Content.Length);
}
}
}
GroupDocs.Signature for .NET의 주요 리소스
.NET API용 GroupDocs.Signaure에 대해 자세히 알아보세요. 도움이 필요한 경우 지원팀에 자유롭게 문의할 수 있습니다.