Firma digitale di PDF con codice QR in C#

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:

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:

  1. Instanzia la classe Signature e passa il percorso del documento sorgente come parametro del costruttore.
  2. Inizializza un’istanza della classe QrCodeSignOptions e imposta le proprietà EncodeType e Text.
  3. 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:

QR Code Sign

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:

  1. Inizializza una nuova istanza della classe Signature fornendo il percorso del documento sorgente come parametro del costruttore.
  2. Instantiate un’istanza della QrCodeSignOptions class.
  3. Imposta il testo e il tipo di codifica della firma.
  4. Imposta la posizione della firma.
  5. Specifica l’allineamento della firma, i margini, i bordi, il carattere, i colori e lo sfondo.
  6. Invocare Sign metodo della classe Signature e passare il percorso del file di output e QrCodeSignOptions a esso.
  7. 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:

eSign PDF

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.

See Also