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

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 for .NET
Scopri di più sull’API GroupDocs.Signaure per .NET. Puoi contattare liberamente l’assistenza se hai bisogno di aiuto:
- Documentazione
- Esempi di codice sorgente - GitHub
- Forum