Microsoft Word предоставляет встроенные функции для отслеживания изменений и сохранения редакций в документах Word. Однако мы можем принимать или отклонять отслеживаемые изменения документов Word (DOC или DOCX) программно в облаке. В этой статье мы узнаем, как принять или отклонить отслеживаемые изменения в документе Word с помощью REST API в Node.js.
В этой статье должны быть раскрыты следующие темы:
- REST API и Node.js SDK для принятия или отклонения изменений
- Принять или отклонить отслеживаемые изменения с помощью REST API в Node.js
- Принять или отклонить все изменения в 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, выполнив простые шаги, указанные ниже:
- Загрузить файлы DOCX в облако
- Принять или отклонить изменения в документах Word
- Скачать выходной файл
Загрузить документ
Во-первых, мы загрузим документ 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);
Точно так же мы можем отклонить любые изменения, выполнив шаги, упомянутые ранее. Однако нам просто нужно применить следующие параметры ревизии:
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 и взаимодействовать с ними непосредственно через браузер. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.