Chữ ký điện tử là dữ liệu kỹ thuật số được đính kèm vào một tài liệu được truyền điện tử. Nó xác minh ý định của người gửi để ký tài liệu.

GroupDocs.Signature for .NET. Tìm kiếm chữ ký hình ảnh trong tài liệu

Với tư cách là nhà phát triển, bạn có thể ký tài liệu theo chương trình và cũng có thể xác minh xem tài liệu có được ký đúng bằng chữ ký phù hợp hay không. GroupDocs.Signature for .NET API cung cấp nhiều tính năng như vậy và cho phép bạn kiểm soát hoàn toàn quy trình ký điện tử. Nó cung cấp các triển khai chữ ký điện tử khác nhau, như:

  • Chữ ký văn bản (văn bản, chú thích, hình mờ, nhãn dán)
  • Chữ ký hình ảnh - với các tùy chọn như hiệu ứng hình ảnh và xoay.
  • Chữ ký số - dựa trên chứng chỉ số.
  • Chữ ký mã vạch
  • Mã QR Chữ ký
  • Chữ ký đóng dấu
  • Chữ ký siêu dữ liệu
  • Biểu mẫuChữ ký trường

Bài viết này cho thấy cách các nhà phát triển có thể tìm kiếm chữ ký điện tử thuộc nhiều loại khác nhau trong bất kỳ tài liệu nào bằng C# bằng GroupDocs.Signature API cho .NET.

Tìm kiếm chữ ký mã QR trong C#

Sau đây là phương pháp tìm kiếm đơn giản nhất cho biết cách tìm kiếm Chữ ký mã QR trong tài liệu PDF. Bạn có thể sử dụng cùng một dòng mã để tìm kiếm ở bất kỳ định dạng tệp nào được hỗ trợ.

// 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}");
    }
}

Tìm kiếm mã vạch, mã QR và các chữ ký khác trong C#

Khá đơn giản để tìm chữ ký mã vạch, chữ ký Mã QR, chữ ký Văn bản hoặc thậm chí là chữ ký Siêu dữ liệu ẩn trong tài liệu. Mã được đề cập dưới đây cho thấy cách có thể trích xuất các loại chữ ký khác nhau từ bất kỳ tài liệu nào trong 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.");
    }                
}

Tìm kiếm chữ ký hình ảnh trong PDF và lấy nội dung trong C#

.NET Signature API không chỉ cho phép lấy tất cả các loại chữ ký mà còn lấy nội dung dữ liệu hình ảnh cho bản trình bày, bảng tính, xử lý văn bản và tài liệu PDF. Sau đây là mã nguồn trình bày cách lấy nội dung hình ảnh sau khi tìm kiếm chữ ký hình ảnh thành công từ tài liệu PDF trong C#.

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);
        }
    }
}

Tài nguyên chính cho GroupDocs.Signature for .NET

Khám phá thêm về GroupDocs.Signaure cho .NET API. Bạn có thể tự do liên hệ với bộ phận hỗ trợ nếu bạn cần bất kỳ sự trợ giúp nào: