Nous pouvons facilement annoter des documents Word par programmation sur le cloud. Nous pouvons ajouter des images, des commentaires, des notes ou d’autres types de remarques externes aux documents sous forme d’annotations. Dans cet article, nous allons apprendre à ajouter des annotations dans des documents Word à l’aide d’une API REST dans Node.js.
Les sujets suivants seront traités dans cet article :
- API REST d’annotation de document Word et SDK Node.js
- Annoter des documents Word à l’aide de l’API REST dans Node.js
- Ajouter des annotations d’image dans des documents Word à l’aide de l’API REST dans Node.js
- Ajouter des annotations de champ de texte dans des documents Word à l’aide de l’API REST Node.js
- Annotations de filigrane dans les documents Word à l’aide de l’API REST dans Node.js
API REST d’annotation de document Word et SDK Node.js
Pour annoter les fichiers DOC ou DOCX, nous utiliserons l’API Node.js SDK of GroupDocs.Annotation Cloud. Veuillez l’installer à l’aide de la commande suivante dans la console :
npm install groupdocs-annotation-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 :
global.clientId = "659fe7da-715b-4744-a0f7-cf469a392b73";
global.clientSecret = "b377c36cfa28fa69960ebac6b6e36421";
global.myStorage = "";
const configuration = new groupdocs_annotation_cloud.Configuration(clientId, clientSecret);
configuration.apiBaseUrl = "https://api.groupdocs.cloud";
Annoter des documents Word à l’aide de l’API REST dans Node.js
Nous pouvons ajouter des annotations aux fichiers DOCX en suivant les étapes simples mentionnées ci-dessous :
- Télécharger le fichier DOCX dans le Cloud
- Ajouter plusieurs annotations aux fichiers DOCX dans Node.js
- Télécharger le fichier annoté
Télécharger le document
Tout d’abord, nous allons télécharger le fichier DOCX sur le Cloud en utilisant l’exemple de code ci-dessous :
// Initialiser l'API
var fileApi = new groupdocs_annotation_cloud.FileApi(configuration);
// Ouvrez le fichier dans IOStream à partir de local/disque.
var resourcesFolder = 'C:\\Files\\Annotation\\sample.docx';
fs.readFile(resourcesFolder, (err, fileStream) => {
// Créer une demande de téléchargement
var request = new groupdocs_annotation_cloud.UploadFileRequest("sample.docx", fileStream, myStorage);
// Téléverser un fichier
fileApi.uploadFile(request);
});
Par conséquent, le fichier DOCX téléchargé sera disponible dans la section des fichiers du tableau de bord sur le cloud.
Ajouter plusieurs annotations aux fichiers DOCX dans Node.js
Nous pouvons ajouter plusieurs annotations aux documents Word par programmation en suivant les étapes ci-dessous :
- Tout d’abord, créez une instance de AnnotateApi.
- Ensuite, créez la première instance de AnnotationInfo.
- Ensuite, définissez les propriétés d’annotation pour la première instance, par exemple la position, le type, le texte, etc.
- Répétez les étapes ci-dessus pour ajouter plusieurs instances de AnnotationInfo. Nous définirons différents types d’annotations et d’autres propriétés pour chaque instance afin d’ajouter plusieurs annotations.
- Ensuite, créez une instance de FileInfo et définissez le chemin du fichier d’entrée.
- Ensuite, créez une instance de AnnotateOptions.
- Maintenant, affectez FileInfo et les instances d’annotation définies à AnnotateOptions.
- Définissez également le chemin du fichier de sortie.
- Après cela, appelez la méthode AnnotateRequest avec AnnotateOptions.
- Enfin, obtenez des résultats en appelant la méthode AnnotateApi.annotate() avec AnnotateRequest.
L’exemple de code suivant montre comment ajouter plusieurs annotations à un document Word à l’aide d’une API REST dans Node.js.
// Initialiser l'API
let annotateApi = groupdocs_annotation_cloud.AnnoterApi.fromKeys(clientId, clientSecret);
// Définir l'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 distance annotation";
a1.creatorName = "Anonym A.";
// Définir l'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 area annotation";
a2.creatorName = "Anonym A.";
// Définir l'annotation Flèche
let a3 = new groupdocs_annotation_cloud.AnnotationInfo();
a3.annotationPosition = new groupdocs_annotation_cloud.Point();
a3.annotationPosition.x = 1;
a3.annotationPosition.y = 1;
a3.box = new groupdocs_annotation_cloud.Rectangle();
a3.box.x = 100;
a3.box.y = 100;
a3.box.width = 200;
a3.box.height = 100;
a3.pageNumber = 0;
a3.penColor = 1201033;
a3.penStyle = groupdocs_annotation_cloud.AnnotationInfo.PenStyleEnum.Solid;
a3.penWidth = 1;
a3.type = groupdocs_annotation_cloud.AnnotationInfo.TypeEnum.Arrow;
a3.text = "This is arrow annotation";
a3.creatorName = "Anonym A.";
// Définir l'annotation 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 ellipse annotation";
a4.creatorName = "Anonym A.";
// Chemin du fichier d'entrée
let fileInfo = new groupdocs_annotation_cloud.FileInfo();
fileInfo.filePath = "sample.docx";
// Définir les options d'annotation
let options = new groupdocs_annotation_cloud.AnnoterOptions();
options.fileInfo = fileInfo;
options.annotations = [a1, a2, a3, a4];
options.outputPath = "AddMultipleAnnotations.docx";
// Créer une demande d'annotation
let request = new groupdocs_annotation_cloud.AnnoterRequest(options);
// Annoter
let result = await annotateApi.annotate(request);
Télécharger le fichier annoté
L’exemple de code ci-dessus enregistrera le document Word annoté (DOCX) sur le cloud. Il peut être téléchargé à 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("AddMultipleAnnotations.docx", 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\\Annotation\\AddMultipleAnnotations.docx", response, "binary", function (err) { });
Ajouter des annotations d’image dans des documents Word à l’aide de l’API REST dans Node.js
Nous pouvons ajouter des annotations d’image dans des documents Word par programmation en suivant les étapes ci-dessous :
- Tout d’abord, créez une instance de AnnotateApi.
- Ensuite, créez une instance de AnnotationInfo.
- Ensuite, définissez un rectangle et définissez sa position, sa hauteur et sa largeur.
- Après cela, définissez les propriétés d’annotation, par exemple la position, le texte, la hauteur, la largeur, etc.
- Ensuite, définissez le type d’annotation sur Image.
- Ensuite, créez une instance de FileInfo et définissez le chemin du fichier d’entrée.
- Ensuite, créez une instance de AnnotateOptions.
- Maintenant, affectez l’objet FileInfo et l’annotation à AnnotateOptions.
- Définissez également le chemin du fichier de sortie.
- Après cela, créez une requête en appelant la méthode AnnotateRequest avec l’objet AnnotateOptions comme argument.
- Enfin, obtenez des résultats en appelant la méthode AnnotateApi.annotate() avec l’objet AnnotateRequest.
L’exemple de code suivant montre comment ajouter une annotation d’image à un document Word à 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 annotateApi = groupdocs_annotation_cloud.AnnoterApi.fromKeys(clientId, clientSecret);
// Définir l'annotation d'image
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 = 320;
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 image annotation";
a1.creatorName = "Anonym A.";
a1.imagePath = "JohnSmith.png";
// Chemin du fichier d'entrée
let fileInfo = new groupdocs_annotation_cloud.FileInfo();
fileInfo.filePath = "sample.docx";
// Définir les options d'annotation
let options = new groupdocs_annotation_cloud.AnnoterOptions();
options.fileInfo = fileInfo;
options.annotations = [a1];
options.outputPath = "AddImageAnnotation.docx";
// Créer une demande d'annotation
let request = new groupdocs_annotation_cloud.AnnoterRequest(options);
// Annoter
let result = await annotateApi.annotate(request);
Ajouter des annotations de champ de texte dans des documents Word à l’aide de l’API REST dans Node.js
Nous pouvons ajouter des annotations de champ de texte dans des documents Word par programmation en suivant les étapes mentionnées précédemment. Cependant, nous devons définir le type d’annotation sur TextField.
L’exemple de code suivant montre comment ajouter une annotation de champ de texte à un document Word à 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 annotateApi = groupdocs_annotation_cloud.AnnoterApi.fromKeys(clientId, clientSecret);
// Définir l'annotation du champ de texte
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 = 310;
a1.box.width = 200;
a1.box.height = 50;
a1.pageNumber = 0;
a1.fontColor = 3093151;
a1.fontSize = 12;
a1.type = groupdocs_annotation_cloud.AnnotationInfo.TypeEnum.TextField;
a1.text = "Text field text";
a1.creatorName = "Anonym A.";
// Chemin du fichier d'entrée
let fileInfo = new groupdocs_annotation_cloud.FileInfo();
fileInfo.filePath = "sample.docx";
// Définir les options d'annotation
let options = new groupdocs_annotation_cloud.AnnoterOptions();
options.fileInfo = fileInfo;
options.annotations = [a1];
options.outputPath = "AddTextFieldAnnotation.docx";
// Créer une demande d'annotation
let request = new groupdocs_annotation_cloud.AnnoterRequest(options);
// Annoter
let result = await annotateApi.annotate(request);
Annotations de filigrane dans les documents Word à l’aide de l’API REST dans Node.js
Nous pouvons ajouter des annotations de filigrane dans les documents Word par programmation en suivant les étapes mentionnées précédemment. Cependant, nous devons définir le type d’annotation sur Filigrane.
L’exemple de code suivant montre comment ajouter une annotation de filigrane à un document Word à 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 annotateApi = groupdocs_annotation_cloud.AnnoterApi.fromKeys(clientId, clientSecret);
// Définir l'annotation du filigrane
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 = 700;
a1.box.width = 500;
a1.box.height = 100;
a1.pageNumber = 0;
a1.penColor = 1201033;
a1.penStyle = groupdocs_annotation_cloud.AnnotationInfo.PenStyleEnum.Solid;
a1.penWidth = 2;
a1.fontSize = 24;
a1.angle = 75;
a1.type = groupdocs_annotation_cloud.AnnotationInfo.TypeEnum.Watermark;
a1.text = "This is a watermark annotation";
a1.creatorName = "Anonym A.";
// Chemin du fichier d'entrée
let fileInfo = new groupdocs_annotation_cloud.FileInfo();
fileInfo.filePath = "sample.docx";
// Définir les options d'annotation
let options = new groupdocs_annotation_cloud.AnnoterOptions();
options.fileInfo = fileInfo;
options.annotations = [a1];
options.outputPath = "AddWatermarkAnnotation.docx";
// Créer une demande d'annotation
let request = new groupdocs_annotation_cloud.AnnoterRequest(options);
// Annoter
let result = await annotateApi.annotate(request);
Essayez en ligne
Veuillez essayer l’outil d’annotation DOCX en ligne gratuit suivant, qui est développé à l’aide de l’API ci-dessus. https://products.groupdocs.app/annotation/docx
Conclusion
Dans cet article, nous avons appris comment ajouter des annotations aux documents Word sur le cloud. Nous avons également vu comment ajouter des annotations d’image et de champ de texte au fichier DOCX à l’aide d’une API REST dans Node.js. Cet article a également expliqué comment télécharger par programmation un fichier DOCX dans le cloud, puis télécharger le fichier modifié à partir du cloud. En outre, 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.