La firma digitale è uno schema affidabile per verificare l’autenticità dei tuoi documenti. Le firme digitali sono spesso utilizzate per implementare le firme elettroniche. In questo articolo imparerai come firmare elettronicamente documenti PDF e Word con certificati digitali usando C#.

API .NET per firme digitali e certificati

Per la firma di documenti con il certificato digitale, userò l’API GroupDocs.Signature for .NET negli esempi C# di questo articolo. Oltre alla firma di documenti PDF, questa API supporta le firme digitali per documenti di elaborazione testi e formati di fogli di calcolo.

Scarica le DLL o il programma di installazione MSI dalla sezione download o installa l’API nella tua applicazione .NET tramite NuGet.

PM> Install-Package GroupDocs.Signature

Firma PDF con certificato digitale in C#

Dopo aver impostato l’ambiente, sei a poche righe dalla corretta firma dei tuoi documenti. Segui i passaggi seguenti per ottenere la firma del documento con il certificato digitale disponibile utilizzando C#.

  • Inizializza l’oggetto Firma con il documento da firmare.
  • Inizializza l’oggetto DigitalSignOptions con il file del certificato.
  • Imposta le opzioni di segno richieste come password e posizione.
  • Chiama il metodo Sign per firmare il documento con il certificato digitale.

L’esempio di codice seguente firma i documenti PDF con il certificato in C#.

// Firma PDF con certificato digitale in C#
using (Signature signature = new Signature("document.pdf"))
{
    DigitalSignOptions options = new DigitalSignOptions("certificate.pfx");
    {
        ImageFilePath = "sampleImage.jpg", // Optional - Set image file path
        Left = 50,                    // Set signature position
        Top = 50,
        Password = "GroupDocs"       // Set Password
    };
    signature.Sign("signedDocument.pdf", options);
}

Firma con firma digitale utilizzando l’aspetto personalizzato in C#

La firma digitale può essere personalizzata per avere diverse presentazioni. Per l’aspetto personalizzato, le seguenti opzioni possono essere personalizzate utilizzando la classe PdfDigitalSignatureAppearance.

  • Sfondo
  • Informazioni di contatto
  • Data firmata a
  • Firmato digitale
  • Posizione
  • Motivo
  • Famiglia di font
  • Dimensione del font

Inoltre, puoi modificare le seguenti proprietà:

  • Altezza
  • Larghezza
  • Stile del bordo
  • Mostra su Tutte le pagine o Non
Firma PDF con certificato digitale

Documento PDF firmato con certificato digitale utilizzando GroupDocs.Signature per .NET in C#

Nell’esempio seguente, sto usando quasi tutte le proprietà sopra menzionate. Questo esempio personalizza l’aspetto della firma digitale in un documento PDF usando C#.

// Firma PDF con certificato digitale in C# con aspetto e impostazione personalizzati
using (Signature signature = new Signature("document.pdf"))
{
    DigitalSignOptions options = new DigitalSignOptions("certificate.pfx")
    {
        Password = "GroupDocs",
        // dettagli del certificato digitale
        Reason = "Approved",
        Location = "New York",

        // Aspetto personalizzato della firma PDF
        Appearance = new PdfDigitalSignatureAppearance()
        {
            // Non mostrare i dettagli di contatto
            ContactInfoLabel = string.Empty,
            // Semplifica l'etichetta del motivo
            ReasonLabel = "?",
            // Cambia etichetta di posizione
            LocationLabel = "From",
            DigitalSignedLabel = "By",
            DateSignedAtLabel = "On",
            Background = Color.Red
        },
        AllPages = true,
        Width = 160,
        Height = 80,
        // Imposta il bordo della firma
        Border = new Border()
        {
            Visible = true,
            Color = Color.Red,
            DashStyle = DashStyle.DashDot,
            Weight = 2
        }
    };
    SignResult signResult = signature.Sign("signedDocument.pdf", options);
}

Firma documenti Word con certificato digitale in C#

Allo stesso modo, puoi firmare documenti Word usando il certificato. Fornisci semplicemente il documento giusto quando inizi con l’inizializzazione dell’oggetto Signature.

  • Inizializza l’oggetto Firma con il documento di Word da firmare.
  • Inizializza l’oggetto DigitalSignOptions con il file del certificato.
  • Imposta opzioni di segno come password e posizione.
  • Firma il documento con il certificato digitale utilizzando il metodo Sign.

L’esempio firma i documenti di Word usando il certificato in C#.

// Firma il documento Word con certificato digitale in C#
using (Signature signature = new Signature("document.docx"))
{
    DigitalSignOptions options = new DigitalSignOptions("certificate.pfx");
    {
        ImageFilePath = "sampleImage.jpg", // Optional - Set image file path
        Left = 50,                    // Set signature position
        Top = 50,
        Password = "GroupDocs"       // Set Password
    };
    signature.Sign("signedDocument.docx", options);
}

Conclusione

In questo articolo hai imparato a firmare elettronicamente documenti PDF e Word con il certificato digitale usando C#. Inoltre, puoi personalizzare facilmente l’aspetto della firma. Ora puoi provare a creare la tua applicazione .NET per la firma di documenti PDF e Word con certificati digitali con un aspetto personalizzato in C#.

Collegamenti rapidi per ulteriori informazioni sull’API della firma

Guarda anche