Firme documentos con firmas digitales usando REST API en Node.js

Puede firmar electrónicamente sus documentos con firmas digitales mediante programación en la nube. Las firmas digitales se utilizan para validar la autenticidad e integridad de los documentos. También le permite adjuntar un código con su documento que actúa como una firma. Este artículo se centrará en cómo firmar documentos con firmas digitales utilizando una API REST en Node.js.

En este artículo se tratarán los siguientes temas:

API REST de firma de documento y SDK de Node.js

Para firmar archivos PDF y DOCX, usaré la API Node.js SDK de GroupDocs.Signature Cloud. Le permite crear, verificar y buscar varios tipos de firmas, como imágenes, códigos de barras, códigos QR, firmas basadas en texto, digitales y de sellos. Estas firmas se pueden aplicar fácilmente en documentos portátiles o simples, hojas de cálculo, presentaciones e imágenes de formatos de archivo compatibles. Puede integrar la API en sus aplicaciones Node.js existentes. También proporciona SDK de .NET, Java, PHP, Android, Ruby y Python como sus miembros de la familia de firmas de documentos para la API de la nube.

Puede instalar GroupDocs.Signature Cloud en su proyecto Node.js con el siguiente comando en la consola:

npm install groupdocs-signature-cloud --save

Obtenga su ID de cliente y secreto del panel de control antes de seguir los pasos mencionados. Una vez que tenga su ID y secreto, agregue el código como se muestra a continuación:

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";

Firme documentos de Word usando una API REST en Node.js

Puede firmar documentos de Word con firmas digitales en la nube siguiendo los sencillos pasos que se mencionan a continuación:

Sube el documento

En primer lugar, cargue el documento de Word en la nube utilizando el ejemplo de código que se muestra a continuación:

var resourcesFolder = 'C:\\Files\\sample.docx';
fs.readFile(resourcesFolder, (err, fileStream) => {
  // construir FileApi
  var fileApi = groupdocs_signature_cloud.FileApi.fromConfig(config);
  // crear solicitud de carga de archivo
  var request = new groupdocs_signature_cloud.UploadFileRequest("sample.docx", fileStream, myStorage);
  fileApi.uploadFile(request)
});

Como resultado, el archivo de Word cargado estará disponible en la sección de archivos de su tablero en la nube. Utilice el ejemplo de código anterior para cargar el certificado y el archivo de imagen de la firma en la nube.

Firme documentos de Word con firmas digitales usando Node.js

Puede firmar sus archivos DOCX con firmas digitales mediante programación siguiendo los pasos que se indican a continuación:

  • Crear una instancia de SignApi
  • Crear una instancia de FileInfo
  • Establecer la ruta del archivo DOCX
  • Cree una instancia de SignDigitalOptions
  • Establezca SignatureType en Digital
  • Establecer ImageFilePath y CertificateFilePath
  • proporcionar la contraseña
  • Establecer la posición de la firma
  • Cree una instancia de SignSettings
  • Asigne SignDigitalOptions y SaveOptions a SignSettings
  • Crear la solicitud CreateSignatures
  • Obtenga resultados llamando al método SignApi.createSignatures()

El siguiente ejemplo de código muestra cómo firmar un documento de Word con firmas digitales usando una API REST en Node.js.

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

// crear información de archivo
let fileInfo = new groupdocs_signature_cloud.FileInfo();
fileInfo.filePath = "sample.docx";

// definir opciones digitales de signo
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";

// establecer la posición de la firma en una 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";

// configurar la página para mostrar las firmas
opts.page = 1;

// definir la configuración de la señal
let settings = new groupdocs_signature_cloud.SignSettings();
settings.fileInfo = fileInfo;
settings.options = [opts];

// definir opciones de guardado
settings.saveOptions = new groupdocs_signature_cloud.SaveOptions();
settings.saveOptions.outputFilePath = "signedDigital_sample.docx";

// crear solicitud de firma
let request = new groupdocs_signature_cloud.CreateSignaturesRequest(settings);
let response = await signApi.createSignatures(request);

console.log("Output file link: " + response.downloadUrl);
Firme documentos de Word con firmas digitales usando Node.js

Firme documentos de Word con firmas digitales usando Node.js

Descargar el archivo firmado

El ejemplo de código anterior guardará el archivo de Word firmado en la nube. Puede descargarlo utilizando el ejemplo de código que se proporciona a continuación:

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

// crear solicitud de archivo de descarga
let request = new groupdocs_signature_cloud.DownloadFileRequest("signedDigital_sample.docx", myStorage);
let response = await fileApi.downloadFile(request);

// guardar archivo en el directorio de trabajo
fs.writeFile("C:\\Files\\signedDigital_sample.docx", response, "binary", function (err) { });

Firme documentos PDF con firmas digitales usando Node.js

Puede firmar los documentos PDF con firmas digitales mediante programación siguiendo los pasos que se detallan a continuación:

  • Crear una instancia de SignApi
  • Crear una instancia de FileInfo
  • Establecer la ruta del archivo PDF
  • Cree una instancia de SignDigitalOptions
  • Establezca SignatureType en Digital
  • Establecer ImageFilePath y CertificateFilePath
  • proporcionar la contraseña
  • Cree una instancia de SignSettings
  • Asigne SignDigitalOptions y SaveOptions a SignSettings
  • Crear la solicitud CreateSignatures
  • Obtenga resultados llamando al método SignApi.createSignatures()

El siguiente ejemplo de código muestra cómo firmar un documento PDF con firmas digitales usando una API REST en Node.js.

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

// crear información de archivo
let fileInfo = new groupdocs_signature_cloud.FileInfo();
fileInfo.filePath = "sample.pdf";

// definir opciones digitales de signo
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 opciones de signo
let settings = new groupdocs_signature_cloud.SignSettings();
settings.fileInfo = fileInfo;
settings.options = [opts];

// definir opciones de guardado
settings.saveOptions = new groupdocs_signature_cloud.SaveOptions();
settings.saveOptions.outputFilePath = "signedDigital_sample.pdf";

// crear solicitud de firma
let request = new groupdocs_signature_cloud.CreateSignaturesRequest(settings);
let response = await signApi.createSignatures(request);

console.log("Output file link: " + response.downloadUrl);
Firme documentos PDF con firmas digitales usando Node.js

Firme documentos PDF con firmas digitales usando Node.js

Verificar firmas digitales usando una API REST en Node.js

Puede verificar fácilmente las firmas digitales mediante programación siguiendo los pasos que se detallan a continuación:

  • Crear una instancia de SignApi
  • Crear una instancia de FileInfo
  • Establecer la ruta del archivo DOCX
  • Cree una instancia de VerifyDigitalOptions
  • Establezca SignatureType en Digital
  • Cree una instancia de VerifySettings
  • Asigne VerifyDigitalOptions y FileInfo a VerifySettings
  • Crear la VerifySignaturesRequest
  • Obtenga resultados llamando al método SignApi.verifySignatures()
  • Mostrar los resultados

El siguiente ejemplo de código muestra cómo verificar las firmas digitales mediante una API REST en Node.js.

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

// crear información de archivo
let fileInfo = new groupdocs_signature_cloud.FileInfo();
fileInfo.filePath = "signedDigital_sample.docx";

// definir opciones de verificación
let opts = new groupdocs_signature_cloud.VerifyDigitalOptions();
opts.signatureType = groupdocs_signature_cloud.OptionsBase.SignatureTypeEnum.Digital;

// definir la configuración de verificación
let settings = new groupdocs_signature_cloud.VerifySettings();
settings.fileInfo = fileInfo;
settings.options = [opts];

// crear verificar solicitud de firma
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!");
}
Verificar firmas digitales usando una API REST en Node.js

Verificar firmas digitales usando una API REST en Node.js

Prueba en línea

Pruebe la siguiente herramienta gratuita de firma de documentos en línea, que se desarrolla utilizando la API anterior. https://products.groupdocs.app/signature/

Conclusión

En este artículo, ha aprendido a firmar documentos de Word con firmas digitales en la nube. También aprendió a firmar documentos PDF con firmas digitales utilizando una API REST en Node.js. Además, aprendió cómo cargar un archivo de Word en la nube mediante programación y luego descargar el archivo firmado de la nube. Puede obtener más información sobre GroupDocs.Signature Cloud API utilizando la documentación. También proporcionamos una sección Referencia de API que le permite visualizar e interactuar con nuestras API directamente a través del navegador. En caso de cualquier ambigüedad, no dude en contactarnos en el foro.

Ver también