Как разработчик Node.js, вы можете легко сравнить два или более документа Word на предмет сходства и различия программным путем в облаке. Это может помочь вам отслеживать изменения в разных версиях одного и того же документа Word или в разных документах. В этой статье вы узнаете, как сравнить два или более документа Word с помощью REST API в Node.js.
В этой статье должны быть раскрыты следующие темы:
- REST API и Node.js SDK для сравнения документов Word
- Сравните два файла Word с помощью REST API в Node.js
- Сравните несколько файлов DOCX с помощью Node.js
- Получить список изменений с помощью REST API в Node.js
- Настройте результаты сравнения с помощью Node.js
REST API и Node.js SDK для сравнения документов Word
Для сравнения двух или более файлов DOCX мы будем использовать API Node.js SDK для GroupDocs.Comparison Cloud. Это позволяет сравнивать два или более документов и находить различия в результирующем файле. Вы можете легко интегрировать SDK в существующие приложения Node.js для сравнения документов, электронных таблиц, презентаций, диаграмм Visio, электронных писем и файлов многих других поддерживаемых форматов.
Вы можете установить GroupDocs.Comparison Cloud в свое приложение Node.js с помощью следующей команды в консоли:
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";
Сравните два файла Word с помощью REST API в Node.js
Вы можете сравнить свои документы Word программно, выполнив простые шаги, указанные ниже:
- Загрузить файлы DOCX в облако
- Сравнить файлы Word с помощью Node.js
- Скачать результирующий файл DOCX
Загрузите файлы DOCX
Во-первых, загрузите исходный и целевой файлы DOCX в облако, используя следующий пример кода:
// построить FileApi
let fileApi = groupdocs_comparison_cloud.FileApi.fromConfig(config);
let resourcesFolder = 'C:\\Files\\comparison\\uploads\\';
fs.readdir(resourcesFolder, (err, files) => {
files.forEach(file => {
console.log(file);
fs.readFile(resourcesFolder + file, (err, fileStream) => {
let request = new groupdocs_comparison_cloud.UploadFileRequest(file, fileStream, myStorage);
fileApi.uploadFile(request);
});
});
});
В результате загруженные файлы DOCX будут доступны в разделе файлов вашей панели инструментов в облаке.
Сравните файлы Word с помощью Node.js
Вы можете программно сравнить два документа Word, выполнив следующие действия:
- Во-первых, создайте экземпляр CompareApi.
- Затем создайте экземпляр FileInfo и задайте путь к исходному входному файлу DOCX.
- Затем создайте еще один экземпляр FileInfo и задайте путь к целевому входному файлу DOCX.
- После этого создайте экземпляр ComparisonOptions и назначьте исходный и целевой файлы.
- Затем установите путь к выходному файлу.
- Затем создайте ComparisonsRequest с ComparisonOptions.
- Наконец, получите результаты, вызвав метод CompareApi.comparisons() с ComparisonsRequest.
В следующем примере кода показано, как сравнить два файла Word с помощью REST API в Node.js.
// инициализировать API
let сравниватьApi = groupdocs_comparison_cloud.CompareApi.fromKeys(clientId, clientSecret);
// исходный файл
let source = new groupdocs_comparison_cloud.FileInfo();
source.filePath = "source.docx";
// целевой файл
let target = new groupdocs_comparison_cloud.FileInfo();
target.filePath = "target.docx";
// определить параметры сравнения
let options = new groupdocs_comparison_cloud.ComparisonOptions();
options.sourceFile = source;
options.targetFiles = [target];
options.outputPath = "сравниватьd/result_сравниватьOptions.docx";
// создать запрос сравнения
let request = new groupdocs_comparison_cloud.ComparisonsRequest(options);
// сравнивать
let response = await сравниватьApi.comparisons(request);
console.log("Output file link: " + response.href);
Загрузите результирующий файл
Приведенный выше пример кода сохранит различия во вновь созданном файле DOCX в облаке. Вы можете загрузить его, используя следующий пример кода:
// построить FileApi
let fileApi = groupdocs_comparison_cloud.FileApi.fromConfig(config);
// создать запрос на скачивание файла
let request = new groupdocs_comparison_cloud.DownloadFileRequest("compared/result_compareOptions.docx", myStorage);
// Загрузка файла
let response = await fileApi.downloadFile(request);
// сохранить в рабочем каталоге
fs.writeFile("C:\\Files\\comparison\\result_compareOptions.docx", response, "binary", function (err) { });
Сравните несколько файлов DOCX с помощью Node.js
Вы можете программно сравнить несколько документов Word, выполнив следующие действия:
- Во-первых, создайте экземпляр CompareApi.
- Затем создайте экземпляр FileInfo и задайте путь к исходному входному файлу DOCX.
- Затем создайте еще один экземпляр FileInfo и задайте путь к целевому входному файлу DOCX.
- Повторите описанные выше шаги, чтобы добавить несколько целевых файлов.
- После этого создайте экземпляр ComparisonOptions и назначьте исходный и целевой файлы.
- Затем установите путь к выходному файлу.
- Затем создайте ComparisonsRequest с ComparisonOptions.
- Наконец, получите результаты, вызвав метод CompareApi.comparisons() с ComparisonsRequest.
В следующем примере кода показано, как сравнить несколько файлов Word с помощью REST API в Node.js.
// инициализировать API
let сравниватьApi = groupdocs_comparison_cloud.CompareApi.fromKeys(clientId, clientSecret);
// исходный файл
let source = new groupdocs_comparison_cloud.FileInfo();
source.filePath = "source.docx";
// целевой файл 1
let target1 = new groupdocs_comparison_cloud.FileInfo();
target1.filePath = "target1.docx";
// целевой файл 2
let target2 = new groupdocs_comparison_cloud.FileInfo();
target2.filePath = "target2.docx";
// определить параметры сравнения
let options = new groupdocs_comparison_cloud.ComparisonOptions();
options.sourceFile = source;
options.targetFiles = [target1, target2];
options.outputPath = "сравниватьd/result_Multiple.docx";
// создать запрос сравнения
let request = new groupdocs_comparison_cloud.ComparisonsRequest(options);
// сравнивать
let response = await сравниватьApi.comparisons(request);
console.log("Output file link: " + response.href);
Получить список изменений с помощью REST API в Node.js
Вы можете получить полный список найденных различий после программного сравнения документов Word, выполнив следующие шаги:
- Во-первых, создайте экземпляр CompareApi
- Затем создайте экземпляр FileInfo и установите путь к исходному входному файлу DOCX.
- Затем создайте еще один экземпляр FileInfo и установите путь к целевому входному файлу DOCX.
- После этого создайте экземпляр ComparisonOptions и назначьте исходный и целевой файлы.
- Затем установите путь к выходному файлу
- Затем создайте PostChangesRequest с ComparisonOptions.
- После этого получите результаты, вызвав метод CompareApi.postChanges() с PostChangesRequest.
- Наконец, покажите все изменения по одному
В следующем примере кода показано, как получить список изменений с помощью REST API в Node.js.
// инициализировать API
let compareApi = groupdocs_comparison_cloud.CompareApi.fromKeys(clientId, clientSecret);
// исходный файл
let source = new groupdocs_comparison_cloud.FileInfo();
source.filePath = "source.docx";
// целевой файл
let target = new groupdocs_comparison_cloud.FileInfo();
target.filePath = "target.docx";
// определить параметры сравнения
let options = new groupdocs_comparison_cloud.ComparisonOptions();
options.sourceFile = source;
options.targetFiles = [target];
options.outputPath = "compared/result.docx";
// создать запрос на публикацию изменений
let request = new groupdocs_comparison_cloud.PostChangesRequest(options);
// опубликовать изменения
let changes = await compareApi.postChanges(request);
console.log("Changes count: " + changes.length);
changes.forEach(change => {
console.log(change.id + 1 +"- Target Text: " + change.targetText + ", Text: " + change.text + ", Type: " + change.type);
});
Настройте результаты сравнения с помощью Node.js
Вы можете легко настроить стиль изменений программно, выполнив следующие шаги:
- Во-первых, создайте экземпляр CompareApi.
- Затем создайте экземпляр FileInfo и задайте путь к исходному входному файлу DOCX.
- Затем создайте еще один экземпляр FileInfo и задайте путь к целевому входному файлу DOCX.
- После этого создайте экземпляр Settings и задайте различные параметры сравнения, такие как чувствительностьOfComparison.
- Затем создайте экземпляры ItemsStyle для вставленных элементов стиля, удаленных элементов стиля и измененных предметов стиля.
- Затем установите различные свойства для каждого ItemsStyle, такие как highlightColor, fontColor, полужирный, курсив и т. д.
- После этого создайте экземпляр ComparisonOptions и назначьте исходный и целевой файлы.
- Затем установите путь к выходному файлу.
- Затем назначьте настройки ComparisonOptions.
- После этого создайте ComparisonsRequest с ComparisonOptions.
- Наконец, получите результаты, вызвав метод CompareApi.comparisons() с ComparisonsRequest.
В следующем примере кода показано, как настроить результаты сравнения с помощью REST API в Node.js.
// инициализировать API
let сравниватьApi = groupdocs_comparison_cloud.CompareApi.fromKeys(clientId, clientSecret);
// исходный файл
let source = new groupdocs_comparison_cloud.FileInfo();
source.filePath = "source.docx";
// целевой файл
let target = new groupdocs_comparison_cloud.FileInfo();
target.filePath = "target.docx";
// определить настройки сравнения
let settings = new groupdocs_comparison_cloud.Settings();
// сравнить чувствительность
settings.sensitivityOfComparison = 100;
// настроить стиль изменений для вставленных элементов
settings.insertedItemsStyle = new groupdocs_comparison_cloud.ItemsStyle();
settings.insertedItemsStyle.highlightColor = "14297642";
settings.insertedItemsStyle.fontColor = "16711680";
settings.insertedItemsStyle.underline = true;
// настроить стиль изменений для удаленных элементов
settings.deletedItemsStyle = new groupdocs_comparison_cloud.ItemsStyle();
settings.deletedItemsStyle.fontColor = "14166746";
settings.deletedItemsStyle.bold = true;
// настроить стиль изменений для измененных элементов
settings.changedItemsStyle = new groupdocs_comparison_cloud.ItemsStyle();
settings.changedItemsStyle.fontColor = "14320170";
settings.changedItemsStyle.italic = true;
// определить параметры сравнения
let options = new groupdocs_comparison_cloud.ComparisonOptions();
options.sourceFile = source;
options.targetFiles = [target];
options.outputPath = "сравниватьd/result_сравниватьOptions.docx";
options.settings = settings;
// создать запрос сравнения
let request = new groupdocs_comparison_cloud.ComparisonsRequest(options);
// сравнивать
let response = await сравниватьApi.comparisons(request);
console.log("Output file link: " + response.href);
Попробуйте онлайн
Пожалуйста, попробуйте следующий бесплатный онлайн-инструмент сравнения DOCX, который разработан с использованием вышеуказанного API. https://products.groupdocs.app/comparison/docx
Заключение
В этой статье вы узнали, как сравнивать документы Word с помощью REST API в облаке. Более того, вы видели, как программно сравнивать несколько файлов DOCX. В этой статье также объясняется, как программно загрузить файл DOCX в облако, а затем загрузить полученный файл из облака. Кроме того, вы можете узнать больше о GroupDocs.Comparison Cloud API, воспользовавшись документацией. Мы также предоставляем раздел Справочник по API, который позволяет визуализировать наши API и взаимодействовать с ними непосредственно через браузер. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.