Annoter des documents PDF à l'aide d'une API REST dans Node.js

En tant que développeur Node.js, vous pouvez facilement annoter n’importe lequel de vos documents PDF par programmation sur le cloud. Vous pouvez ajouter des images, des commentaires, des notes ou d’autres types de remarques externes au document sous forme d’annotations. Dans cet article, vous apprendrez à annoter des documents PDF à l’aide d’une API REST dans Node.js.

Les sujets suivants seront traités dans cet article :

API REST d’annotation de documents et SDK Node.js

Pour annoter des documents PDF, j’utiliserai l’API Node.js SDK of GroupDocs.Annotation Cloud. Il vous permet de créer par programmation des outils d’annotation de documents en ligne. Vous pouvez ajouter des annotations, des superpositions de filigrane, des remplacements de texte, des caviardages et des annotations de texte aux formats de document pris en charge. Il fournit également des SDK .NET, Java, PHP, Ruby et Python en tant que membres de la famille d’annotations de documents pour l’API Cloud.

Vous pouvez installer GroupDocs.Annotation Cloud sur votre application Node.js à l’aide de la commande suivante dans la console :

npm install groupdocs-annotation-cloud

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

global.clientId = "659fe7da-715b-4744-a0f7-cf469a392b73"; // Get ClientId and ClientSecret from https://dashboard.groupdocs.cloud
global.clientSecret = "b377c36cfa28fa69960ebac6b6e36421"; // Get ClientId and ClientSecret from https://dashboard.groupdocs.cloud
global.myStorage = "";

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

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

Vous pouvez annoter vos documents PDF sur le cloud en suivant les étapes simples ci-dessous :

  1. Téléchargez le fichier PDF dans le Cloud
  2. Annoter un document PDF à l’aide de Node.js
  3. Télécharger le fichier annoté

Télécharger le document

Tout d’abord, importez le fichier PDF dans le Cloud à l’aide de l’exemple de code suivant :

// initialiser l'API
var fileApi = new groupdocs_annotation_cloud.FileApi(configuration);

// Ouvrez le fichier dans IOStream à partir de local/disque.
var resourcesFolder = 'C:\\Files\\sample.pdf';
// lire le fichier
fs.readFile(resourcesFolder, (err, fileStream) => {
  // créer une demande de téléchargement de fichier
  var request = new groupdocs_annotation_cloud.UploadFileRequest("sample.pdf", fileStream, myStorage);
  // téléverser un fichier
  fileApi.uploadFile(request)
});

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

Annoter un document PDF avec Node.js

Vous pouvez ajouter plusieurs annotations au document PDF par programme en suivant les étapes mentionnées ci-dessous :

  • Créer une instance de AnnotateApi
  • Créer la première instance de AnnotationInfo
  • Définissez les propriétés d’annotation pour la première instance, par exemple la position, le type, le texte, etc.
  • Créer une deuxième instance de AnnotationInfo
  • Définissez les propriétés d’annotation pour la deuxième instance, par exemple la position, le type, le texte, etc.
  • Créer une troisième instance de AnnotationInfo
  • Définissez les propriétés d’annotation pour la troisième instance, par exemple la position, le type, le texte, etc.
  • Créer une quatrième instance de AnnotationInfo
  • Définissez les propriétés d’annotation pour la quatrième instance, par exemple la position, le type, le texte, etc.
  • Créer une instance FileInfo et définir le chemin du fichier d’entrée
  • Créer une instance de AnnotateOptions
  • Affectez FileInfo et les instances d’annotation définies aux AnnotateOptions
  • Définir le chemin du fichier de sortie
  • Créer une requête en appelant la méthode AnnotateRequest avec AnnotateOptions
  • Obtenez des résultats en appelant la méthode AnnotateApi.annotate() avec AnnotateRequest

L’exemple de code suivant montre comment annoter un document PDF avec plusieurs annotations à l’aide d’une API REST dans Node.js.

// initialiser l'API
let annoterApi = groupdocs_annotation_cloud.AnnotateApi.fromKeys(clientId, clientSecret);

// annotation de distance
let a1 = new groupdocs_annotation_cloud.AnnotationInfo();
a1.annotationPosition = new groupdocs_annotation_cloud.Point();
a1.annotationPosition.x = 1;
a1.annotationPosition.y = 1;
a1.box = new groupdocs_annotation_cloud.Rectangle();
a1.box.x = 100
a1.box.y = 100
a1.box.width = 200
a1.box.height = 100
a1.pageNumber = 0
a1.penColor = 1201033
a1.penStyle = groupdocs_annotation_cloud.AnnotationInfo.PenStyleEnum.Solid;
a1.penWidth = 3
a1.opacity = 1
a1.type = groupdocs_annotation_cloud.AnnotationInfo.TypeEnum.Distance;
a1.text = "This is annotation de distance";
a1.creatorName = "Anonym A.";

// annotation de zone
let a2 = new groupdocs_annotation_cloud.AnnotationInfo();
a2.annotationPosition = new groupdocs_annotation_cloud.Point();
a2.annotationPosition.x = 1;
a2.annotationPosition.y = 1;
a2.box = new groupdocs_annotation_cloud.Rectangle();
a2.box.x = 80
a2.box.y = 400
a2.box.width = 200
a2.box.height = 100
a2.penColor = 1201033;
a2.penStyle = groupdocs_annotation_cloud.AnnotationInfo.PenStyleEnum.Solid;
a2.pageNumber = 0;
a2.penWidth = 3;
a2.type = groupdocs_annotation_cloud.AnnotationInfo.TypeEnum.Area;
a2.text = "This is annotation de zone";
a2.creatorName = "Anonym A.";

// annotation de champ de texte
let a3 = new groupdocs_annotation_cloud.AnnotationInfo();
a3.annotationPosition = new groupdocs_annotation_cloud.Point();
a3.annotationPosition.x = 100;
a3.annotationPosition.y = 100;
a3.box = new groupdocs_annotation_cloud.Rectangle();
a3.box.x = 450
a3.box.y = 150
a3.box.width = 100
a3.box.height = 30
a3.pageNumber = 0;
a3.fontColor = 65535;
a3.fontSize = 16;
a3.type = groupdocs_annotation_cloud.AnnotationInfo.TypeEnum.TextField;
a3.text = "Text field text";
a3.creatorName = "Anonym A.";

// annotation d'ellipse
let a4 = new groupdocs_annotation_cloud.AnnotationInfo();
a4.annotationPosition = new groupdocs_annotation_cloud.Point();
a4.annotationPosition.x = 1;
a4.annotationPosition.y = 1;
a4.box = new groupdocs_annotation_cloud.Rectangle();
a4.box.x = 350;
a4.box.y = 350;
a4.box.width = 200;
a4.box.height = 100;
a4.pageNumber = 0;
a4.penColor = 1201033;
a4.penStyle = groupdocs_annotation_cloud.AnnotationInfo.PenStyleEnum.Solid;
a4.penWidth = 4;
a4.type = groupdocs_annotation_cloud.AnnotationInfo.TypeEnum.Ellipse;
a4.text = "This is annotation d'ellipse";
a4.creatorName = "Anonym A.";

let fileInfo = new groupdocs_annotation_cloud.FileInfo();
fileInfo.filePath = "sample.pdf";
let options = new groupdocs_annotation_cloud.AnnotateOptions();
options.fileInfo = fileInfo;
options.annotations = [a1, a2, a3, a4];
options.outputPath = "Output/output.pdf";

// créer une demande d'annotation
let request = new groupdocs_annotation_cloud.AnnotateRequest(options);
// annoter
let result = await annoterApi.annoter(request);

console.log("Multiple Annotations added: " + result.href);
Annoter des documents PDF à l'aide d'une API REST dans Node.js

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

Vous pouvez en savoir plus sur les types d’annotations pris en charge dans la section ajout d’annotations de la documentation.

Télécharger le fichier annoté

L’exemple de code ci-dessus enregistrera le fichier PDF annoté sur le cloud. Vous pouvez le télécharger à l’aide de l’exemple de code suivant :

// construire FileApi
var fileApi = new groupdocs_annotation_cloud.FileApi(configuration);

// créer une demande de fichier de téléchargement
let request = new groupdocs_annotation_cloud.DownloadFileRequest("Output/output.pdf", myStorage);
// télécharger un fichier
let response = await fileApi.downloadFile(request);

// enregistrer le fichier dans le répertoire de travail
fs.writeFile("C:\\Files\\output.pdf", response, "binary", function (err) { });
console.log(response);

Ajouter des annotations d’image à l’aide de Node.js

Vous pouvez ajouter des annotations d’image dans vos documents PDF par programmation en suivant les étapes ci-dessous :

  • Créer une instance de AnnotateApi
  • Créer une instance de AnnotationInfo
  • Définir un rectangle et définir sa position, sa hauteur et sa largeur
  • Définissez les propriétés d’annotation, par exemple la position, le texte, la hauteur, la largeur, etc.
  • Définissez le type d’annotation sur Image
  • Créer une instance FileInfo et définir le chemin du fichier d’entrée
  • Créer une instance de AnnotateOptions
  • Affectez FileInfo et l’annotation aux AnnotateOptions
  • Définir le chemin du fichier de sortie
  • Créer une requête en appelant la méthode AnnotateRequest avec AnnotateOptions
  • Obtenez des résultats en appelant la méthode AnnotateApi.annotate() avec AnnotateRequest

L’exemple de code suivant montre comment ajouter des annotations d’image dans le document PDF à l’aide d’une API REST dans Node.js. Veuillez suivre les étapes mentionnées précédemment pour charger et télécharger un fichier.

// initialiser l'API
let annoterApi = groupdocs_annotation_cloud.AnnotateApi.fromKeys(clientId, clientSecret);

// annotation d'images
let a1 = new groupdocs_annotation_cloud.AnnotationInfo();
a1.annotationPosition = new groupdocs_annotation_cloud.Point();
a1.annotationPosition.x = 1;
a1.annotationPosition.y = 1;
a1.box = new groupdocs_annotation_cloud.Rectangle();
a1.box.x = 300;
a1.box.y = 160;
a1.box.width = 200;
a1.box.height = 40;
a1.pageNumber = 0;
a1.penColor = 1201033;
a1.penStyle = groupdocs_annotation_cloud.AnnotationInfo.PenStyleEnum.Solid;
a1.penWidth = 1;
a1.type = groupdocs_annotation_cloud.AnnotationInfo.TypeEnum.Image;
a1.text = "This is annotation d'images";
a1.creatorName = "Anonym A.";
a1.imagePath = "JohnSmith.png";

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

// définir les options d'annotation
let options = new groupdocs_annotation_cloud.AnnotateOptions();
options.fileInfo = fileInfo;
options.annotations = [a1];
options.outputPath = "Output/output.pdf";

// créer une demande d'annotation
let request = new groupdocs_annotation_cloud.AnnotateRequest(options);
// annoter
let result = await annoterApi.annoter(request);

console.log("Image Annotation added: " + result.href);
Ajouter des annotations d'image à l'aide de Node.js

Ajouter des annotations d’image à l’aide de Node.js

Essayez en ligne

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

Conclusion

Dans cet article, vous avez appris à ajouter plusieurs annotations aux documents PDF sur le cloud. Vous avez également appris à ajouter des annotations d’image aux documents PDF par programmation. De plus, vous avez appris à télécharger par programmation un fichier PDF sur le cloud, puis à télécharger le fichier annoté à partir du cloud. Vous pouvez en savoir plus sur l’API GroupDocs.Annotation 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