A assinatura digital é um esquema confiável para verificar a autenticidade de seus documentos. Assinaturas digitais são frequentemente usadas para implementar assinaturas eletrônicas. Neste artigo, você aprenderá como assinar eletronicamente documentos PDF e Word com certificados digitais usando C#.

API .NET para assinaturas e certificados digitais

Para assinar documentos com o certificado digital, usarei a API GroupDocs.Signature for .NET nos exemplos C# deste artigo. Além da assinatura de documentos PDF, esta API suporta assinaturas digitais para documentos de processamento de texto e formatos de planilha.

Baixe as DLLs ou o instalador MSI da seção de downloads ou instale a API em seu aplicativo .NET via NuGet.

PM> Install-Package GroupDocs.Signature

Assinar PDF com Certificado Digital em C#

Depois de configurar o ambiente, você está a poucas linhas da assinatura bem-sucedida de seus documentos. Siga as etapas a seguir para assinar seu documento com o certificado digital disponível usando C#.

  • Inicialize o objeto Signature com o documento a ser assinado.
  • Inicialize o objeto DigitalSignOptions com o arquivo de certificado.
  • Defina as opções de sinal necessárias, como senha e posição.
  • Chame o método Sign para assinar o documento com o certificado digital.

O exemplo de código a seguir assina os documentos PDF com o certificado em C#.

// Assinar PDF com certificado digital em 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);
}

Assinar com assinatura digital usando aparência personalizada em c#

A assinatura digital pode ser personalizada para ter diferentes apresentações. Para a aparência personalizada, as seguintes opções podem ser personalizadas usando a classe PdfDigitalSignatureAppearance.

  • Fundo
  • Informações de contato
  • Data de assinatura em
  • Assinado digitalmente
  • Localização
  • Razão
  • Família de fontes
  • Tamanho da fonte

Além disso, você pode alterar as seguintes propriedades:

  • Altura
  • Largura
  • Estilo de borda
  • Mostrar em Todas as páginas ou Não
Assinar PDF com Certificado Digital

Documento PDF assinado com certificado digital usando GroupDocs.Signature for .NET em C#

No exemplo a seguir, estou usando quase todas as propriedades mencionadas acima. Este exemplo personaliza a aparência da assinatura digital em um documento PDF usando C#.

// Assine PDF com certificado digital em C# com aparência e configuração personalizadas
using (Signature signature = new Signature("document.pdf"))
{
    DigitalSignOptions options = new DigitalSignOptions("certificate.pfx")
    {
        Password = "GroupDocs",
        // detalhes do certificado digital
        Reason = "Approved",
        Location = "New York",

        // Aparência de assinatura PDF personalizada
        Appearance = new PdfDigitalSignatureAppearance()
        {
            // Não mostrar detalhes de contato
            ContactInfoLabel = string.Empty,
            // Rótulo de motivo simplificado
            ReasonLabel = "?",
            // Alterar rótulo de local
            LocationLabel = "From",
            DigitalSignedLabel = "By",
            DateSignedAtLabel = "On",
            Background = Color.Red
        },
        AllPages = true,
        Width = 160,
        Height = 80,
        // Definir borda de assinatura
        Border = new Border()
        {
            Visible = true,
            Color = Color.Red,
            DashStyle = DashStyle.DashDot,
            Weight = 2
        }
    };
    SignResult signResult = signature.Sign("signedDocument.pdf", options);
}

Assine documentos do Word com certificado digital em c#

Da mesma forma, você pode assinar documentos do Word usando o certificado. Basta fornecer o documento correto ao iniciar a inicialização do objeto Signature.

  • Inicialize o objeto Signature com o documento do Word para assinar.
  • Inicialize o objeto DigitalSignOptions com o arquivo de certificado.
  • Definir opções de sinal, como senha e posição.
  • Assine o documento com o certificado digital usando o método Sign.

O exemplo assina os documentos do Word usando o certificado em C#.

// Assinar documento do Word com certificado digital em 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);
}

Conclusão

Neste artigo, você aprendeu a assinar eletronicamente documentos PDF e Word com o certificado digital usando C#. Além disso, você pode personalizar facilmente a aparência da assinatura. Agora você pode tentar construir seu próprio aplicativo .NET para assinar documentos PDF e Word com certificados digitais com uma aparência personalizada em C#.

Veja também