Firma PDF con firme campo modulo utilizzando C#

I campi modulo sono vari tipi di campi dati utilizzati per raccogliere informazioni dagli utenti. Come sviluppatore C#, puoi creare facilmente documenti PDF da compilare e firmare elettronicamente dagli utenti. Questo può essere utile per raccogliere il feedback dei clienti, il consenso dei partner e così via. In questo articolo imparerai come firmare elettronicamente documenti PDF con le firme dei campi modulo usando C#.

I seguenti argomenti sono discussi/trattati in questo articolo:

API C# per la firma di documenti PDF

Userò l’API GroupDocs.Signature for .NET per firmare i documenti PDF abilitati con le firme dei campi modulo. L’API ti consente di aggiungere firme digitali ai formati di documento supportati e implementare i tipi di firma elettronica più diffusi nelle tue applicazioni .NET. Ti consente inoltre di individuare le firme richieste su un documento con opzioni di ricerca semplici e avanzate.

Firma documenti PDF con firme campo modulo utilizzando C#

Puoi firmare elettronicamente i tuoi documenti PDF utilizzando i seguenti tipi di firme dei campi modulo in modo programmatico:

Firma documenti PDF con firme campo modulo di testo

Puoi firmare documenti PDF con firme nei campi modulo di testo seguendo i semplici passaggi indicati di seguito:

  • Crea un’istanza della classe Signature.
  • Fornisci il percorso del documento PDF di input
  • Crea un’istanza della classe TextFormFieldSignature
  • Crea un’istanza della classe FormFieldSignOptions con l’oggetto TextFormFieldSignature
  • Imposta le opzioni di segno richieste come Margine, Altezza, Larghezza, ecc.
  • Chiama il metodo Sign() con FormFieldSignOptions e il percorso del file di output

L’esempio di codice seguente mostra come firmare elettronicamente un documento PDF con firme di campi modulo di testo usando C#.

// creare un'istanza di Signature
Signature signature = new Signature(@"C:\Files\sample.pdf");

// istanziare la firma del campo del modulo di testo
TextFormFieldSignature textSignature = new TextFormFieldSignature("textBoxData1", "Enter Your Name");
// istanziare le opzioni in base alla firma del campo del modulo di testo
FormFieldSignOptions optionsTextFF = new FormFieldSignOptions(textSignature);
optionsTextFF.HorizontalAlignment = HorizontalAlignment.Center;
optionsTextFF.VerticalAlignment = VerticalAlignment.Top;
optionsTextFF.Margin = new Padding(20, 0, 170, 0);
optionsTextFF.Height = 50;
optionsTextFF.Width = 200;

// firmare documento da archiviare
signature.Sign(@"C:\Files\TextFormFieldSignature.pdf", optionsTextFF);

La classe Signature è la classe principale che controlla il processo di firma del documento. Fornisce vari metodi per firmare, cercare, eliminare o verificare le firme in un documento. Il metodo Sign() di questa classe viene utilizzato per firmare il documento con SignOptions definito.

La classe TextFormFieldSignature fornisce le proprietà della firma del campo del modulo di immissione testo per i documenti PDF.

Firma documenti PDF con firme campo modulo pulsante di opzione

È possibile firmare documenti PDF con le firme del campo modulo del pulsante di opzione seguendo i passaggi indicati in precedenza. Tuttavia, è necessario creare un’istanza della classe RadioButtonFormFieldSignature anziché TextFormFieldSignature.

L’esempio di codice seguente mostra come firmare elettronicamente un documento PDF con le firme dei campi dei moduli dei pulsanti di opzione usando C#.

// creare un'istanza di Signature
Signature signature = new Signature(@"C:\Files\sample.pdf");

// istanziare la firma del campo del modulo del pulsante di opzione
List<string> radioOptions = new List<string>() { "Male", "Female" };
RadioButtonFormFieldSignature rbSignature = new RadioButtonFormFieldSignature("radioData1", radioOptions, "Male");
// istanziare le opzioni in base alla firma del campo del modulo di testo
FormFieldSignOptions optionsTextRB = new FormFieldSignOptions(rbSignature);
optionsTextRB.HorizontalAlignment = HorizontalAlignment.Center;
optionsTextRB.VerticalAlignment = VerticalAlignment.Top;
optionsTextRB.Margin = new Padding(20, 0, 170, 0);
optionsTextRB.Height = 50;
optionsTextRB.Width = 200;

// firmare documento da archiviare
signature.Sign(@"C:\Files\RadioButtonFormFieldSignature.pdf", optionsTextRB);

La classe RadioButtonFormFieldSignature fornisce le proprietà della firma del campo del modulo di input tramite pulsante di opzione per i documenti PDF.

Firma documenti PDF con firme campo modulo Combobox

Puoi firmare documenti PDF con le firme dei campi modulo Combobox seguendo i passaggi menzionati in precedenza. Tuttavia, è necessario creare un’istanza di ComboboxFormFieldSignature invece di TextFormFieldSignature.

L’esempio di codice seguente mostra come firmare elettronicamente un documento PDF con le firme dei campi modulo Combobox usando C#.

// creare un'istanza di Signature
Signature signature = new Signature(@"C:\Files\sample.pdf");

// istanziare la firma del campo del modulo della casella combinata
List<string> items = new List<string>() { "Australia", "United Kingdom", "United States" };
ComboboxFormFieldSignature cmbSignature = new ComboboxFormFieldSignature("combo1", items, "Australia");
// istanziare le opzioni in base alla firma del campo del modulo di testo
FormFieldSignOptions optionsTextCMB = new FormFieldSignOptions(cmbSignature);
optionsTextCMB.HorizontalAlignment = HorizontalAlignment.Center;
optionsTextCMB.VerticalAlignment = VerticalAlignment.Top;
optionsTextCMB.Margin = new Padding(20, 0, 238, 0);
optionsTextCMB.Height = 20;
optionsTextCMB.Width = 200;

// firmare documento da archiviare
signature.Sign(@"C:\Files\ComboboxFormFieldSignature.pdf", optionsTextCMB);

La classe ComboboxFormFieldSignature fornisce le proprietà della firma del campo del modulo di input della casella combinata per i documenti PDF.

Firma documenti PDF con firme campo modulo casella di controllo

Puoi firmare documenti PDF con le firme del campo modulo Checkbox seguendo gli stessi passaggi menzionati in precedenza. Tuttavia, devi creare un’istanza di CheckboxFormFieldSignature invece di TextFormFieldSignature.

L’esempio di codice seguente mostra come firmare elettronicamente un documento PDF con le firme del campo modulo della casella di controllo.

// creare un'istanza di Signature
Signature signature = new Signature(@"C:\Files\sample.pdf");

List<SignOptions> listOptions = new List<SignOptions>();

// istanziare la firma del campo del modulo di testo
CheckboxFormFieldSignature chbSignature = new CheckboxFormFieldSignature("chbData1", true);
// istanziare le opzioni in base alla firma del campo del modulo di testo
FormFieldSignOptions optionsTextCHB = new FormFieldSignOptions(chbSignature);
optionsTextCHB.HorizontalAlignment = HorizontalAlignment.Center;
optionsTextCHB.VerticalAlignment = VerticalAlignment.Top;
optionsTextCHB.Margin = new Padding(20, 0, 270, 0);
optionsTextCHB.Height = 20;
optionsTextCHB.Width = 20;

// firmare documento da archiviare
signature.Sign(@"C:\Files\CheckboxFormFieldSignature.pdf", optionsTextCHB);

La classe CheckboxFormFieldSignature fornisce le proprietà della firma del campo del modulo di input della casella di controllo per i documenti PDF.

Firma documenti PDF con firme sul campo del modulo digitale

È possibile firmare documenti PDF con firme di campo modulo digitale seguendo gli stessi passaggi menzionati in precedenza. Tuttavia, è necessario creare un’istanza di DigitalFormFieldSignature anziché TextFormFieldSignature.

L’esempio di codice seguente mostra come firmare elettronicamente un documento PDF con firme di campo modulo digitale.

// creare un'istanza di Signature
Signature signature = new Signature(@"C:\Files\sample.pdf");

// istanziare la firma del campo del modulo di testo
DigitalFormFieldSignature digSignature = new DigitalFormFieldSignature("dgData1");
// istanziare le opzioni in base alla firma del campo del modulo di testo
FormFieldSignOptions optionsTextDIG = new FormFieldSignOptions(digSignature);
optionsTextDIG.HorizontalAlignment = HorizontalAlignment.Center;
optionsTextDIG.VerticalAlignment = VerticalAlignment.Top;
optionsTextDIG.Margin = new Padding(20, 0, 300, 0);
optionsTextDIG.Height = 50;
optionsTextDIG.Width = 200;
optionsTextDIG.ForeColor = System.Drawing.Color.Yellow;

// firmare documento da archiviare
signature.Sign(@"C:\Files\DigitalFormFieldSignature.pdf", optionsTextDIG);

La classe DigitalFormFieldSignature fornisce le proprietà del campo del modulo di input della firma digitale per i documenti PDF. L’utente dovrà poter firmare documenti con le proprie firme digitali in questo campo.

Firma documenti PDF con più firme di campi modulo utilizzando C#

Puoi firmare elettronicamente i tuoi documenti PDF con più firme di campi modulo in modo programmatico seguendo i semplici passaggi indicati di seguito:

  • Crea un’istanza della classe Signature.
  • Fornisci il percorso del documento PDF di input
  • Definisci un elenco di SignOptions
  • Crea gli oggetti FormFieldSignature
  • Crea istanze di FormFieldSignOptions per gli oggetti FormFieldSignature creati
  • Impostare le opzioni di segno richieste come la posizione (Margine, Altezza, Larghezza, ecc.) per ciascun oggetto
  • Aggiungi oggetti FormFieldSignOptions all’elenco SignOptions
  • Chiama il metodo Sign() con SignOptions e il percorso del file di output

L’esempio di codice seguente mostra come firmare elettronicamente un documento PDF con più firme di campi modulo usando C#.

// creare un'istanza di Signature
Signature signature = new Signature(@"C:\Files\sample.pdf");

List<SignOptions> listOptions = new List<SignOptions>();

// istanziare la firma del campo del modulo di testo
TextFormFieldSignature textSignature = new TextFormFieldSignature("tbData1", "Enter Your Name");
// istanziare le opzioni in base alla firma del campo del modulo di testo
FormFieldSignOptions optionsTextFF = new FormFieldSignOptions(textSignature)
{
    HorizontalAlignment = HorizontalAlignment.Center,
    VerticalAlignment = VerticalAlignment.Top,
    Margin = new Padding(20, 0, 138, 0),
    Height = 20,
    Width = 200
};

// istanziare la firma del campo del modulo del pulsante di opzione
List<string> radioOptions = new List<string>() { "Male", "Female" };
RadioButtonFormFieldSignature rbSignature = new RadioButtonFormFieldSignature("radioData1", radioOptions, "Male");
// istanziare le opzioni in base alla firma del campo del modulo di testo
FormFieldSignOptions optionsTextRB = new FormFieldSignOptions(rbSignature)
{
    HorizontalAlignment = HorizontalAlignment.Center,
    VerticalAlignment = VerticalAlignment.Top,
    Margin = new Padding(20, 0, 170, 0),
    Height = 50,
    Width = 200,
};

// istanziare la firma del campo del modulo della casella combinata
List<string> items = new List<string>() { "Australia", "United Kingdom", "United States" };
ComboboxFormFieldSignature cmbSignature = new ComboboxFormFieldSignature("combo1", items, "Australia");
// istanziare le opzioni in base alla firma del campo del modulo di testo
FormFieldSignOptions optionsTextCMB = new FormFieldSignOptions(cmbSignature)
{
    HorizontalAlignment = HorizontalAlignment.Center,
    VerticalAlignment = VerticalAlignment.Top,
    Margin = new Padding(20, 0, 238, 0),
    Height = 20,
    Width = 200,
};

// istanziare la firma del campo del modulo di testo
CheckboxFormFieldSignature chbSignature = new CheckboxFormFieldSignature("chbData1", true);
// istanziare le opzioni in base alla firma del campo del modulo di testo
FormFieldSignOptions optionsTextCHB = new FormFieldSignOptions(chbSignature)
{
    HorizontalAlignment = HorizontalAlignment.Center,
    VerticalAlignment = VerticalAlignment.Top,
    Margin = new Padding(20, 0, 270, 0),
    Height = 20,
    Width = 20,
};


// istanziare la firma del campo del modulo digitale
DigitalFormFieldSignature digSignature = new DigitalFormFieldSignature("dgData1");
// istanziare le opzioni in base alla firma del campo del modulo di testo
FormFieldSignOptions optionsTextDIG = new FormFieldSignOptions(digSignature)
{
    HorizontalAlignment = HorizontalAlignment.Center,
    VerticalAlignment = VerticalAlignment.Top,
    Margin = new Padding(20, 0, 300, 0),
    Height = 50,
    Width = 200,
};

// aggiungi campi modulo per firmare l'elenco delle opzioni
listOptions.Add(optionsTextFF);
listOptions.Add(optionsTextCHB);
listOptions.Add(optionsTextRB);
listOptions.Add(optionsTextCMB);
listOptions.Add(optionsTextDIG);

// firmare documento da archiviare
signature.Sign(@"C:\Files\Signature\sample_output.pdf", listOptions);
Firma documenti PDF con più firme di campi modulo utilizzando C#

Firma documenti PDF con più firme di campi modulo utilizzando C#

Il metodo Sign() della classe Signature viene utilizzato per firmare il documento con un elenco di SignOptions. La classe SignOptions consente di impostare le opzioni di firma come aspetto, tipi di firma, ecc.

La classe FormFieldSignOptions fornisce le opzioni di firma del campo modulo per i documenti PDF. È possibile definire le opzioni del campo modulo come AllineamentoOrizzontale, AllineamentoVerticale, Margine, Altezza e Larghezza. È necessario fornire l’oggetto definito di una delle classi FormFieldSignature durante la creazione dell’istanza della classe FormFieldSignOptions.

Ottieni una licenza gratuita

Puoi provare l’API senza limitazioni di valutazione richiedendo una licenza temporanea gratuita.

Conclusione

In questo articolo, hai imparato come creare un PDF con le firme dei campi modulo usando C#. Hai anche imparato a firmare elettronicamente documenti PDF con vari tipi di firma del campo modulo a livello di codice. Puoi saperne di più su GroupDocs.Signature per .NET API usando la documentazione. In caso di ambiguità, non esitare a contattarci sul forum.

Guarda anche