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
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
- Ejemplos en GitHub
- Guía y documentación para desarrolladores
- Foro para soporte rápido