Aggiungi annotazioni nei documenti di Word utilizzando un'API REST in Node.js

Possiamo facilmente annotare i documenti di Word in modo programmatico sul cloud. Possiamo aggiungere immagini, commenti, note o altri tipi di osservazioni esterne ai documenti come annotazioni. In questo articolo impareremo come aggiungere annotazioni nei documenti di Word utilizzando un’API REST in Node.js.

In questo articolo saranno trattati i seguenti argomenti:

API REST per l’annotazione dei documenti di Word e SDK Node.js

Per annotare i file DOC o DOCX, utilizzeremo l’API Node.js SDK of GroupDocs.Annotation Cloud. Si prega di installarlo utilizzando il seguente comando nella console:

npm install groupdocs-annotation-cloud

Si prega di ottenere l’ID cliente e il segreto dalla dashboard prima di seguire i passaggi menzionati. Una volta che hai il tuo ID e segreto, aggiungi il codice come mostrato di seguito:

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

Annota i documenti di Word utilizzando l’API REST in Node.js

Possiamo aggiungere annotazioni ai file DOCX seguendo i semplici passaggi indicati di seguito:

Carica il documento

Innanzitutto, caricheremo il file DOCX nel Cloud utilizzando l’esempio di codice riportato di seguito:

// Inizializza l'API
var fileApi = new groupdocs_annotation_cloud.FileApi(configuration);
// Apri il file in IOStream da locale/disco.
var resourcesFolder = 'C:\\Files\\Annotation\\sample.docx';
fs.readFile(resourcesFolder, (err, fileStream) => {
  // Crea richiesta di caricamento
  var request = new groupdocs_annotation_cloud.UploadFileRequest("sample.docx", fileStream, myStorage);
  // Caricare un file
  fileApi.uploadFile(request);
});

Di conseguenza, il file DOCX caricato sarà disponibile nella sezione file della dashboard sul cloud.

Aggiungi più annotazioni ai file DOCX in Node.js

Possiamo aggiungere più annotazioni ai documenti di Word a livello di codice seguendo i passaggi indicati di seguito:

  • Innanzitutto, crea un’istanza di AnnotateApi.
  • Successivamente, crea la prima istanza di AnnotationInfo.
  • Quindi, imposta le proprietà di annotazione per la prima istanza, ad esempio posizione, tipo, testo, ecc.
  • Ripeti i passaggi precedenti per aggiungere più istanze di AnnotationInfo. Imposteremo diversi tipi di annotazione e altre proprietà per ogni istanza per aggiungere più annotazioni.
  • Successivamente, crea un’istanza di FileInfo e imposta il percorso del file di input.
  • Quindi, crea un’istanza di AnnotateOptions.
  • Assegnare ora FileInfo e le istanze di annotazione definite a AnnotateOptions.
  • Inoltre, imposta il percorso del file di output.
  • Successivamente, chiama il metodo AnnotateRequest con AnnotateOptions.
  • Infine, ottieni i risultati chiamando il metodo AnnotateApi.annotate() con AnnotateRequest.

L’esempio di codice seguente mostra come aggiungere più annotazioni a un documento di Word utilizzando un’API REST in Node.js.

// Inizializza l'API
let annotateApi = groupdocs_annotation_cloud.AnnotareApi.fromKeys(clientId, clientSecret);

// Definisci l'annotazione della distanza
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.";

// Definisci area annotazione
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.";

// Definisci annotazione freccia
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.";

// Definisci annotazione Ellisse
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.";

// Percorso del file di input
let fileInfo = new groupdocs_annotation_cloud.FileInfo();
fileInfo.filePath = "sample.docx";

// Definire le opzioni di annotazione
let options = new groupdocs_annotation_cloud.AnnotareOptions();
options.fileInfo = fileInfo;
options.annotations = [a1, a2, a3, a4];
options.outputPath = "AddMultipleAnnotations.docx";

// Crea richiesta di annotazione
let request = new groupdocs_annotation_cloud.AnnotareRequest(options);

// Annotare
let result = await annotateApi.annotate(request);
Aggiungi più annotazioni ai file DOCX in Node.js

Aggiungi più annotazioni ai file DOCX in Node.js

Scarica il file annotato

L’esempio di codice precedente salverà il documento Word annotato (DOCX) nel cloud. Può essere scaricato utilizzando il seguente esempio di codice:

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

// Crea richiesta di download del file
let request = new groupdocs_annotation_cloud.DownloadFileRequest("AddMultipleAnnotations.docx", myStorage);
// Download file
let response = await fileApi.downloadFile(request);

// Salva il file nella directory di lavoro
fs.writeFile("C:\\Files\\Annotation\\AddMultipleAnnotations.docx", response, "binary", function (err) { });

Aggiungi annotazioni immagine nei documenti di Word utilizzando l’API REST in Node.js

Possiamo aggiungere annotazioni di immagini nei documenti di Word a livello di codice seguendo i passaggi indicati di seguito:

  • Innanzitutto, crea un’istanza di AnnotateApi.
  • Successivamente, crea un’istanza di AnnotationInfo.
  • Quindi, definisci un rettangolo e impostane la posizione, l’altezza e la larghezza.
  • Successivamente, imposta le proprietà dell’annotazione, ad esempio posizione, testo, altezza, larghezza, ecc.
  • Quindi, imposta il tipo di annotazione come Immagine.
  • Successivamente, crea un’istanza di FileInfo e imposta il percorso del file di input.
  • Quindi, crea un’istanza di AnnotateOptions.
  • Ora assegna l’oggetto e l’annotazione FileInfo a AnnotateOptions.
  • Inoltre, imposta il percorso del file di output.
  • Successivamente, crea una richiesta chiamando il metodo AnnotateRequest con l’oggetto AnnotateOptions come argomento.
  • Infine, ottieni risultati chiamando il metodo AnnotateApi.annotate() con l’oggetto AnnotateRequest.

L’esempio di codice seguente mostra come aggiungere un’annotazione immagine a un documento di Word utilizzando un’API REST in Node.js. Si prega di seguire i passaggi menzionati in precedenza per caricare e scaricare un file.

// Inizializza l'API
let annotateApi = groupdocs_annotation_cloud.AnnotareApi.fromKeys(clientId, clientSecret);

// Definire l'annotazione dell'immagine
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";

// Percorso del file di input
let fileInfo = new groupdocs_annotation_cloud.FileInfo();
fileInfo.filePath = "sample.docx";

// Definisci le opzioni di annotazione
let options = new groupdocs_annotation_cloud.AnnotareOptions();
options.fileInfo = fileInfo;
options.annotations = [a1];
options.outputPath = "AddImageAnnotation.docx";

// Crea richiesta di annotazione
let request = new groupdocs_annotation_cloud.AnnotareRequest(options);

// Annotare
let result = await annotateApi.annotate(request);
Aggiungi annotazioni immagine nei documenti di Word utilizzando l'API REST in Node.js

Aggiungi annotazioni immagine nei documenti di Word utilizzando l’API REST in Node.js

Aggiungi annotazioni di campi di testo nei documenti di Word utilizzando l’API REST in Node.js

Possiamo aggiungere annotazioni di campi di testo nei documenti di Word a livello di codice seguendo i passaggi menzionati in precedenza. Tuttavia, dobbiamo impostare il tipo di annotazione come TextField.

L’esempio di codice seguente mostra come aggiungere un’annotazione del campo di testo a un documento di Word utilizzando un’API REST in Node.js. Si prega di seguire i passaggi menzionati in precedenza per caricare e scaricare un file.

// Inizializza l'API
let annotateApi = groupdocs_annotation_cloud.AnnotareApi.fromKeys(clientId, clientSecret);

// Definire l'annotazione del campo di testo
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.";

// Percorso del file di input
let fileInfo = new groupdocs_annotation_cloud.FileInfo();
fileInfo.filePath = "sample.docx";

// Definisci le opzioni di annotazione
let options = new groupdocs_annotation_cloud.AnnotareOptions();
options.fileInfo = fileInfo;
options.annotations = [a1];
options.outputPath = "AddTextFieldAnnotation.docx";

// Crea richiesta di annotazione
let request = new groupdocs_annotation_cloud.AnnotareRequest(options);

// Annotare
let result = await annotateApi.annotate(request);
Aggiungi annotazioni nei documenti di Word utilizzando l'API REST in Node.js

Aggiungi annotazioni di campi di testo nei documenti di Word utilizzando l’API REST in Node.js

Annotazioni in filigrana nei documenti di Word utilizzando l’API REST in Node.js

Possiamo aggiungere annotazioni di filigrana nei documenti di Word a livello di codice seguendo i passaggi menzionati in precedenza. Tuttavia, dobbiamo impostare il tipo di annotazione come Filigrana.

L’esempio di codice seguente mostra come aggiungere l’annotazione della filigrana a un documento di Word utilizzando un’API REST in Node.js. Si prega di seguire i passaggi menzionati in precedenza per caricare e scaricare un file.

// Inizializza l'API
let annotateApi = groupdocs_annotation_cloud.AnnotareApi.fromKeys(clientId, clientSecret);

// Definire l'annotazione della filigrana
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.";

// Percorso del file di input
let fileInfo = new groupdocs_annotation_cloud.FileInfo();
fileInfo.filePath = "sample.docx";

// Definisci le opzioni di annotazione
let options = new groupdocs_annotation_cloud.AnnotareOptions();
options.fileInfo = fileInfo;
options.annotations = [a1];
options.outputPath = "AddWatermarkAnnotation.docx";

// Crea richiesta di annotazione
let request = new groupdocs_annotation_cloud.AnnotareRequest(options);

// Annotare
let result = await annotateApi.annotate(request);
Annotazioni in filigrana nei documenti di Word utilizzando l'API REST in Node.js

Annotazioni in filigrana nei documenti di Word utilizzando l’API REST in Node.js

Prova in linea

Prova il seguente strumento di annotazione DOCX online gratuito, sviluppato utilizzando l’API di cui sopra. https://products.groupdocs.app/annotation/docx

Conclusione

In questo articolo, abbiamo imparato come aggiungere annotazioni ai documenti di Word sul cloud. Abbiamo anche visto come aggiungere annotazioni di campi immagine e testo al file DOCX utilizzando un’API REST in Node.js. Questo articolo spiega anche come caricare a livello di codice un file DOCX nel cloud e quindi scaricare il file modificato dal cloud. Inoltre, puoi saperne di più su GroupDocs.Annotation Cloud API utilizzando la documentazione. Forniamo anche una sezione Riferimento API che ti consente di visualizzare e interagire con le nostre API direttamente attraverso il browser. In caso di ambiguità, non esitate a contattarci sul forum.

Guarda anche