Adicionar anotações em documentos do Word usando uma API REST em Node.js

Podemos facilmente anotar documentos do Word programaticamente na nuvem. Podemos adicionar imagens, comentários, notas ou outros tipos de comentários externos aos documentos como anotações. Neste artigo, aprenderemos como adicionar anotações em documentos do Word usando uma API REST no Node.js.

Os seguintes tópicos serão abordados neste artigo:

API REST de anotação de documento do Word e SDK Node.js

Para anotar arquivos DOC ou DOCX, usaremos a API Node.js SDK of GroupDocs.Annotation Cloud. Instale-o usando o seguinte comando no console:

npm install groupdocs-annotation-cloud

Por favor, obtenha seu ID e Segredo do cliente no painel antes de seguir as etapas mencionadas. Depois de ter seu ID e segredo, adicione o código conforme mostrado abaixo:

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

Anotar documentos do Word usando a API REST no Node.js

Podemos adicionar anotações aos arquivos DOCX seguindo as etapas simples mencionadas abaixo:

Carregue o Documento

Em primeiro lugar, faremos o upload do arquivo DOCX para a nuvem usando o exemplo de código abaixo:

// Inicializar API
var fileApi = new groupdocs_annotation_cloud.FileApi(configuration);
// Abra o arquivo no IOStream do local/disco.
var resourcesFolder = 'C:\\Files\\Annotation\\sample.docx';
fs.readFile(resourcesFolder, (err, fileStream) => {
  // Criar solicitação de upload
  var request = new groupdocs_annotation_cloud.UploadFileRequest("sample.docx", fileStream, myStorage);
  // Subir arquivo
  fileApi.uploadFile(request);
});

Como resultado, o arquivo DOCX carregado estará disponível na seção de arquivos do painel na nuvem.

Adicionar várias anotações a arquivos DOCX em Node.js

Podemos adicionar várias anotações aos documentos do Word programaticamente seguindo as etapas abaixo:

  • Em primeiro lugar, crie uma instância do AnnotateApi.
  • Em seguida, crie a primeira instância do AnnotationInfo.
  • Em seguida, defina as propriedades de anotação para a primeira instância, por exemplo, posição, tipo, texto, etc.
  • Repita as etapas acima para adicionar várias instâncias do AnnotationInfo. Definiremos diferentes tipos de anotação e outras propriedades para cada instância para adicionar várias anotações.
  • Em seguida, crie uma instância do FileInfo e defina o caminho do arquivo de entrada.
  • Em seguida, crie uma instância do AnnotateOptions.
  • Agora, atribua o FileInfo e as instâncias de anotação definidas ao AnnotateOptions.
  • Além disso, defina o caminho do arquivo de saída.
  • Depois disso, chame o método AnnotateRequest com AnnotateOptions.
  • Finalmente, obtenha resultados chamando o método AnnotateApi.annotate() com AnnotateRequest.

O exemplo de código a seguir mostra como adicionar várias anotações a um documento do Word usando uma API REST no Node.js.

// Inicializar API
let annotateApi = groupdocs_annotation_cloud.AnotarApi.fromKeys(clientId, clientSecret);

// Definir anotação de distância
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.";

// Definir anotação de área
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.";

// Definir anotação de seta
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.";

// Definir anotação de elipse
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.";

// Caminho do arquivo de entrada
let fileInfo = new groupdocs_annotation_cloud.FileInfo();
fileInfo.filePath = "sample.docx";

// Definir opções de anotação
let options = new groupdocs_annotation_cloud.AnotarOptions();
options.fileInfo = fileInfo;
options.annotations = [a1, a2, a3, a4];
options.outputPath = "AddMultipleAnnotations.docx";

// Criar solicitação de anotação
let request = new groupdocs_annotation_cloud.AnotarRequest(options);

// Anotar
let result = await annotateApi.annotate(request);
Adicionar várias anotações a arquivos DOCX no Node.js

Adicionar várias anotações a arquivos DOCX em Node.js

Baixe o arquivo anotado

O exemplo de código acima salvará o documento do Word anotado (DOCX) na nuvem. Ele pode ser baixado usando o seguinte exemplo de código:

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

// Criar solicitação de arquivo de download
let request = new groupdocs_annotation_cloud.DownloadFileRequest("AddMultipleAnnotations.docx", myStorage);
// ⇬ Fazer download do arquivo
let response = await fileApi.downloadFile(request);

// Salvar arquivo no diretório de trabalho
fs.writeFile("C:\\Files\\Annotation\\AddMultipleAnnotations.docx", response, "binary", function (err) { });

Adicione anotações de imagem em documentos do Word usando a API REST no Node.js

Podemos adicionar anotações de imagem em documentos do Word programaticamente seguindo as etapas abaixo:

  • Em primeiro lugar, crie uma instância do AnnotateApi.
  • Em seguida, crie uma instância do AnnotationInfo.
  • Em seguida, defina um retângulo e defina sua posição, altura e largura.
  • Depois disso, defina as propriedades de anotação, por exemplo, posição, texto, altura, largura, etc.
  • Em seguida, defina o tipo de anotação como Imagem.
  • Em seguida, crie uma instância do FileInfo e defina o caminho do arquivo de entrada.
  • Em seguida, crie uma instância do AnnotateOptions.
  • Agora, atribua o objeto FileInfo e a anotação ao AnnotateOptions.
  • Além disso, defina o caminho do arquivo de saída.
  • Depois disso, crie uma solicitação chamando o método AnnotateRequest com o objeto AnnotateOptions como argumento.
  • Por fim, obtenha os resultados chamando o método AnnotateApi.annotate() com o objeto AnnotateRequest.

O exemplo de código a seguir mostra como adicionar uma anotação de imagem a um documento do Word usando uma API REST em Node.js. Siga as etapas mencionadas anteriormente para fazer upload e download de um arquivo.

// Inicializar API
let annotateApi = groupdocs_annotation_cloud.AnotarApi.fromKeys(clientId, clientSecret);

// Definir anotação de imagem
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";

// Caminho do arquivo de entrada
let fileInfo = new groupdocs_annotation_cloud.FileInfo();
fileInfo.filePath = "sample.docx";

// Definir opções de anotação
let options = new groupdocs_annotation_cloud.AnotarOptions();
options.fileInfo = fileInfo;
options.annotations = [a1];
options.outputPath = "AddImageAnnotation.docx";

// Criar solicitação de anotação
let request = new groupdocs_annotation_cloud.AnotarRequest(options);

// Anotar
let result = await annotateApi.annotate(request);
Adicione anotações de imagem em documentos do Word usando a API REST no Node.js

Adicione anotações de imagem em documentos do Word usando a API REST no Node.js

Adicionar anotações de campo de texto em documentos do Word usando a API REST no Node.js

Podemos adicionar anotações de campo de texto em documentos do Word programaticamente seguindo as etapas mencionadas anteriormente. No entanto, precisamos definir o tipo de anotação como TextField.

O exemplo de código a seguir mostra como adicionar uma anotação de campo de texto a um documento do Word usando uma API REST em Node.js. Siga as etapas mencionadas anteriormente para fazer upload e download de um arquivo.

// Inicializar API
let annotateApi = groupdocs_annotation_cloud.AnotarApi.fromKeys(clientId, clientSecret);

// Definir anotação de campo de texto
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.";

// Caminho do arquivo de entrada
let fileInfo = new groupdocs_annotation_cloud.FileInfo();
fileInfo.filePath = "sample.docx";

// Definir opções de anotação
let options = new groupdocs_annotation_cloud.AnotarOptions();
options.fileInfo = fileInfo;
options.annotations = [a1];
options.outputPath = "AddTextFieldAnnotation.docx";

// Criar solicitação de anotação
let request = new groupdocs_annotation_cloud.AnotarRequest(options);

// Anotar
let result = await annotateApi.annotate(request);
Adicionar anotações em documentos do Word usando a API REST no Node.js

Adicionar anotações de campo de texto em documentos do Word usando a API REST no Node.js

Anotações de marca d’água em documentos do Word usando a API REST no Node.js

Podemos adicionar anotações de marca d’água em documentos do Word programaticamente seguindo as etapas mencionadas anteriormente. No entanto, precisamos definir o tipo de anotação como marca d’água.

O exemplo de código a seguir mostra como adicionar anotação de marca d’água a um documento do Word usando uma API REST no Node.js. Siga as etapas mencionadas anteriormente para fazer upload e download de um arquivo.

// Inicializar API
let annotateApi = groupdocs_annotation_cloud.AnotarApi.fromKeys(clientId, clientSecret);

// Definir anotação de marca d'água
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.";

// Caminho do arquivo de entrada
let fileInfo = new groupdocs_annotation_cloud.FileInfo();
fileInfo.filePath = "sample.docx";

// Definir opções de anotação
let options = new groupdocs_annotation_cloud.AnotarOptions();
options.fileInfo = fileInfo;
options.annotations = [a1];
options.outputPath = "AddWatermarkAnnotation.docx";

// Criar solicitação de anotação
let request = new groupdocs_annotation_cloud.AnotarRequest(options);

// Anotar
let result = await annotateApi.annotate(request);
Anotações de marca d'água em documentos do Word usando a API REST no Node.js

Anotações de marca d’água em documentos do Word usando a API REST no Node.js

Experimente on-line

Experimente a seguinte ferramenta de anotação DOCX on-line gratuita, desenvolvida usando a API acima. https://products.groupdocs.app/annotation/docx

Conclusão

Neste artigo, aprendemos como adicionar anotações a documentos do Word na nuvem. Também vimos como adicionar anotações de campo de imagem e texto ao arquivo DOCX usando uma API REST no Node.js. Este artigo também explicou como carregar programaticamente um arquivo DOCX para a nuvem e, em seguida, baixar o arquivo editado da nuvem. Além disso, você pode aprender mais sobre GroupDocs.Annotation Cloud API usando a documentação. Também fornecemos uma seção Referência de API que permite visualizar e interagir com nossas APIs diretamente pelo navegador. Em caso de ambiguidade, sinta-se à vontade para nos contatar no fórum.

Veja também