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
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#.
Links rápidos para saber mais sobre a API de assinatura
- Exemplos no GitHub
- Guia e documentação do desenvolvedor
- Fórum para Suporte Rápido