
Firma digitale PDF con codice QR in C#
Nell’era moderna, i PDF firmati digitalmente con codice QR sono diventati più sicuri e rapidamente verificabili per i sistemi di elaborazione digitale automatizzati. Un altro buon motivo per utilizzare i codici QR è che sono in grado di contenere molte informazioni utili. Se sei interessato a imparare come firmare elettronicamente PDF file con codice QR in C#, sei nel posto giusto.
I seguenti punti saranno trattati in questo articolo:
- Libreria C# per firmare digitalmente PDF con codice QR
- Passaggi per firmare digitalmente un PDF con codice QR in C#
- Firmare digitalmente un PDF con codice QR in C# - Opzioni avanzate
C# Libreria per firmare digitalmente PDF con codice QR
Puoi download il DLL o installarlo eseguendo il comando (come indicato di seguito) nella console del NuGet package manager.
Install-Package GroupDocs.Signature
Passaggi per firmare digitalmente un PDF con codice QR in C#
Dopo l’installazione, iniziamo a scrivere alcune righe di codice.
Per favore segui i passaggi e il frammento di codice menzionati di seguito:
- Instanzia la classe Signature e passa il percorso del documento sorgente come parametro del costruttore.
- Inizializza un’istanza della classe QrCodeSignOptions e imposta le proprietà EncodeType e Text.
- Invoca il metodo Sign della classe Signature e passa il percorso del file di output e QrCodeSignOptions ad esso.
Puoi semplicemente copiare e incollare il seguente campione di codice nel tuo file C#:
using (Signature signature = new Signature("sample.pdf"))
{
// crea opzione QRCode con testo QRCode predefinito
QrCodeSignOptions options = new QrCodeSignOptions("JohnSmith")
{
// impostare il tipo di codifica QRCode
EncodeType = QrCodeTypes.QR,
// imposta la posizione della firma
Left = 100,
Top = 100
};
signature.Sign("SampleSigned.pdf", options);
}
L’output può essere visto nell’immagine sottostante:

eSign PDF con codice QR in C# - Opzioni avanzate
La libreria PDF eSign fornisce alcune opzioni utili aggiuntive nella classe QrCodeSignOptions. Puoi utilizzare questa classe per specificare l’allineamento della firma, i margini, i bordi, il carattere, i colori e lo sfondo. Inoltre, puoi verificare i risultati di una nuova firma creata utilizzando la classe SignResult.
Di seguito sono riportati i passaggi per creare un codice QR con opzioni avanzate:
- Inizializza una nuova istanza della classe Signature fornendo il percorso del documento sorgente come parametro del costruttore.
- Instantiate un’istanza della QrCodeSignOptions class.
- Imposta il testo e il tipo di codifica della firma.
- Imposta la posizione della firma.
- Specifica l’allineamento della firma, i margini, i bordi, il carattere, i colori e lo sfondo.
- Invocare Sign metodo della classe Signature e passare il percorso del file di output e QrCodeSignOptions a esso.
- Facoltativamente puoi ottenere SignResult oggetto per analizzare o verificare le nuove firme create.
Il seguente codice C# mostra come firmare un PDF con un codice QR utilizzando opzioni avanzate:
using (Signature signature = new Signature("sample.pdf"))
{
// create QRCode option with predefined QRCode text
QrCodeSignOptions options = new QrCodeSignOptions("12345678")
{
// configurare il tipo di codifica QRCode
EncodeType = QrCodeTypes.QR,
// imposta la posizione della firma
Left = 100,
Top = 100,
// imposta l'allineamento della firma
// quando VerticalAlignment è impostato, la coordinata Top verrà ignorata.
// Utilizzare le proprietà di Margine Superiore, Inferiore per fornire uno spostamento verticale
VerticalAlignment = VerticalAlignment.Top,
// quando HorizontalAlignment è impostato, la coordinata Left sarà ignorata.
// Usa le proprietà Margin Sinistra, Destra per fornire un offset orizzontale
HorizontalAlignment = HorizontalAlignment.Right,
Margin = new Padding() { Top = 20, Right = 20 },
// regolare l'aspetto della firma
// setup signature border
Border = new Border()
{
Color = Color.DarkGreen,
DashStyle = GroupDocs.Signature.Domain.DashStyle.DashLongDashDot,
Transparency = 0.5,
Visible = true,
Weight = 2
},
// imposta il colore del testo e il carattere
ForeColor = Color.Red,
Font = new SignatureFont { Size = 12, FamilyName = "Comic Sans MS" },
// setup background
Background = new Background()
{
Color = Color.LimeGreen,
Transparency = 0.5,
Brush = new LinearGradientBrush(Color.LimeGreen, Color.DarkGreen)
}
};
// sign document to file and pouplate the SignResut
SignResult signResult = signature.Sign("signed.pdf", options);
Console.WriteLine("\nList of newly created signatures:");
int number = 1;
foreach (BaseSignature temp in signResult.Succeeded)
{
Console.WriteLine($"Signature #{number++}: Type: {temp.SignatureType} Id:{temp.SignatureId}, Location: {temp.Left}x{temp.Top}. Size: {temp.Width}x{temp.Height}");
}
}
You will get the output as seen in the image below:

Ottieni una licenza gratuita
Puoi ottenere una free temporary license per testare l’API senza limitazioni di valutazione.
Conclusione
In questo articolo, abbiamo appreso come firmare digitalmente un PDF con un codice QR in C# utilizzando una libreria per firme elettroniche. Inoltre, hai anche acquisito conoscenze su alcune opzioni avanzate per aggiungere la firma del codice QR nei tuoi documenti PDF. Puoi visitare la documentation per conoscere altre funzionalità della libreria per firme digitali.
Inoltre, ti suggeriamo di seguire la nostra Getting Started guide.
Ask a question
Puoi comunicarci le tue domande o dubbi sul nostro forum.