Assinatura Eletrônica são os dados digitais anexados a um documento transmitido eletronicamente. Verifica a intenção do remetente em assinar o documento.

GroupDocs.Signature para .NET. Pesquisar assinaturas de imagem em documentos

Como desenvolvedor, você pode assinar documentos programaticamente e também verificar se o documento está devidamente assinado com a assinatura correta. GroupDocs.Signature for .NET API fornece muitos desses recursos e oferece controle total sobre o processo de assinatura eletrônica. Ele fornece diferentes implementações de assinatura eletrônica, como:

  • Assinaturas de texto (texto, anotações, marcas d’água, adesivos)
  • Assinatura de imagem - com opções como efeitos de imagem e rotação.
  • Assinatura Digital - baseada em certificados digitais.
  • Assinatura do código de barras
  • Assinatura do código QR
  • Assinatura do Carimbo
  • Assinatura de metadados
  • Assinatura do FormField

Este artigo mostra como os desenvolvedores podem pesquisar assinaturas eletrônicas de vários tipos em qualquer documento com C# usando a API GroupDocs.Signature para .NET.

Pesquisar assinaturas de código QR em C#

A seguir está o método de pesquisa mais simples que mostra como pesquisar assinaturas de código QR em um documento PDF. Você pode usar a mesma linha de código para pesquisar em qualquer um dos formatos de arquivo suportados.

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

Pesquise código de barras, código QR e outras assinaturas em C#

É bastante simples encontrar assinatura de código de barras, assinatura de QR Code, assinatura de texto ou até mesmo a assinatura de metadados oculta no documento. O código abaixo mencionado mostra como diferentes tipos de assinatura podem ser extraídos de qualquer documento em 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.");
    }                
}

Pesquise assinatura de imagem em PDF e pegue conteúdo em C#

A API de assinatura .NET não apenas permite obter todas as assinaturas de vários tipos, mas também captura o conteúdo de dados de imagem para apresentações, planilhas, processamento de texto e documentos PDF. A seguir está o código-fonte que mostra como obter o conteúdo da imagem após a pesquisa de assinatura de imagem bem-sucedida de um documento PDF em 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);
        }
    }
}

Recursos-chave para GroupDocs.Signature para .NET

Explore mais sobre a API GroupDocs.Signaure para .NET. Você pode entrar em contato livremente com o suporte se precisar de ajuda: