Порівняйте документи Word за допомогою REST API у Node.js

Як розробник Node.js ви можете легко порівняти два або більше документів Word на предмет схожості та відмінностей програмно в хмарі. Це може допомогти вам відстежувати зміни в різних версіях того самого документа Word або різних документів. У цій статті ви дізнаєтесь, як порівнювати два чи більше документів Word за допомогою REST API у 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 програмно, виконавши прості кроки, наведені нижче:

  1. Завантажте файли DOCX у хмару
  2. Порівняти файли Word за допомогою Node.js
  3. Завантажити отриманий файл 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);
Вихідний і цільовий файли.

Вихідний і цільовий файли.

Порівняйте два файли Word за допомогою REST API у Node.js

Порівняйте два файли Word за допомогою REST API у Node.js

Завантажте отриманий файл

Наведений вище зразок коду збереже відмінності у щойно створеному файлі 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);
});
Отримайте список змін за допомогою REST API у Node.js

Отримайте список змін за допомогою REST API у Node.js

Налаштуйте результати порівняння за допомогою Node.js

Ви можете легко налаштувати стиль змін програмним шляхом, виконавши наведені нижче дії.

  • По-перше, створіть екземпляр CompareApi.
  • Далі створіть екземпляр FileInfo та встановіть вихідний шлях до файлу DOCX.
  • Потім створіть ще один екземпляр FileInfo та встановіть шлях цільового вхідного файлу DOCX.
  • Після цього створіть екземпляр параметрів і встановіть різні параметри порівняння, наприклад sensitivityOfComparison.
  • Далі створіть екземпляри ItemsStyle для insertedItemsStyle, deletedItemsStyle і changesItemsStyle.
  • Потім установіть різні властивості для кожного ItemsStyle, наприклад highlightColor, fontColor, bold, italic тощо.
  • Після цього створіть екземпляр 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 Reference, який дозволяє візуалізувати наші API та взаємодіяти з ними безпосередньо через браузер. У разі будь-якої неясності зв’яжіться з нами на форумі.

Дивись також