Como adicionar assinatura no Word usando C#

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#

  1. Configure o ambiente de desenvolvimento para adicionar Aspose.Words usando o gerenciador de pacotes NuGet para assinar documentos
  2. Carregue o certificado PFX usando a classe CertificateHolder fornecendo o caminho do arquivo e a senha
  3. Defina comentários e horário de assinatura usando o objeto SignOptions
  4. Carregar o arquivo do Word de origem usando FileStream
  5. Assine o documento carregado usando o método Sign na classe DigitalSignatureUtil
  6. 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#.

 Português