Assine documentos com assinaturas digitais usando a API REST no Node.js

Você pode assinar eletronicamente seus documentos com assinaturas digitais programaticamente na nuvem. As assinaturas digitais são usadas para validar a autenticidade e integridade dos documentos. Ele também permite que você anexe um código ao seu documento que funciona como uma assinatura. Este artigo se concentrará em como assinar documentos com assinaturas digitais usando uma API REST no Node.js.

Os seguintes tópicos serão abordados neste artigo:

API REST de assinatura de documento e SDK Node.js

Para assinar arquivos PDF e DOCX, usarei a API Node.js SDK of GroupDocs.Signature Cloud. Ele permite que você crie, verifique e pesquise vários tipos de assinaturas, como imagem, código de barras, QR-Code, assinaturas baseadas em texto, digitais e de carimbo. Essas assinaturas podem ser facilmente aplicadas em documentos portáteis ou simples, planilhas, apresentações e imagens de formatos de arquivo suportados. Você pode integrar a API em seus aplicativos Node.js existentes. Ele também fornece SDKs .NET, Java, PHP, Android, Ruby e Python como seus membros da família de assinaturas de documentos para a Cloud API.

Você pode instalar o GroupDocs.Signature Cloud em seu projeto Node.js usando o seguinte comando no console:

npm install groupdocs-signature-cloud --save

Obtenha seu ID e Segredo do cliente no painel antes de seguir as etapas mencionadas. Depois de ter seu ID e segredo, adicione o código conforme mostrado abaixo:

global.clientId = "112f0f38-9dae-42d5-b4fc-cc84ae644972";
global.clientSecret = "16ad3fe0bdc39c910f57d2fd48a5d618";
global.myStorage = "";

const config = new groupdocs_signature_cloud.Configuration(clientId, clientSecret);
config.apiBaseUrl = "https://api.groupdocs.cloud";

Assinar documentos do Word usando uma API REST em Node.js

Você pode assinar documentos do Word com assinaturas digitais na nuvem seguindo as etapas simples mencionadas abaixo:

Carregue o Documento

Em primeiro lugar, carregue o documento do Word para a nuvem usando o exemplo de código abaixo:

var resourcesFolder = 'C:\\Files\\sample.docx';
fs.readFile(resourcesFolder, (err, fileStream) => {
  // construir FileApi
  var fileApi = groupdocs_signature_cloud.FileApi.fromConfig(config);
  // criar solicitação de upload de arquivo
  var request = new groupdocs_signature_cloud.UploadFileRequest("sample.docx", fileStream, myStorage);
  fileApi.uploadFile(request)
});

Como resultado, o arquivo do Word carregado estará disponível na seção de arquivos do seu painel na nuvem. Use o exemplo de código acima para carregar o certificado e o arquivo de imagem de assinatura para a nuvem.

Assinar documentos do Word com assinaturas digitais usando Node.js

Você pode assinar seus arquivos DOCX com assinaturas digitais programaticamente seguindo as etapas abaixo:

  • Crie uma instância do SignApi
  • Crie uma instância do FileInfo
  • Defina o caminho do arquivo DOCX
  • Crie uma instância do SignDigitalOptions
  • Defina SignatureType como Digital
  • Definir ImageFilePath e CertificateFilePath
  • Forneça a senha
  • Definir a posição da assinatura
  • Crie uma instância do SignSettings
  • Atribua SignDigitalOptions e SaveOptions a SignSettings
  • Crie o CreateSignaturesRequest
  • Obtenha resultados chamando o método SignApi.createSignatures()

O exemplo de código a seguir mostra como assinar um documento do Word com assinaturas digitais usando uma API REST no Node.js.

// inicializar API
let signApi = groupdocs_signature_cloud.SignApi.fromKeys(clientId, clientSecret);

// criar informações do arquivo
let fileInfo = new groupdocs_signature_cloud.FileInfo();
fileInfo.filePath = "sample.docx";

// definir opções digitais de assinatura
let opts = new groupdocs_signature_cloud.SignDigitalOptions();
opts.signatureType = groupdocs_signature_cloud.OptionsBase.SignatureTypeEnum.Digital;
opts.imageFilePath = "signature.jpg";
opts.certificateFilePath = "certificate.pfx";
opts.password = "1234567890";

// definir a posição da assinatura em uma página
opts.left = 350;
opts.top = 450;
opts.width = 200;
opts.height = 100;
opts.location_measure_type = "Pixels";
opts.size_measure_type = "Pixels";
opts.rotation_angle = 0;
opts.horizontal_alignment = "None";
opts.vertical_alignment = "None";
opts.margin = new groupdocs_signature_cloud.Padding();
opts.margin.all = 5;
opts.margin_measure_type = "Pixels";

// definir página para mostrar assinaturas
opts.page = 1;

// definir configurações de sinalização
let settings = new groupdocs_signature_cloud.SignSettings();
settings.fileInfo = fileInfo;
settings.options = [opts];

// definir opções de salvamento
settings.saveOptions = new groupdocs_signature_cloud.SaveOptions();
settings.saveOptions.outputFilePath = "signedDigital_sample.docx";

// criar pedido de assinatura
let request = new groupdocs_signature_cloud.CreateSignaturesRequest(settings);
let response = await signApi.createSignatures(request);

console.log("Output file link: " + response.downloadUrl);
Assinar documentos do Word com assinaturas digitais usando Node.js

Assinar documentos do Word com assinaturas digitais usando Node.js

Baixe o arquivo assinado

O exemplo de código acima salvará o arquivo do Word assinado na nuvem. Você pode baixá-lo usando o exemplo de código fornecido abaixo:

// construir FileApi
var fileApi = groupdocs_signature_cloud.FileApi.fromConfig(config);

// criar solicitação de download de arquivo
let request = new groupdocs_signature_cloud.DownloadFileRequest("signedDigital_sample.docx", myStorage);
let response = await fileApi.downloadFile(request);

// salvar arquivo no diretório de trabalho
fs.writeFile("C:\\Files\\signedDigital_sample.docx", response, "binary", function (err) { });

Assinar documentos PDF com assinaturas digitais usando Node.js

Você pode assinar os documentos PDF com assinaturas digitais programaticamente seguindo as etapas abaixo:

  • Crie uma instância do SignApi
  • Crie uma instância do FileInfo
  • Definir o caminho do arquivo PDF
  • Crie uma instância do SignDigitalOptions
  • Defina SignatureType como Digital
  • Definir ImageFilePath e CertificateFilePath
  • Forneça a senha
  • Crie uma instância do SignSettings
  • Atribua SignDigitalOptions e SaveOptions a SignSettings
  • Crie o CreateSignaturesRequest
  • Obtenha resultados chamando o método SignApi.createSignatures()

O exemplo de código a seguir mostra como assinar um documento PDF com assinaturas digitais usando uma API REST em Node.js.

// inicializar API
let signApi = groupdocs_signature_cloud.SignApi.fromKeys(clientId, clientSecret);

// criar informações do arquivo
let fileInfo = new groupdocs_signature_cloud.FileInfo();
fileInfo.filePath = "sample.pdf";

// definir opções digitais de assinatura
let opts = new groupdocs_signature_cloud.SignDigitalOptions();
opts.signatureType = groupdocs_signature_cloud.OptionsBase.SignatureTypeEnum.Digital;
opts.imageFilePath = "signature.jpg";
opts.certificateFilePath = "certificate.pfx";
opts.password = "1234567890";
opts.allPage = true;

// definir opções de sinal
let settings = new groupdocs_signature_cloud.SignSettings();
settings.fileInfo = fileInfo;
settings.options = [opts];

// definir opções de salvamento
settings.saveOptions = new groupdocs_signature_cloud.SaveOptions();
settings.saveOptions.outputFilePath = "signedDigital_sample.pdf";

// criar pedido de assinatura
let request = new groupdocs_signature_cloud.CreateSignaturesRequest(settings);
let response = await signApi.createSignatures(request);

console.log("Output file link: " + response.downloadUrl);
Assinar documentos PDF com assinaturas digitais usando Node.js

Assinar documentos PDF com assinaturas digitais usando Node.js

Verifique as assinaturas digitais usando uma API REST no Node.js

Você pode verificar facilmente as assinaturas digitais programaticamente seguindo as etapas abaixo:

  • Crie uma instância do SignApi
  • Crie uma instância do FileInfo
  • Defina o caminho do arquivo DOCX
  • Crie uma instância doVerifyDigitalOptions
  • Defina SignatureType como Digital
  • Crie uma instância do VerifySettings
  • Atribua VerifyDigitalOptions e FileInfo a VerifySettings
  • Crie o VerifySignaturesRequest
  • Obtenha resultados chamando o método SignApi.verifySignatures()
  • Mostrar os resultados

O exemplo de código a seguir mostra como verificar as assinaturas digitais usando uma API REST em Node.js.

// inicializar API
let signApi = groupdocs_signature_cloud.SignApi.fromKeys(clientId, clientSecret);

// criar informações do arquivo
let fileInfo = new groupdocs_signature_cloud.FileInfo();
fileInfo.filePath = "signedDigital_sample.docx";

// definir opções de verificação
let opts = new groupdocs_signature_cloud.VerifyDigitalOptions();
opts.signatureType = groupdocs_signature_cloud.OptionsBase.SignatureTypeEnum.Digital;

// definir configurações de verificação
let settings = new groupdocs_signature_cloud.VerifySettings();
settings.fileInfo = fileInfo;
settings.options = [opts];

// criar solicitação de assinatura de verificação
let request = new groupdocs_signature_cloud.VerifySignaturesRequest(settings);
let response = await signApi.verifySignatures(request);

// Mostrar resultados
if (response.isSuccess) {
  console.log("Successfully verified!");
}
else{
  console.log("Not verified!");
}
Verifique as assinaturas digitais usando uma API REST no Node.js

Verifique as assinaturas digitais usando uma API REST no Node.js

Experimente on-line

Experimente a seguinte ferramenta gratuita de assinatura de documentos on-line, desenvolvida usando a API acima. https://products.groupdocs.app/signature/

Conclusão

Neste artigo, você aprendeu como assinar documentos do Word com assinaturas digitais na nuvem. Você também aprendeu como assinar documentos PDF com assinaturas digitais usando uma API REST no Node.js. Além disso, você aprendeu como carregar programaticamente um arquivo do Word na nuvem e, em seguida, baixar o arquivo assinado da nuvem. Você pode aprender mais sobre GroupDocs.Signature Cloud API usando a documentação. Também fornecemos uma seção Referência de API que permite visualizar e interagir com nossas APIs diretamente pelo navegador. Em caso de ambiguidade, sinta-se à vontade para nos contatar no fórum.

Veja também