Anotar documentos PDF usando uma API REST em Node.js

Como desenvolvedor Node.js, você pode anotar facilmente qualquer um dos seus documentos PDF programaticamente na nuvem. Você pode adicionar imagens, comentários, notas ou outros tipos de observações externas ao documento como anotações. Neste artigo, você aprenderá como anotar documentos PDF usando uma API REST no Node.js.

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

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

Para anotar documentos PDF, usarei a API Node.js SDK do GroupDocs.Annotation Cloud. Ele permite que você crie programaticamente ferramentas de anotação de documentos online. Você pode adicionar anotações, sobreposições de marcas d’água, substituições de texto, redações e marcações de texto aos formatos de documento suportados. Ele também fornece SDKs .NET, Java, PHP, Ruby e Python como seus membros da família de anotações de documentos para a API do Cloud.

Você pode instalar o GroupDocs.Annotation Cloud em seu aplicativo Node.js usando o seguinte comando no console:

npm install groupdocs-annotation-cloud

Obtenha seu ID de cliente e Segredo do cliente no painel antes de começar a seguir as etapas e os exemplos de código disponíveis. Depois de ter seu ID e segredo, adicione o código conforme mostrado abaixo:

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

Anotar documentos PDF usando uma API REST em Node.js

Você pode anotar seus documentos PDF na nuvem seguindo as etapas simples abaixo:

  1. Carregar o arquivo PDF para a nuvem
  2. Anotar documento PDF usando Node.js
  3. Baixar o arquivo anotado

Carregue o Documento

Em primeiro lugar, carregue o arquivo PDF na nuvem usando o seguinte exemplo de código:

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

// Abra o arquivo no IOStream do local/disco.
var resourcesFolder = 'C:\\Files\\sample.pdf';
// ler arquivo
fs.readFile(resourcesFolder, (err, fileStream) => {
  // criar solicitação de upload de arquivo
  var request = new groupdocs_annotation_cloud.UploadFileRequest("sample.pdf", fileStream, myStorage);
  // subir arquivo
  fileApi.uploadFile(request)
});

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

Anotar documento PDF usando Node.js

Você pode adicionar várias anotações ao documento PDF programaticamente seguindo as etapas mencionadas abaixo:

  • Crie uma instância do AnnotateApi
  • Crie a primeira instância do AnnotationInfo
  • Defina as propriedades de anotação para a primeira instância, por exemplo, posição, tipo, texto, etc.
  • Crie a segunda instância do AnnotationInfo
  • Defina as propriedades de anotação para a segunda instância, por exemplo, posição, tipo, texto, etc.
  • Crie a terceira instância do AnnotationInfo
  • Defina as propriedades de anotação para a terceira instância, por exemplo, posição, tipo, texto, etc.
  • Crie a quarta instância do AnnotationInfo
  • Defina as propriedades de anotação para a quarta instância, por exemplo, posição, tipo, texto, etc.
  • Crie uma instância de FileInfo e defina o caminho do arquivo de entrada
  • Crie uma instância do AnnotateOptions
  • Atribua o FileInfo e as instâncias de anotação definidas ao AnnotateOptions
  • Defina o caminho do arquivo de saída
  • Crie uma solicitação chamando o método AnnotateRequest com AnnotateOptions
  • Obtenha resultados chamando o método AnnotateApi.annotate() com AnnotateRequest

O exemplo de código a seguir mostra como anotar um documento PDF com várias anotações usando uma API REST em Node.js.

// inicializar API
let anotarApi = groupdocs_annotation_cloud.AnnotateApi.fromKeys(clientId, clientSecret);

// 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 anotação de distância";
a1.creatorName = "Anonym A.";

// 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 anotação de área";
a2.creatorName = "Anonym A.";

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

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

// criar solicitação de anotação
let request = new groupdocs_annotation_cloud.AnnotateRequest(options);
// anotar
let result = await anotarApi.anotar(request);

console.log("Multiple Annotations added: " + result.href);
Anotar documentos PDF usando uma API REST em Node.js

Anotar documentos PDF usando uma API REST em Node.js

Você pode ler mais sobre os tipos de anotação suportados na seção adicionando anotações na documentação.

Baixe o arquivo anotado

O exemplo de código acima salvará o arquivo PDF anotado na nuvem. Você pode baixá-lo usando o seguinte exemplo de código:

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

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

// salvar arquivo no diretório de trabalho
fs.writeFile("C:\\Files\\output.pdf", response, "binary", function (err) { });
console.log(response);

Adicionar anotações de imagem usando Node.js

Você pode adicionar anotações de imagem em seus documentos PDF programaticamente seguindo as etapas abaixo:

  • Crie uma instância do AnnotateApi
  • Crie uma instância do AnnotationInfo
  • Definir um retângulo e definir sua posição, altura e largura
  • Defina as propriedades de anotação, por exemplo, posição, texto, altura, largura, etc.
  • Defina o tipo de anotação como Imagem
  • Crie uma instância de FileInfo e defina o caminho do arquivo de entrada
  • Crie uma instância do AnnotateOptions
  • Atribua o FileInfo e a anotação ao AnnotateOptions
  • Defina o caminho do arquivo de saída
  • Crie uma solicitação chamando o método AnnotateRequest com AnnotateOptions
  • Obtenha resultados chamando o método AnnotateApi.annotate() com AnnotateRequest

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

// inicializar API
let anotarApi = groupdocs_annotation_cloud.AnnotateApi.fromKeys(clientId, clientSecret);

// 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 = 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 anotação de imagem";
a1.creatorName = "Anonym A.";
a1.imagePath = "JohnSmith.png";

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

// definir opções de anotação
let options = new groupdocs_annotation_cloud.AnnotateOptions();
options.fileInfo = fileInfo;
options.annotations = [a1];
options.outputPath = "Output/output.pdf";

// criar solicitação de anotação
let request = new groupdocs_annotation_cloud.AnnotateRequest(options);
// anotar
let result = await anotarApi.anotar(request);

console.log("Image Annotation added: " + result.href);
Adicionar anotações de imagem usando Node.js

Adicionar anotações de imagem usando Node.js

Experimente on-line

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

Conclusão

Neste artigo, você aprendeu como adicionar várias anotações a documentos PDF na nuvem. Você também aprendeu como adicionar anotações de imagem a documentos PDF de forma programática. Além disso, você aprendeu a carregar programaticamente um arquivo PDF na nuvem e, em seguida, baixar o arquivo com anotações da nuvem. 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