Принять или отклонить отслеживаемые изменения в Word с помощью Node.js

Microsoft Word предоставляет встроенные функции для отслеживания изменений и сохранения редакций в документах Word. Однако мы можем принимать или отклонять отслеживаемые изменения документов Word (DOC или DOCX) программно в облаке. В этой статье мы узнаем, как принять или отклонить отслеживаемые изменения в документе Word с помощью REST API в Node.js.

В этой статье должны быть раскрыты следующие темы:

REST API и Node.js SDK для принятия или отклонения изменений

Для принятия или отклонения отслеживаемых изменений в документе Word мы будем использовать API Node.js SDK GroupDocs.Comparison Cloud. Он позволяет сравнивать два и более документа поддерживаемых форматов и отслеживать их изменения. Пожалуйста, установите его с помощью следующей команды в консоли:

npm install groupdocs-comparison-cloud

Пожалуйста, получите свой идентификатор клиента и секрет из панели управления, прежде чем выполнять указанные шаги. Получив свой идентификатор и секрет, добавьте код, как показано ниже:

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

Принять или отклонить отслеживаемые изменения с помощью REST API в Node.js

Мы можем принять или отклонить определенные версии документов Word, выполнив простые шаги, указанные ниже:

  1. Загрузить файлы DOCX в облако
  2. Принять или отклонить изменения в документах Word
  3. Скачать выходной файл

Загрузить документ

Во-первых, мы загрузим документ Word с изменениями в облако, используя приведенный ниже пример кода:

// Создать FileApi
let fileApi = groupdocs_comparison_cloud.FileApi.fromConfig(config);

// Путь к входному файлу
let file = 'C:\\Files\\source_with_revisions.docx';

// Прочитать файл
fs.readFile(file, (err, fileStream) => {
  // Создать запрос на загрузку файла
  let request = new groupdocs_comparison_cloud.UploadFileRequest("source_with_revisions.docx", fileStream, myStorage);
  // Загрузить файл
  fileApi.uploadFile(request);
});

В результате загруженный файл DOCX будет доступен в разделе файлов панели инструментов в облаке.

Принять или отклонить изменения в документах Word

Теперь мы будем принимать или отклонять отслеживаемые изменения программно, выполнив шаги, указанные ниже:

  • Во-первых, создайте экземпляр ReviewApi.
  • Затем укажите путь к загруженному файлу DOCX.
  • Затем получите ревизии и примите или отклоните нужные ревизии в цикле.
  • Наконец, примените изменения и сохраните обновленный файл как «output.docx».

В следующем примере кода показано, как принять отслеживаемые изменения в документе Word с помощью REST API в Node.js.

// Создайте экземпляр API
let reviewApi = groupdocs_comparison_cloud.ReviewApi.fromKeys(clientId, clientSecret);

// Входной исходный файл
let source = new groupdocs_comparison_cloud.FileInfo();
source.filePath = "source_with_revisions.docx";

// Определить параметры применения редакций
let options = new groupdocs_comparison_cloud.ApplyRevisionsOptions();
options.sourceFile = source;
options.outputPath = "output.docx";

// Создать запрос на получение изменений
let request = new groupdocs_comparison_cloud.GetRevisionsRequest(source);

// Получить все версии
let revisions = await reviewApi.getRevisions(request);

// Принять или отклонить изменения
revisions.forEach(revision => {
  revision.action = groupdocs_comparison_cloud.RevisionInfo.ActionEnum.Accept;
});

options.revisions = revisions;

// Создать запрос на применение изменений
let applyRequest = new groupdocs_comparison_cloud.ApplyRevisionsRequest(options);

// Применить изменения
let response = await reviewApi.applyRevisions(applyRequest);
console.log("Output file link: " + response.href);
Принять или отклонить отслеживаемые изменения с помощью REST API в Node.js

Принять или отклонить отслеживаемые изменения с помощью REST API в Node.js

Точно так же мы можем отклонить любые изменения, выполнив шаги, упомянутые ранее. Однако нам просто нужно применить следующие параметры ревизии:

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

Загрузите результирующий файл

В результате приведенный выше пример кода сохранит вновь созданный файл DOCX с изменениями в облаке. Его можно загрузить с помощью следующего примера кода:

// Создать FileApi
let fileApi = groupdocs_comparison_cloud.FileApi.fromConfig(config);

// Создать запрос на скачивание файла
let request = new groupdocs_comparison_cloud.DownloadFileRequest("output.docx", myStorage);

// Загрузить файл
let response = await fileApi.downloadFile(request);

// Сохранить в рабочем каталоге
fs.writeFile("C:\\Files\\output.docx", response, "binary", function (err) { });

Принять или отклонить все изменения в Node.js

Мы можем принять или отклонить все изменения сразу, выполнив следующие шаги:

  • Во-первых, создайте экземпляр ReviewApi.
  • Затем укажите путь к загруженному файлу DOCX.
  • Затем получите исправления и примите или отклоните все изменения.
  • Наконец, примените изменения и сохраните обновленный файл как «output.docx».

В следующем примере кода показано, как принять все изменения с помощью REST API. Пожалуйста, следуйте шагам, упомянутым ранее, чтобы загрузить и скачать файл.

// Создайте экземпляр API
let reviewApi = groupdocs_comparison_cloud.ReviewApi.fromKeys(clientId, clientSecret);

// Входной исходный файл
let source = new groupdocs_comparison_cloud.FileInfo();
source.filePath = "source_with_revisions.docx";

// Определить параметры применения редакции
let options = new groupdocs_comparison_cloud.ApplyRevisionsOptions();
options.sourceFile = source;
options.outputPath = "output.docx";

// Принять все изменения
options.acceptAll = true;

// Отклонить все изменения
// options.rejectAll = истина;	

// Создать запрос на применение редакции
let request = new groupdocs_comparison_cloud.ApplyRevisionsRequest(options);

// Применить изменения
let response = await reviewApi.applyRevisions(request);
console.log("Output file link: " + response.href);

Попробуйте онлайн

Пожалуйста, попробуйте следующий бесплатный онлайн-инструмент сравнения DOCX, который разработан с использованием вышеуказанного API. https://products.groupdocs.app/comparison/docx

Заключение

В этой статье мы узнали, как принимать или отклонять отслеживаемые изменения в документах Word с помощью REST API в облаке. Мы также видели, как программно принять или отклонить все изменения за один раз. В этой статье также объясняется, как программно загрузить файл DOCX в облако, а затем загрузить полученный файл из облака. Кроме того, вы можете узнать больше об облачном API GroupDocs.Comparison с помощью документации. Мы также предоставляем раздел Справочник по API, который позволяет визуализировать наши API и взаимодействовать с ними непосредственно через браузер. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.

Смотрите также