Firma elettronica è i dati digitali allegati a un documento trasmesso elettronicamente. Verifica l’intenzione del mittente di firmare il documento.

GroupDocs.Signature per .NET. Cerca firme di immagini nei documenti

Come sviluppatore, puoi firmare i documenti in modo programmatico e anche verificare se il documento è firmato correttamente con la firma corretta. L’API GroupDocs.Signature for .NET fornisce molte di queste funzionalità e ti dà il controllo completo sul processo di firma elettronica. Fornisce diverse implementazioni di firma elettronica, come:

  • Firme di testo (testo, annotazioni, filigrane, adesivi)
  • Firma immagine - con opzioni come effetti immagine e rotazione.
  • Firma digitale - basata su certificati digitali.
  • Firma del codice a barre
  • Codice QR Firma
  • Timbro Firma
  • Firma dei metadati
  • Firma campo modulo

Questo articolo mostra come gli sviluppatori possono cercare firme elettroniche di vario tipo all’interno di qualsiasi documento con C# usando GroupDocs.Signature API per .NET.

Cerca le firme del codice QR in C#

Di seguito è riportato il metodo di ricerca più semplice che mostra come cercare le firme del codice QR all’interno di un documento PDF. È possibile utilizzare la stessa riga di codice per eseguire ricerche in uno qualsiasi dei formati di file supportati.

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

Cerca codice a barre, codice QR e altre firme in C#

È abbastanza semplice trovare la firma del codice a barre, la firma del codice QR, la firma del testo o persino la firma dei metadati nascosta nel documento. Il codice riportato di seguito mostra come è possibile estrarre diversi tipi di firma da qualsiasi documento in 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.");
    }                
}

Cerca la firma dell’immagine in PDF e prendi il contenuto in C#

L’API .NET Signature non solo consente di ottenere tutte le firme di vario tipo, ma acquisisce anche il contenuto dei dati dell’immagine per presentazioni, fogli di calcolo, elaborazione testi e documenti PDF. Di seguito è riportato il codice sorgente che mostra come acquisire il contenuto dell’immagine dopo la ricerca riuscita della firma dell’immagine da un documento PDF in 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);
        }
    }
}

Risorse chiave per GroupDocs.Signature per .NET

Scopri di più sull’API GroupDocs.Signaure per .NET. Puoi contattare liberamente l’assistenza se hai bisogno di aiuto: