Вы можете программно сравнить два или более PDF-документа в облаке. Сравнение позволяет выявить сходства и различия в документах. В этой статье вы узнаете, как сравнивать PDF-файлы с помощью REST API в Node.js.
В этой статье должны быть раскрыты следующие темы:
- Сравнение документов REST API и Node.js SDK
- Сравните PDF-файлы с помощью REST API в Node.js
- Сравните несколько файлов PDF с помощью Node.js
- Настройте результаты сравнения с помощью Node.js
- Получить список изменений с помощью Node.js
- Сравните и сохраните с паролем и метаданными, используя 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-документы программно, выполнив простые шаги, указанные ниже:
- Загрузить PDF-файлы в облако
- Сравните PDF-файлы с помощью Node.js
- Скачать полученный 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 в облаке. Вы можете загрузить его, используя следующий пример кода:
// построить 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 {#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 и взаимодействовать с ними непосредственно через браузер. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.