Aceitar ou rejeitar alterações rastreadas no Word usando Node.js

O Microsoft Word fornece uma funcionalidade interna para rastrear alterações e manter revisões em documentos do Word. No entanto, podemos aceitar ou rejeitar as alterações rastreadas de documentos do Word (DOC ou DOCX) programaticamente na nuvem. Neste artigo, aprenderemos como aceitar ou rejeitar alterações rastreadas em um documento do Word usando uma API REST no Node.js.

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

API REST e SDK Node.js para aceitar ou rejeitar alterações

Para aceitar ou rejeitar as alterações rastreadas em um documento do Word, usaremos a API Node.js SDK of GroupDocs.Comparison Cloud. Permite comparar dois ou mais documentos dos formatos suportados e rastrear suas alterações. Instale-o usando o seguinte comando no console:

npm install groupdocs-comparison-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 = "112f0f38-9dae-42d5-b4fc-cc84ae644972";
global.clientSecret = "16ad3fe0bdc39c910f57d2fd48a5d618";
global.myStorage = "";

const config = new groupdocs_comparison_cloud.Configuration(clientId, clientSecret);
config.apiBaseUrl = "https://api.groupdocs.cloud";

Aceitar ou rejeitar alterações rastreadas usando a API REST no Node.js

Podemos aceitar ou rejeitar revisões específicas em documentos do Word seguindo as etapas simples abaixo:

  1. Carregar os arquivos DOCX para a nuvem
  2. Aceitar ou rejeitar alterações em documentos do Word
  3. Baixar o arquivo de saída

Carregue o Documento

Em primeiro lugar, faremos o upload do documento do Word com as revisões para a nuvem usando o exemplo de código abaixo:

// Construir FileApi
let fileApi = groupdocs_comparison_cloud.FileApi.fromConfig(config);

// Caminho do arquivo de entrada
let file = 'C:\\Files\\source_with_revisions.docx';

// Ler arquivo
fs.readFile(file, (err, fileStream) => {
  // Criar solicitação de upload de arquivo
  let request = new groupdocs_comparison_cloud.UploadFileRequest("source_with_revisions.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.

Aceitar ou rejeitar alterações em documentos do Word

Agora, aceitaremos ou rejeitaremos as alterações rastreadas programaticamente seguindo as etapas abaixo:

  • Em primeiro lugar, crie uma instância do ReviewApi.
  • Em seguida, forneça o caminho do arquivo DOCX carregado.
  • Em seguida, obtenha as revisões e aceite ou rejeite as revisões desejadas em um loop.
  • Finalmente, aplique as revisões e salve o arquivo atualizado como “output.docx”.

O exemplo de código a seguir mostra como aceitar as alterações controladas em um documento do Word usando uma API REST em Node.js.

// Criar uma instância da API
let reviewApi = groupdocs_comparison_cloud.ReviewApi.fromKeys(clientId, clientSecret);

// Arquivo de origem de entrada
let source = new groupdocs_comparison_cloud.FileInfo();
source.filePath = "source_with_revisions.docx";

// Definir opções de revisão de aplicação
let options = new groupdocs_comparison_cloud.ApplyRevisionsOptions();
options.sourceFile = source;
options.outputPath = "output.docx";

// Criar solicitação de obter revisões
let request = new groupdocs_comparison_cloud.GetRevisionsRequest(source);

// Obter todas as revisões
let revisions = await reviewApi.getRevisions(request);

// Aceitar ou rejeitar revisões
revisions.forEach(revision => {
  revision.action = groupdocs_comparison_cloud.RevisionInfo.ActionEnum.Accept;
});

options.revisions = revisions;

// Criar pedido de revisão de aplicação
let applyRequest = new groupdocs_comparison_cloud.ApplyRevisionsRequest(options);

// Aplicar revisões
let response = await reviewApi.applyRevisions(applyRequest);
console.log("Output file link: " + response.href);
Aceitar ou rejeitar alterações rastreadas usando a API REST no Node.js

Aceitar ou rejeitar alterações rastreadas usando a API REST no Node.js

Da mesma forma, podemos rejeitar quaisquer alterações seguindo as etapas mencionadas anteriormente. No entanto, só precisamos aplicar as seguintes opções de revisão:

revisions.forEach(revision => {
	revision.action = groupdocs_comparison_cloud.RevisionInfo.ActionEnum.Reject;
});

Baixe o arquivo resultante

Como resultado, o exemplo de código acima salvará um arquivo DOCX recém-criado com alterações na nuvem. Ele pode ser baixado usando o seguinte exemplo de código:

// Construir FileApi
let fileApi = groupdocs_comparison_cloud.FileApi.fromConfig(config);

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

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

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

Aceitar ou rejeitar todas as alterações no Node.js

Podemos aceitar ou rejeitar todas as alterações de uma vez, seguindo as etapas abaixo:

  • Em primeiro lugar, crie uma instância do ReviewApi.
  • Em seguida, forneça o caminho do arquivo DOCX carregado.
  • Em seguida, obtenha revisões e aceite ou rejeite todas as revisões.
  • Finalmente, aplique as revisões e salve o arquivo atualizado como “output.docx”.

O exemplo de código a seguir mostra como aceitar todas as alterações usando uma API REST. Siga as etapas mencionadas anteriormente para carregar e baixar o arquivo.

// Criar uma instância da API
let reviewApi = groupdocs_comparison_cloud.ReviewApi.fromKeys(clientId, clientSecret);

// Arquivo de origem de entrada
let source = new groupdocs_comparison_cloud.FileInfo();
source.filePath = "source_with_revisions.docx";

// Definir opções de revisão de aplicação
let options = new groupdocs_comparison_cloud.ApplyRevisionsOptions();
options.sourceFile = source;
options.outputPath = "output.docx";

// Aceitar todas as revisões
options.acceptAll = true;

// Rejeitar todas as revisões
// opções.rejectAll = verdadeiro;	

// Criar solicitação de revisão aplicada
let request = new groupdocs_comparison_cloud.ApplyRevisionsRequest(options);

// Aplicar revisões
let response = await reviewApi.applyRevisions(request);
console.log("Output file link: " + response.href);

Experimente on-line

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

Conclusão

Neste artigo, aprendemos como aceitar ou rejeitar alterações controladas em documentos do Word usando uma API REST na nuvem. Também vimos como aceitar ou rejeitar todas as revisões de uma vez programaticamente. Este artigo também explicou como carregar programaticamente um arquivo DOCX para a nuvem e, em seguida, baixar o arquivo resultante da nuvem. Além disso, você pode aprender mais sobre GroupDocs.Comparison 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