Este tutorial rápido orienta como adicionar assinatura no Word usando C# compartilhando detalhes de configuração, etapas detalhadas e um código de exemplo executável que usa o documento do Word de origem, um repositório PKCS12 e sua senha. Você pode definir várias propriedades antes de assinar o documento que fica visível para os usuários para referência. Depois de inserir assinatura eletrônica no Word usando C#, ela pode ser salva em qualquer um dos formatos compatíveis, como DOCX, DOC etc.
Etapas para adicionar assinatura no Word usando C#
- Configure o ambiente de desenvolvimento para adicionar Aspose.Words usando o gerenciador de pacotes NuGet para assinar documentos
- Carregue o certificado PFX usando a classe CertificateHolder fornecendo o caminho do arquivo e a senha
- Defina comentários e horário de assinatura usando o objeto SignOptions
- Carregar o arquivo do Word de origem usando FileStream
- Assine o documento carregado usando o método Sign na classe DigitalSignatureUtil
- Carregue o documento assinado e verifique as informações de assinatura
Essas etapas descrevem o processo para adicionar assinatura digital no Word usando C# compartilhando todas as classes e métodos necessários. Precisamos carregar o certificado junto com a senha e, em seguida, definir algumas propriedades, como comentários da autoridade de assinatura, data e hora da assinatura, imagem da linha de assinatura e ID do provedor. Por fim, assinamos o documento usando a classe DigitalSignatureUtil e salvamos o documento em disco, no entanto, a última etapa é opcional onde demonstramos a verificação da assinatura carregando o documento assinado de volta e exibindo suas informações.
Código para assinar documentos do Word usando C#
using System; | |
using System.IO; | |
using Aspose.Words.DigitalSignatures; | |
namespace AsposeWords | |
{ | |
class Program | |
{ | |
static void Main(string[] args) // Main function to add signature in Word using C# | |
{ | |
//Initialize a license | |
Aspose.Words.License lic = new Aspose.Words.License(); | |
lic.SetLicense(@"Aspose.Total.lic"); | |
// Create a certificate | |
CertificateHolder certificate = CertificateHolder.Create("certificate.pfx", "mypass"); | |
// Set options | |
SignOptions options = new SignOptions { Comments = "Signing Authority Comments", SignTime = new DateTime(2022,6,5,13,30,0) }; | |
// Add Signature | |
using (Stream inputStream = new FileStream("InputDocx.docx", FileMode.Open)) | |
{ | |
using (Stream outputStream = new FileStream("SignedOutput.docx", FileMode.OpenOrCreate)) | |
{ | |
DigitalSignatureUtil.Sign(inputStream, outputStream, certificate, options); | |
} | |
} | |
// Load and display signature information | |
using (Stream stream = new FileStream("SignedOutput.docx", FileMode.Open)) | |
{ | |
DigitalSignature sign = DigitalSignatureUtil.LoadSignatures(stream)[0]; | |
Console.WriteLine($@"IsValid={sign.IsValid}, Comments:{sign.Comments},IssuerName:{sign.IssuerName}"); | |
} | |
System.Console.WriteLine("Done"); | |
} | |
} | |
} |
Este código demonstra como inserir assinatura no Word usando C# usando a classe DigitalSignatureUtil. Ele suporta muitos outros recursos, além de remover todas as assinaturas de um arquivo do Word para modificá-lo. Da mesma forma, a classe DigitalSignature que é usada para obter a referência da assinatura no documento carregado contém várias propriedades, como tempo de assinatura, comentários, nome do assunto e nome do emissor.
Este tutorial nos guiou para adicionar assinatura ao Word usando C#. Se você estiver interessado em criar um arquivo do Word do zero, consulte o artigo em como criar documento do Word em c#.