Realçar texto em PDF usando API REST em Node.js

Em certos casos, pode ser necessário destacar uma frase, linha ou área de texto em documentos PDF. Ajuda a destacar textos importantes com cores semitransparentes em formato eletrônico, da mesma forma que fazemos com um marcador em papel padrão. Podemos usar o recurso de realce programaticamente usando as anotações de realce nos aplicativos. Neste artigo, aprenderemos como destacar texto em PDF usando a API REST no Node.js.

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

API REST do realçador de texto em PDF e SDK Node.js

Para destacar o texto em arquivos PDF, usaremos a API Node.js SDK of GroupDocs.Annotation Cloud. Ele permite adicionar anotações, sobreposições de marca d’água, substituições de texto, redações e marcações de texto aos formatos de documento suportados. 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:

// Este exemplo de código demonstra como adicionar o ID e o segredo do cliente ao código.
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";

Realçar texto em PDF usando API REST em Node.js

Podemos destacar texto em arquivos PDF seguindo as etapas simples abaixo:

  1. Upload o arquivo PDF para a nuvem
  2. Destacar texto no PDF carregado
  3. Baixar o arquivo anotado

Carregue o Documento

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

// Este exemplo de código demonstra como carregar um arquivo PDF para a nuvem.
// Inicializar instância da API
var fileApi = new groupdocs_annotation_cloud.FileApi(configuration);

// Abra o arquivo no IOStream do local/disco.
var resourcesFolder = 'C:\\Files\\Annotation\\sample.pdf';

// Leia o arquivo
fs.readFile(resourcesFolder, (err, fileStream) => {
  // 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 painel na nuvem.

Realçar texto em documento PDF usando Node.js

Agora, adicionaremos anotações de realce para destacar o texto no documento PDF carregado seguindo as etapas abaixo:

  • Em primeiro lugar, crie uma instância do AnnotateApi.
  • Em seguida, defina as posições dos pontos de anotação.
  • Em seguida, atribua pontos ao objeto AnnotationInfo e defina sua cor e tipo de plano de fundo.
  • Em seguida, forneça o caminho do arquivo de entrada.
  • Em seguida, inicialize o objeto AnnotateOptions e defina o caminho do arquivo de saída.
  • Depois disso, crie o AnnotateRequest com AnnotateOptions como argumento.
  • Por fim, destaque o texto em PDF usando o método AnnotateApi.annotate().

O exemplo de código a seguir mostra como destacar texto em um documento PDF usando uma API REST em Node.js.

// Este exemplo de código demonstra como adicionar anotações de realce ao arquivo PDF.
// Inicializar instância da API
let annotateApi = groupdocs_annotation_cloud.AnotarApi.fromKeys(clientId, clientSecret);

// Definir anotação
let a1 = new groupdocs_annotation_cloud.AnnotationInfo();

// Ponto 1
let p1 = new groupdocs_annotation_cloud.Point();
p1.x = 30;
p1.y = 710;

// Ponto 2
let p2 = new groupdocs_annotation_cloud.Point();
p2.x = 460;
p2.y = 710;

// Ponto 3
let p3 = new groupdocs_annotation_cloud.Point();
p3.x = 30;
p3.y = 690;

// Ponto 4
let p4 = new groupdocs_annotation_cloud.Point();
p4.x = 460;
p4.y = 690;

// Adicionar pontos
a1.points = [p1, p2, p3, p4];

// Cor de fundo
a1.backgroundColor = 3329434;

// Tipo
a1.type = groupdocs_annotation_cloud.AnnotationInfo.TipoEnum.TextHighlight;

// 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.AnotarOptions();
options.fileInfo = fileInfo;

// Atribuir anotação
options.annotations = [a1];

// Caminho do arquivo de saída
options.outputPath = "output.pdf";

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

// Anotar
let result = await annotateApi.annotate(request);

// Feito
console.log("AddAreaAnnotation: Area Annotation added: " + result.href);
Realçar texto em documento PDF usando Node.js

Realçar texto em documento PDF usando Node.js

Você pode obter o valor de cor necessário no link a seguir para usar como cor de fundo. https://docs.microsoft.com/en-us/office/vba/api/excel.xlrgbcolor

Baixe o arquivo anotado

O exemplo de código acima salvará o arquivo PDF anotado na nuvem. Ele pode ser baixado usando o seguinte exemplo de código:

// Este exemplo de código demonstra como baixar um arquivo PDF da nuvem.
// Construir FileApi
var fileApi = new groupdocs_annotation_cloud.FileApi(configuration);

// Criar solicitação de arquivo de download
let request = new groupdocs_annotation_cloud.DownloadFileRequest("output.pdf", myStorage);

// ⇬ Fazer download do arquivo
let response = await fileApi.downloadFile(request);

// Salve o arquivo em seu diretório de trabalho
fs.writeFile("C:\\Files\\Annotation\\output.pdf", response, "binary", function (err) { });

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, aprendemos como:

  • adicionar anotações de realce a um PDF usando Node.js;
  • carregar programaticamente o arquivo PDF para a nuvem;
  • baixe o arquivo PDF anotado 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