La firma digital es un esquema confiable para verificar la autenticidad de sus documentos. Las firmas digitales se utilizan a menudo para implementar firmas electrónicas. En este artículo, aprenderá cómo firmar electrónicamente documentos PDF y Word con certificados digitales usando C#.

.NET API para firmas y certificados digitales

Para firmar documentos con el certificado digital, usaré GroupDocs.Signature for .NET API en los ejemplos de C# de este artículo. Además de la firma de documentos PDF, esta API admite firmas digitales para documentos de procesamiento de texto y formatos de hojas de cálculo.

Descargue el instalador de DLL o MSI desde la sección de descargas o instale la API en su aplicación .NET a través de NuGet.

PM> Install-Package GroupDocs.Signature

Firmar PDF con Certificado Digital en C#

Después de configurar el entorno, está a pocas líneas de firmar con éxito sus documentos. Siga los siguientes pasos para firmar su documento con el certificado digital disponible usando C#.

  • Inicializar el objeto Firma con el documento a firmar.
  • Inicialice el objeto DigitalSignOptions con el archivo de certificado.
  • Establezca las opciones de inicio de sesión requeridas, como la contraseña y la posición.
  • Llame al método Firmar para firmar el documento con el certificado digital.

El siguiente ejemplo de código firma los documentos PDF con el certificado en C#.

// Firmar PDF con certificado digital en 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);
}

Firme con firma digital usando apariencia personalizada en C#

La firma digital se puede personalizar para tener diferentes presentaciones. Para la apariencia personalizada, las siguientes opciones se pueden personalizar usando la clase PdfDigitalSignatureAppearance.

  • Fondo
  • Datos de contacto
  • Fecha de firma en
  • Firmado digitalmente
  • Ubicación
  • Razón
  • Familia tipográfica
  • Tamaño de fuente

Además, puede modificar las siguientes propiedades:

  • Altura
  • Ancho
  • Estilo de borde
  • Mostrar en Todas las páginas o No
Firmar PDF con Certificado Digital

Documento PDF firmado con certificado digital usando GroupDocs.Signature para .NET en C#

En el siguiente ejemplo, estoy usando casi todas las propiedades mencionadas anteriormente. Este ejemplo personaliza la apariencia de la firma digital en un documento PDF usando C#.

// Firme PDF con certificado digital en C# con apariencia y configuración personalizadas
using (Signature signature = new Signature("document.pdf"))
{
    DigitalSignOptions options = new DigitalSignOptions("certificate.pfx")
    {
        Password = "GroupDocs",
        // detalles del certificado digital
        Reason = "Approved",
        Location = "New York",

        // Apariencia de firma PDF personalizada
        Appearance = new PdfDigitalSignatureAppearance()
        {
            // No mostrar datos de contacto
            ContactInfoLabel = string.Empty,
            // Etiqueta de razón simplificada
            ReasonLabel = "?",
            // Cambiar etiqueta de ubicación
            LocationLabel = "From",
            DigitalSignedLabel = "By",
            DateSignedAtLabel = "On",
            Background = Color.Red
        },
        AllPages = true,
        Width = 160,
        Height = 80,
        // Establecer borde de firma
        Border = new Border()
        {
            Visible = true,
            Color = Color.Red,
            DashStyle = DashStyle.DashDot,
            Weight = 2
        }
    };
    SignResult signResult = signature.Sign("signedDocument.pdf", options);
}

Firmar documentos de Word con certificado digital en C#

Del mismo modo, puede firmar documentos de Word utilizando el certificado. Simplemente proporcione el documento correcto cuando comience a inicializar el objeto Signature.

  • Inicialice el objeto Firma con el documento de Word para firmar.
  • Inicialice el objeto DigitalSignOptions con el archivo de certificado.
  • Establecer opciones de inicio de sesión como contraseña y posición.
  • Firmar el documento con el certificado digital mediante el método Firmar.

El ejemplo firma los documentos de Word usando el certificado en C#.

// Firmar documento de Word con certificado digital en 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);
}

Conclusión

En este artículo, ha aprendido a firmar electrónicamente documentos PDF y Word con el certificado digital usando C#. Además, puede personalizar fácilmente la apariencia de la firma. Ahora puede intentar crear su propia aplicación .NET para firmar documentos PDF y Word con certificados digitales que tengan una apariencia personalizada en C#.

Enlaces rápidos para obtener más información sobre la API de firma

Ver también