Signer un PDF avec Stamp à l'aide de l'API REST dans Node.js

La signature par tampon permet de signer électroniquement des documents PDF de la même manière que nous utilisons un tampon de signature en caoutchouc sur un document papier. Nous pouvons signer des documents PDF avec une signature de tampon personnalisée par programme sur le cloud. Dans cet article, nous allons apprendre à signer des documents PDF avec des signatures de tampon à l’aide d’une API REST dans Node.js.

Les sujets suivants seront traités dans cet article :

API REST Signature PDF et SDK Node.js

Pour signer des documents PDF, nous utiliserons l’API Node.js SDK of GroupDocs.Signature Cloud. Il nous permet de créer, de vérifier et de rechercher différents types de signatures telles que les signatures d’image, de code-barres, de code QR, de texte, numériques et de tampon. Veuillez l’installer à l’aide de la commande suivante dans la console :

npm install groupdocs-signature-cloud

Veuillez obtenir votre ID client et votre secret à partir du tableau de bord avant de suivre les étapes mentionnées. Une fois que vous avez votre identifiant et votre secret, ajoutez le code comme indiqué ci-dessous :

// Cet exemple de code montre comment ajouter votre ID client et votre secret dans le code.
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";

Signer des documents PDF à l’aide d’une API REST dans Node.js

Nous pouvons signer des documents PDF sur le cloud en suivant les étapes simples ci-dessous :

Télécharger le document

Tout d’abord, nous allons télécharger le document PDF sur le cloud en utilisant l’exemple de code ci-dessous :

// Cet exemple de code montre comment charger un fichier PDF dans le cloud.
// Ouvrez le fichier dans IOStream à partir de local/disque.
var resourcesFolder = 'C:\\Files\\Signature\\sample.pdf';
fs.readFile(resourcesFolder, (err, fileStream) => {
  // Construire FileApi
  var fileApi = groupdocs_signature_cloud.FileApi.fromConfig(config);
  // Téléverser un fichier
  var request = new groupdocs_signature_cloud.UploadFileRequest("sample.pdf", fileStream, myStorage);
  fileApi.uploadFile(request);
});

Par conséquent, le fichier PDF téléchargé sera disponible dans la section des fichiers du tableau de bord sur le cloud.

Signez des documents PDF avec des signatures de tampon à l’aide de Node.js

Nous pouvons signer des fichiers PDF avec des signatures de tampon par programmation en suivant les étapes ci-dessous :

  • Créez une instance de SignApi.
  • Indiquez le chemin du fichier PDF téléchargé.
  • Initialisez l’objet SignDigitalOptions et définissez diverses propriétés.
  • Définissez le texte du tampon à l’aide d’objets StampLine.
  • Affectez le fichier d’entrée, SignDigitalOptions et SaveOptions à l’objet SignSettings.
  • Enfin, signez le PDF à l’aide de la méthode SignApi.createSignatures().

L’exemple de code suivant montre comment signer un document PDF avec des signatures de tampon à l’aide d’une API REST dans Node.js.

// Cet exemple de code montre comment signer un document PDF avec des signatures de tampon.
// Créer une instance de l'API
let signApi = groupdocs_signature_cloud.SignApi.fromKeys(clientId, clientSecret);

// Chemin du fichier d'entrée
let fileInfo = new groupdocs_signature_cloud.FileInfo();
fileInfo.filePath = "sample.pdf";

// Définir les options de tampon de signe
let opts = new groupdocs_signature_cloud.SignStampOptions();
opts.signatureType = groupdocs_signature_cloud.OptionsBase.SignatureTypeEnum.Stamp;

// Définir la position et la taille du tampon sur une page
opts.left = 200;
opts.top = 400;
opts.width = 300;
opts.height = 300;
opts.locationMeasureType = groupdocs_signature_cloud.SignTextOptions.LocationMeasureTypeEnum.Pixels;
opts.sizeMeasureType = groupdocs_signature_cloud.SignTextOptions.SizeMeasureTypeEnum.Pixels;
opts.rotationAngle = 0;
opts.horizontalAlignment = groupdocs_signature_cloud.SignTextOptions.HorizontalAlignmentEnum.None;
opts.verticalAlignment = groupdocs_signature_cloud.SignTextOptions.VerticalAlignmentEnum.None;

// Ajouter un rembourrage
opts.margin = new groupdocs_signature_cloud.Padding();
opts.margin.all = 5;
opts.marginMeasureType = groupdocs_signature_cloud.SignTextOptions.MarginMeasureTypeEnum.Pixels;

// Définir l'apparence du tampon
opts.backgroundCouleur = new groupdocs_signature_cloud.Couleur();
opts.backgroundCouleur.web = "DarkOrange";
opts.backgroundCouleurCropType = groupdocs_signature_cloud.SignStampOptions.BackgroundCouleurCropTypeEnum.OuterArea;
opts.backgroundImageCropType = groupdocs_signature_cloud.SignStampOptions.BackgroundImageCropTypeEnum.InnerArea;

// Définir l'apparence du texte du 1er contour
let outline1 = new groupdocs_signature_cloud.StampLine();
outline1.text = " * Electronically Signed by GroupDocs.Signature * ";
// Police de caractère
outline1.font = new groupdocs_signature_cloud.SignaturePolice de caractère();
outline1.font.fontFamily = "Arial";
outline1.font.fontSize = 11;
outline1.font.bold = true;
outline1.textBottomIntent = 6;
// Couleur
outline1.textCouleur = new groupdocs_signature_cloud.Couleur();
outline1.textCouleur.web = "WhiteSmoke";
outline1.textRepeatType = groupdocs_signature_cloud.StampLine.TextRepeatTypeEnum.FullTextRepeat;
// Couleur de l'arrière plan
outline1.backgroundCouleur = new groupdocs_signature_cloud.Couleur();
outline1.backgroundCouleur.web = "DarkSlateBlue";
outline1.height = 22;
outline1.visible = true;

// Définir l'apparence du texte du 2e contour
let outline2 = new groupdocs_signature_cloud.StampLine();
outline2.height = 2;
outline2.backgroundCouleur = new groupdocs_signature_cloud.Couleur();
outline2.backgroundCouleur.web = "White";
outline2.visible = true;

// Définir l'apparence du texte du 3e plan
let outline3 = new groupdocs_signature_cloud.StampLine();
outline3.text = " * GroupDocs.Signature * ";
// Police de caractère
outline3.font = new groupdocs_signature_cloud.SignaturePolice de caractère();
outline3.font.fontFamily = "Arial";
outline3.font.fontSize = 16;
outline3.textBottomIntent = 8;
outline3.textRepeatType = groupdocs_signature_cloud.StampLine.TextRepeatTypeEnum.FullTextRepeat;
// Couleur
outline3.textCouleur = new groupdocs_signature_cloud.Couleur();
outline3.textCouleur.web = "DarkSlateBlue";
// Couleur de l'arrière plan
outline3.backgroundCouleur = new groupdocs_signature_cloud.Couleur();
outline3.backgroundCouleur.web = "White";
outline3.height = 30;
// Bordure intérieure
outline3.innerBorder = new groupdocs_signature_cloud.BorderLine();
outline3.innerBorder.color = new groupdocs_signature_cloud.Couleur();
outline3.innerBorder.color.web = "DarkSlateBlue";
outline3.innerBorder.style = groupdocs_signature_cloud.BorderLine.StyleEnum.Dot;
outline3.innerBorder.weight = 1.2;
// Bordure extérieure
outline3.outerBorder = new groupdocs_signature_cloud.BorderLine();
outline3.outerBorder.color = new groupdocs_signature_cloud.Couleur();
outline3.outerBorder.color.web = "DarkSlateBlue";
outline3.outerBorder.weight = 1.4;
outline3.visible = true;

opts.outerLines = [outline1, outline2, outline3];

// Définir le 1er texte en ligne
let innerline = new groupdocs_signature_cloud.StampLine();
innerline.text = "GroupDocs";

innerline.font = new groupdocs_signature_cloud.SignaturePolice de caractère();
innerline.font.fontFamily = "Times New Roman";
innerline.font.fontSize = 20;
innerline.font.bold = true;
innerline.textCouleur = new groupdocs_signature_cloud.Couleur();
innerline.textCouleur.web = "MediumVioletRed";
innerline.textRepeatType = groupdocs_signature_cloud.StampLine.TextRepeatTypeEnum.None;
innerline.height = 40;
innerline.visible = true;

// Définir le 2e texte en ligne
let innerline2 = new groupdocs_signature_cloud.StampLine();
innerline2.text = "Signature";

innerline2.font = new groupdocs_signature_cloud.SignaturePolice de caractère();
innerline2.font.fontSize = 20;
innerline2.font.bold = true;
innerline2.textCouleur = new groupdocs_signature_cloud.Couleur();
innerline2.textCouleur.web = "MediumVioletRed";
innerline2.textRepeatType = groupdocs_signature_cloud.StampLine.TextRepeatTypeEnum.None;
innerline2.height = 40;
innerline2.visible = true;

// Définir le 3ème texte en ligne
let innerline3 = new groupdocs_signature_cloud.StampLine();
innerline3.text = "Cloud";

innerline3.font = new groupdocs_signature_cloud.SignaturePolice de caractère();
innerline3.font.fontSize = 20;
innerline3.font.bold = true;
innerline3.textCouleur = new groupdocs_signature_cloud.Couleur();
innerline3.textCouleur.web = "MediumVioletRed";
innerline3.textRepeatType = groupdocs_signature_cloud.StampLine.TextRepeatTypeEnum.None;
innerline3.height = 40;
innerline3.visible = true;

opts.innerLines = [innerline, innerline2, innerline3];

// Page pas où montrer le cachet
opts.page = 1;

// Définir les paramètres de signe
let settings = new groupdocs_signature_cloud.SignSettings();
settings.fileInfo = fileInfo;
settings.options = [opts];
settings.saveOptions = new groupdocs_signature_cloud.SaveOptions();
settings.saveOptions.outputFilePath = "signedStamp_One_page.pdf";

// Créer une demande de signe
let request = new groupdocs_signature_cloud.CreateSignaturesRequest(settings);
// Créer des signatures
let response = await signApi.createSignatures(request);
console.log("Output file link: " + response.downloadUrl);
Signez des documents PDF avec des signatures de tampon à l'aide de Node.js.

Signez des documents PDF avec des signatures de tampon à l’aide de Node.js.

Télécharger le fichier signé

L’exemple de code ci-dessus enregistrera le fichier PDF signé sur le cloud. Il peut être téléchargé à l’aide de l’exemple de code suivant :

// Cet exemple de code montre comment télécharger un PDF signé depuis le cloud.
// Construire FileApi
var fileApi = groupdocs_signature_cloud.FileApi.fromConfig(config);

// Télécharger un fichier
let request = new groupdocs_signature_cloud.DownloadFileRequest("signedStamp_One_page.pdf", myStorage);
let response = await fileApi.downloadFile(request);

// Déplacer vers le dossier de travail
fs.writeFile("C:\\Files\\Signature\\signedStamp_One_page.pdf", response, "binary", function (err) { });

Essayez en ligne

Veuillez essayer l’outil de signature de documents en ligne gratuit suivant, qui est développé à l’aide de l’API ci-dessus. https://products.groupdocs.app/signature/

Conclusion

Dans cet article, nous avons appris :

  • comment signer des documents PDF avec des signatures de tampon ;
  • télécharger le fichier PDF sur le cloud ;
  • comment télécharger un fichier PDF signé à partir du cloud.

En outre, vous pouvez en savoir plus sur l’API GroupDocs.Signature Cloud à l’aide de la documentation. Nous fournissons également une section API Reference qui vous permet de visualiser et d’interagir avec nos API directement via le navigateur. En cas d’ambiguïté, n’hésitez pas à nous contacter sur le forum.

Voir également