Firme PDF con firmas de campo de formulario usando C#

Los campos de formulario son varios tipos de campos de datos que se utilizan para recopilar información de los usuarios. Como desarrollador de C#, puede crear fácilmente documentos PDF para que los usuarios los completen y firmen electrónicamente. Esto puede ser útil para recopilar comentarios de los clientes, el consentimiento de los socios, etc. En este artículo, aprenderá cómo firmar electrónicamente documentos PDF con firmas de campos de formulario usando C#.

Los siguientes temas se discuten/tratan en este artículo:

API de C# para firmar documentos PDF

Usaré la API GroupDocs.Signature para .NET para firmar los documentos PDF habilitados con firmas de campos de formulario. La API le permite agregar firmas digitales a los formatos de documentos admitidos e implementar tipos de firmas electrónicas populares en sus aplicaciones .NET. También le ofrece opciones de búsqueda simples y avanzadas para ubicar las firmas requeridas en un documento.

Firme documentos PDF con firmas de campo de formulario usando C#

Puede firmar electrónicamente sus documentos PDF utilizando los siguientes tipos de firmas de campos de formulario mediante programación:

Firmar documentos PDF con firmas de campo de formulario de texto

Puede firmar documentos PDF con firmas de campo de formulario de texto siguiendo los sencillos pasos que se mencionan a continuación:

  • Crear una instancia de la clase Firma
  • Proporcione la ruta del documento PDF de entrada
  • Crear una instancia de la clase TextFormFieldSignature
  • Cree una instancia de la clase FormFieldSignOptions con el objeto TextFormFieldSignature
  • Establezca las opciones de signo requeridas, como Margen, Altura, Ancho, etc.
  • Llame al método Sign() con FormFieldSignOptions y la ruta del archivo de salida

El siguiente ejemplo de código muestra cómo firmar electrónicamente un documento PDF con firmas de campo de formulario de texto mediante C#.

// crear una instancia de Firma
Signature signature = new Signature(@"C:\Files\sample.pdf");

// instanciar firma de campo de formulario de texto
TextFormFieldSignature textSignature = new TextFormFieldSignature("textBoxData1", "Enter Your Name");
// crear instancias de opciones basadas en la firma del campo de formulario de texto
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;

// firmar documento para archivar
signature.Sign(@"C:\Files\TextFormFieldSignature.pdf", optionsTextFF);

La clase Signature es la clase principal que controla el proceso de firma de documentos. Proporciona varios métodos para firmar, buscar, eliminar o verificar firmas en un documento. El método Sign() de esta clase se utiliza para firmar el documento con SignOptions definido.

La clase TextFormFieldSignature proporciona propiedades de firma de campo de formulario de entrada de texto para los documentos PDF.

Firmar documentos PDF con firmas de campo de formulario de botón de opción

Puede firmar documentos PDF con las firmas de campo de formulario de botón de opción siguiendo los pasos mencionados anteriormente. Sin embargo, debe crear una instancia de la clase RadioButtonFormFieldSignature en lugar de TextFormFieldSignature.

El siguiente ejemplo de código muestra cómo firmar electrónicamente un documento PDF con firmas de campo de formulario de botón de opción mediante C#.

// crear una instancia de Firma
Signature signature = new Signature(@"C:\Files\sample.pdf");

// instanciar firma de campo de formulario de botón de opción
List<string> radioOptions = new List<string>() { "Male", "Female" };
RadioButtonFormFieldSignature rbSignature = new RadioButtonFormFieldSignature("radioData1", radioOptions, "Male");
// crear instancias de opciones basadas en la firma del campo de formulario de texto
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;

// firmar documento para archivar
signature.Sign(@"C:\Files\RadioButtonFormFieldSignature.pdf", optionsTextRB);

La clase RadioButtonFormFieldSignature proporciona propiedades de firma de campo de formulario de entrada de botón de opción para los documentos PDF.

Firme documentos PDF con firmas de campo de formulario Combobox

Puede firmar documentos PDF con firmas de campo de formulario Combobox siguiendo los pasos mencionados anteriormente. Sin embargo, debe crear una instancia de ComboboxFormFieldSignature en lugar de TextFormFieldSignature.

El siguiente ejemplo de código muestra cómo firmar electrónicamente un documento PDF con firmas de campo de formulario Combobox usando C#.

// crear una instancia de Firma
Signature signature = new Signature(@"C:\Files\sample.pdf");

// instanciar la firma del campo del formulario del cuadro combinado
List<string> items = new List<string>() { "Australia", "United Kingdom", "United States" };
ComboboxFormFieldSignature cmbSignature = new ComboboxFormFieldSignature("combo1", items, "Australia");
// crear instancias de opciones basadas en la firma del campo de formulario de texto
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;

// firmar documento para archivar
signature.Sign(@"C:\Files\ComboboxFormFieldSignature.pdf", optionsTextCMB);

La clase ComboboxFormFieldSignature proporciona propiedades de firma de campo de formulario de entrada de cuadro combinado para los documentos PDF.

Firmar documentos PDF con firmas de campo de formulario de casilla de verificación

Puede firmar documentos PDF con firmas de campo de formulario de casilla de verificación siguiendo los mismos pasos mencionados anteriormente. Sin embargo, debe crear una instancia de CheckboxFormFieldSignature en lugar de TextFormFieldSignature.

El siguiente ejemplo de código muestra cómo firmar electrónicamente un documento PDF con firmas de campo de formulario de casilla de verificación.

// crear una instancia de Firma
Signature signature = new Signature(@"C:\Files\sample.pdf");

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

// instanciar firma de campo de formulario de texto
CheckboxFormFieldSignature chbSignature = new CheckboxFormFieldSignature("chbData1", true);
// crear instancias de opciones basadas en la firma del campo de formulario de texto
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;

// firmar documento para archivar
signature.Sign(@"C:\Files\CheckboxFormFieldSignature.pdf", optionsTextCHB);

La clase CheckboxFormFieldSignature proporciona propiedades de firma de campo de formulario de entrada de casilla de verificación para los documentos PDF.

Firme documentos PDF con firmas de campo de formulario digital

Puede firmar documentos PDF con firmas de campo de formulario digital siguiendo los mismos pasos mencionados anteriormente. Sin embargo, debe crear una instancia de DigitalFormFieldSignature en lugar de TextFormFieldSignature.

El siguiente ejemplo de código muestra cómo firmar electrónicamente un documento PDF con firmas de campos de formularios digitales.

// crear una instancia de Firma
Signature signature = new Signature(@"C:\Files\sample.pdf");

// instanciar firma de campo de formulario de texto
DigitalFormFieldSignature digSignature = new DigitalFormFieldSignature("dgData1");
// crear instancias de opciones basadas en la firma del campo de formulario de texto
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;

// firmar documento para archivar
signature.Sign(@"C:\Files\DigitalFormFieldSignature.pdf", optionsTextDIG);

La clase DigitalFormFieldSignature proporciona propiedades de campo de formulario de entrada de firma digital para los documentos PDF. El usuario podrá firmar documentos con su propia firma digital en este campo.

Firme documentos PDF con múltiples firmas de campo de formulario usando C#

Puede firmar electrónicamente sus documentos PDF con varias firmas de campos de formulario mediante programación siguiendo los sencillos pasos que se mencionan a continuación:

  • Crear una instancia de la clase Firma
  • Proporcione la ruta del documento PDF de entrada
  • Definir una lista de SignOptions
  • Crear los objetos FormFieldSignature
  • Cree instancias de FormFieldSignOptions para los objetos FormFieldSignature creados
  • Establezca las opciones de signo requeridas, como la posición (margen, alto, ancho, etc.) para cada objeto
  • Agregar objetos FormFieldSignOptions a la lista SignOptions
  • Llame al método Sign() con SignOptions y la ruta del archivo de salida

El siguiente ejemplo de código muestra cómo firmar electrónicamente un documento PDF con varias firmas de campos de formulario mediante C#.

// crear una instancia de Firma
Signature signature = new Signature(@"C:\Files\sample.pdf");

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

// instanciar firma de campo de formulario de texto
TextFormFieldSignature textSignature = new TextFormFieldSignature("tbData1", "Enter Your Name");
// crear instancias de opciones basadas en la firma del campo de formulario de texto
FormFieldSignOptions optionsTextFF = new FormFieldSignOptions(textSignature)
{
    HorizontalAlignment = HorizontalAlignment.Center,
    VerticalAlignment = VerticalAlignment.Top,
    Margin = new Padding(20, 0, 138, 0),
    Height = 20,
    Width = 200
};

// instanciar firma de campo de formulario de botón de opción
List<string> radioOptions = new List<string>() { "Male", "Female" };
RadioButtonFormFieldSignature rbSignature = new RadioButtonFormFieldSignature("radioData1", radioOptions, "Male");
// crear instancias de opciones basadas en la firma del campo de formulario de texto
FormFieldSignOptions optionsTextRB = new FormFieldSignOptions(rbSignature)
{
    HorizontalAlignment = HorizontalAlignment.Center,
    VerticalAlignment = VerticalAlignment.Top,
    Margin = new Padding(20, 0, 170, 0),
    Height = 50,
    Width = 200,
};

// instanciar la firma del campo del formulario del cuadro combinado
List<string> items = new List<string>() { "Australia", "United Kingdom", "United States" };
ComboboxFormFieldSignature cmbSignature = new ComboboxFormFieldSignature("combo1", items, "Australia");
// crear instancias de opciones basadas en la firma del campo de formulario de texto
FormFieldSignOptions optionsTextCMB = new FormFieldSignOptions(cmbSignature)
{
    HorizontalAlignment = HorizontalAlignment.Center,
    VerticalAlignment = VerticalAlignment.Top,
    Margin = new Padding(20, 0, 238, 0),
    Height = 20,
    Width = 200,
};

// instanciar firma de campo de formulario de texto
CheckboxFormFieldSignature chbSignature = new CheckboxFormFieldSignature("chbData1", true);
// crear instancias de opciones basadas en la firma del campo de formulario de texto
FormFieldSignOptions optionsTextCHB = new FormFieldSignOptions(chbSignature)
{
    HorizontalAlignment = HorizontalAlignment.Center,
    VerticalAlignment = VerticalAlignment.Top,
    Margin = new Padding(20, 0, 270, 0),
    Height = 20,
    Width = 20,
};


// instanciar firma de campo de formulario digital
DigitalFormFieldSignature digSignature = new DigitalFormFieldSignature("dgData1");
// crear instancias de opciones basadas en la firma del campo de formulario de texto
FormFieldSignOptions optionsTextDIG = new FormFieldSignOptions(digSignature)
{
    HorizontalAlignment = HorizontalAlignment.Center,
    VerticalAlignment = VerticalAlignment.Top,
    Margin = new Padding(20, 0, 300, 0),
    Height = 50,
    Width = 200,
};

// agregar campos de formulario para firmar la lista de opciones
listOptions.Add(optionsTextFF);
listOptions.Add(optionsTextCHB);
listOptions.Add(optionsTextRB);
listOptions.Add(optionsTextCMB);
listOptions.Add(optionsTextDIG);

// firmar documento para archivar
signature.Sign(@"C:\Files\Signature\sample_output.pdf", listOptions);
Firme documentos PDF con múltiples firmas de campo de formulario usando C#

Firme documentos PDF con múltiples firmas de campo de formulario usando C#

El método Sign() de la clase Signature se usa para firmar el documento con una lista de SignOptions. La clase SignOptions permite configurar las opciones de firma como apariencia, tipos de firma, etc.

La clase FormFieldSignOptions proporciona las opciones de firma de campo de formulario para los documentos PDF. Puede definir las opciones de campo de formulario, como HorizontalAlignment, VerticalAlignment, Margin, Height y Width. Debe proporcionar el objeto definido de una de las clases FormFieldSignature al crear la instancia de la clase FormFieldSignOptions.

Obtenga una licencia gratis

Puede probar la API sin limitaciones de evaluación solicitando una licencia temporal gratuita.

Conclusión

En este artículo, ha aprendido a crear un PDF con Firmas de campo de formulario usando C#. También aprendió a firmar electrónicamente documentos PDF con varios tipos de firmas de campos de formulario mediante programación. Puede obtener más información sobre GroupDocs.Signature para la API de .NET mediante la documentación. En caso de cualquier ambigüedad, no dude en contactarnos en el foro.

Ver también