Сравните PDF-файлы с помощью REST API в NodeJs

Вы можете программно сравнить два или более PDF-документа в облаке. Сравнение позволяет выявить сходства и различия в документах. В этой статье вы узнаете, как сравнивать PDF-файлы с помощью REST API в Node.js.

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

Сравнение документов REST API и Node.js SDK

Я буду использовать Node.js SDK of GroupDocs.Comparison Cloud API для сравнения PDF-документов. Это позволяет сравнивать два или более документов и находить различия. В результате создается результирующий файл, содержащий различия. Это также позволяет вам принять или отклонить полученные изменения. Вы можете легко интегрировать его в существующие приложения Node.js для сравнения документов, электронных таблиц, презентаций, диаграмм Visio, электронных писем и файлов многих других форматов. Он также предоставляет SDK для .NET, Java, PHP, Python и Ruby в качестве членов семейства для сравнения документов для Cloud API.

Вы можете установить GroupDocs.Comparison Cloud в свое приложение Node.js с помощью следующей команды в консоли:

npm install groupdocs-comparison-cloud --save

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

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

Сравните PDF-файлы с помощью REST API в Node.js

Вы можете сравнить свои PDF-документы программно, выполнив простые шаги, указанные ниже:

  1. Загрузить PDF-файлы в облако
  2. Сравните PDF-файлы с помощью Node.js
  3. Скачать полученный PDF-файл

Загрузите PDF-файлы

Во-первых, загрузите исходный и целевой PDF-файлы в облако, используя следующий пример кода:

// построить FileApi
let fileApi = groupdocs_comparison_cloud.FileApi.fromConfig(config);
let resourcesFolder = 'C:\\Files\\';

fs.readdir(resourcesFolder, (err, files) => {
  files.forEach(file => {
    // читать файлы один за другим
    fs.readFile(resourcesFolder + file, (err, fileStream) => {
      // создать запрос на загрузку файла
      let request = new groupdocs_comparison_cloud.UploadFileRequest(file, fileStream, myStorage);
      // загрузить файл
      fileApi.uploadFile(request)
        .then(function (response) {
          console.log(file + " uploaded: " + response.uploaded.length);
        })
        .catch(function (error) {
          console.log("Error: " + error.message);
        });
    });
  });
});

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

Сравните PDF-файлы с помощью Node.js

Вы можете программно сравнить два PDF-документа, выполнив шаги, указанные ниже:

  • Создайте экземпляр CompareApi
  • Установите исходный файл .pdf
  • Установите целевой файл .pdf
  • Определить параметры сравнения
  • Назначение исходных и целевых файлов
  • Установить путь к выходному файлу
  • Создать запрос на сравнение
  • Получите результаты, вызвав метод CompareApi.comparisons().

В следующем примере кода показано, как сравнить два файла PDF с помощью REST API в Node.js.

// инициализировать API
let сравниватьApi = groupdocs_comparison_cloud.CompareApi.fromKeys(clientId, clientSecret);

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

// целевой файл
let target = new groupdocs_comparison_cloud.FileInfo();
target.filePath = "target.pdf";

// определить параметры сравнения
let options = new groupdocs_comparison_cloud.ComparisonOptions();
options.sourceFile = source;
options.targetFiles = [target];
options.outputPath = "сравниватьd/result.pdf";

// создать запрос на сравнение
let request = new groupdocs_comparison_cloud.ComparisonsRequest(options);

// сравнивать
let response = await сравниватьApi.comparisons(request);
console.log("Output file link: " + response.href);
Сравните PDF-файлы с помощью Node.js

Сравните PDF-файлы с помощью Node.js

Результирующий файл также содержит сводную страницу в конце документа, как показано ниже:

Сравните PDF-файлы с помощью REST API в Node.js

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

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

// построить FileApi
let fileApi = groupdocs_comparison_cloud.FileApi.fromConfig(config);

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

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

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

Сравните несколько файлов PDF с помощью Node.js

Вы можете программно сравнить несколько PDF-документов, выполнив простые шаги, указанные ниже:

  • Создайте экземпляр CompareApi
  • Установите исходный файл .pdf
  • Установить несколько целевых файлов .pdf
  • Создать экземпляр ComparisonOptions
  • Назначение исходных и целевых файлов
  • Установить путь к выходному файлу
  • Создать запрос на сравнение
  • Получите результаты, вызвав метод CompareApi.comparisons().

В следующем примере кода показано, как сравнить несколько файлов PDF с помощью REST API в Node.js.

// инициализировать API
let сравниватьApi = groupdocs_comparison_cloud.CompareApi.fromKeys(clientId, clientSecret);

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

// целевой файл 1
let target1 = new groupdocs_comparison_cloud.FileInfo();
target1.filePath = "target.pdf";

// целевой файл 2
let target2 = new groupdocs_comparison_cloud.FileInfo();
target2.filePath = "target2.pdf";

// определить параметры сравнения
let options = new groupdocs_comparison_cloud.ComparisonOptions();
options.sourceFile = source;
options.targetFiles = [target1, target2];
options.outputPath = "сравниватьd/result.pdf";

// создать запрос на сравнение
let request = new groupdocs_comparison_cloud.ComparisonsRequest(options);

// сравнивать
let response = await сравниватьApi.comparisons(request);

Настройте результаты сравнения с помощью Node.js

Вы можете легко настроить стиль изменений программно, выполнив шаги, указанные ниже:

  • Создайте экземпляр CompareApi
  • Установите исходный файл .pdf
  • Установите целевой файл .pdf
  • Создать экземпляр настроек
  • Установить чувствительность сравнения
  • Настроить стиль элементов
  • Создать экземпляр ComparisonOptions
  • Назначение исходных и целевых файлов
  • Установить путь к выходному файлу
  • Назначить настройки
  • Создать запрос на сравнение
  • Получите результаты, вызвав метод CompareApi.comparisons().

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

// инициализировать API
let сравниватьApi = groupdocs_comparison_cloud.CompareApi.fromKeys(clientId, clientSecret);

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

// целевой файл
let target = new groupdocs_comparison_cloud.FileInfo();
target.filePath = "target.pdf";

// определить настройки сравнения
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.pdf";
options.settings = settings;

// создать запрос на сравнение
let request = new groupdocs_comparison_cloud.ComparisonsRequest(options);

// сравнивать
let response = await сравниватьApi.comparisons(request);

Получить список изменений с помощью Node.js

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

  • Создайте экземпляр CompareApi
  • Установите исходный файл .pdf
  • Установите целевой файл .pdf
  • Определить параметры сравнения
  • Создать запрос на сравнение
  • Получите результаты, вызвав метод CompareApi.comparisons().
  • Показать все изменения по одному

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

// инициализировать API
let compareApi = groupdocs_comparison_cloud.CompareApi.fromKeys(clientId, clientSecret);

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

// целевой файл
let target = new groupdocs_comparison_cloud.FileInfo();
target.filePath = "target.pdf";

// определить параметры сравнения
let options = new groupdocs_comparison_cloud.ComparisonOptions();
options.sourceFile = source;
options.targetFiles = [target];
options.outputPath = "compared/result.pdf";

// создать запрос на сравнение
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

Получить список изменений с помощью Node.js

Сравните и сохраните с паролем и метаданными, используя Node.js {#Compare-and-Save-with-Password-&-Metadata-using-Nodejs}

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

  • Создайте экземпляр CompareApi
  • Установите исходный файл .pdf
  • Установите целевой файл .pdf
  • Создать экземпляр настроек
  • Установить метаданные и пароль
  • Создать экземпляр ComparisonOptions
  • Назначение исходных и целевых файлов
  • Установить путь к выходному файлу
  • Назначить настройки
  • Создать запрос на сравнение
  • Получите результаты, вызвав метод CompareApi.comparisons().

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

// инициализировать API
let сравниватьApi = groupdocs_comparison_cloud.CompareApi.fromKeys(clientId, clientSecret);

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

// целевой файл
let target = new groupdocs_comparison_cloud.FileInfo();
target.filePath = "target.pdf";

let settings = new groupdocs_comparison_cloud.Settings();

// установить метаданные
settings.metadata = new groupdocs_comparison_cloud.Metadata();
settings.metadata.author = "Author";
settings.metadata.company = "GroupDocs";
settings.metadata.lastSaveBy = "Last saved by";
settings.cloneMetadata = groupdocs_comparison_cloud.Settings.CloneMetadataEnum.FileAuthor;

// Установка пароля
settings.password = "password";
settings.passwordSaveOption = groupdocs_comparison_cloud.Settings.PasswordSaveOptionEnum.User;

// определить параметры сравнения
let options = new groupdocs_comparison_cloud.ComparisonOptions();
options.sourceFile = source;
options.targetFiles = [target];
options.outputPath = "сравниватьd/result_Metadata.pdf";
options.settings = settings;

// создать запрос на сравнение
let request = new groupdocs_comparison_cloud.ComparisonsRequest(options);

// сравнивать
let response = await сравниватьApi.comparisons(request);

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

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

Заключение

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

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