Сравнение файлов MS Word

Microsoft Word поддерживает опцию «Сравнить», которая позволяет пользователям сравнивать документы Word и определять недавно добавленные изменения. Эта функция полезна, поскольку вы можете выполнять операцию сравнения текста в документах Word бок о бок. Однако программное решение проверки различий текста может быть намного быстрее и эффективнее и может легко выполнять операции по массовому сравнению текста. В этой статье мы выполним операцию сравнения текста с помощью REST-API, чтобы найти различия.

API сравнения текстов

Aspose.Words Cloud SDK для .NET позволяет создавать, изменять и преобразовывать ведущие форматы MS Word (DOC, DOCX, DOCM и т. д.) в другие поддерживаемые форматы. В то же время он также предоставляет возможность сравнивать документы Word и выделять различия. Теперь, чтобы использовать SDK, установите его из библиотеки NuGet с помощью следующей команды в консоли менеджера пакетов:

Install-Package Aspose.Words-Cloud

Для получения дополнительной информации вы можете рассмотреть возможность посещения следующей ссылки для получения дополнительной информации о Как установить Aspose.Cloud SDK. Теперь после установки нам также нужно создать бесплатную учетную запись, посетив панель управления Aspose.Cloud. Просто зарегистрируйтесь с помощью своей учетной записи GitHub или Google или нажмите кнопку Создать новую учетную запись. Учетные данные клиента, отображаемые на странице, будут использоваться в последующих разделах.

Сравнение текстов онлайн с использованием C#

Ниже приведены шаги и фрагмент кода, поясняющие подробности сравнения двух текстовых документов с использованием фрагмента кода C# .NET.

  • Сначала нам необходимо определить информацию ClientID и ClientSecret в коде.
  • Во-вторых, создайте объект класса Configuration, указав в качестве аргументов данные ClientID и ClientSecret.
  • В-третьих, создайте объект класса WordsApi и передайте экземпляр Configuration в качестве аргумента.
  • Теперь создайте экземпляр класса CompareData.
  • Чтобы конкретно идентифицировать имя человека, указанного в результирующем файле, используйте свойство Author класса CompareData.
  • Свойство ComparingWithDocument класса CompareData используется для указания целевого документа для сравнения содержимого.
  • Теперь создайте экземпляр класса CompareDocumentRequest, который принимает в качестве аргументов входной/исходный файл, объект CompareData и результирующее имя файла.
  • Наконец, вызовите метод CompareDocument(..), чтобы инициировать операцию сравнения.
String MyClientID = "c235e685-1aab-4cda-a95b-54afd63eb87f"; // Get Client Id from https://dashboard.aspose.cloud/
String MyClientSecret = "b8da4ee37494f2ef8da3c727f3a0acb9"; // Get Client Secret from https://dashboard.aspose.cloud/

// создать экземпляр класса конфигурации 
// и укажите ваш персональный идентификатор клиента и секретный код клиента
var config = new Configuration { ClientId = MyClientID, ClientSecret = MyClientSecret };
// инициализируйте объект WordsAPI с помощью экземпляра конфигурации
var wordsApi = new WordsApi(config);
// первый входной документ
string firstDocument = "file-sample.docx";
// второй документ для сравнения
string secondFile = "file-sample-updated.docx";
// имя результирующего файла
string resultantFile = "Out_ComparedTestDocs.docx";

// Создать экземпляр класса CompareData
CompareData compareData = new CompareData();
// имя, которое будет использоваться в качестве автора, идентифицирующего различия
compareData.Author = "Nayyer";
// укажите документ для сравнения
compareData.ComparingWithDocument = secondFile;
compareData.DateTime = DateTime.Now;
// создать экземпляр запроса, указав источник, документ для сравнения и результирующее имя файла
CompareDocumentRequest request = new CompareDocumentRequest(firstDocument, compareData, null, null, null, null, resultantFile);
// инициировать сравнение документов
DocumentResponse result = wordsApi.CompareDocument(request);

Образцы файлов, использованные в приведенных выше примерах, можно загрузить по следующим ссылкам.

Сравнение документов Word с помощью команд cURL

В этом разделе мы изучим шаги по сравнению документов Word с помощью команд cURL. Поскольку наши API доступны только авторизованному персоналу, выполните следующую команду, чтобы создать токен доступа JWT на основе Client ID и Client Secret.

 curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=c235e685-1aab-4cda-a95b-54afd63eb87f&client_secret=b8da4ee37494f2ef8da3c727f3a0acb9" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Приведенная ниже команда cURL показывает, как выполнить сравнение файлов онлайн с помощью команды cURL. Она обращается к методу CompareDocument, и результат этой операции записывается в выходной документ, содержащий отслеживаемые изменения в виде ряда редакций и редакций формата. Обратите внимание, что если вы не предоставите сведения о выходном документе, редакции будут сохранены в исходном документе.

curl -X PUT "https://api.aspose.cloud/v4.0/words/file-sample.docx/compareDocument?destFileName=ComparisonResult.docx" \
-H  "accept: application/json" 
-H  "Authorization: Bearer <JWT Token>" \
-H  "Content-Type: application/json" \
-d "{\"ComparingWithDocument\":\"file-sample-updated.docx\",\"Author\":\"Nayyer\",\"DateTime\":\"2021-04-27T16:50:55.869Z\",\"CompareOptions\":{\"IgnoreCaseChanges\":true,\"IgnoreTables\":true,\"IgnoreFields\":true,\"IgnoreFootnotes\":true,\"IgnoreComments\":true,\"IgnoreTextboxes\":true,\"IgnoreFormatting\":true,\"IgnoreHeadersAndFooters\":true,\"Target\":\"Current\"}}"

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

Предварительный просмотр исходного и измененного документа

Изображение 1: Предварительный просмотр исходного документа и измененного документа.

Предварительный просмотр сравнения текстов

Изображение 2: Предварительный просмотр сравнения текстов.

Заключение

В этой статье мы объяснили шаги для сравнения документов Word с помощью API Aspose.Words Cloud. Обратите внимание, что доступ к API также возможен через интерфейс swagger. Кроме того, наши Cloud SDK имеют открытый исходный код, и их полный исходный код можно загрузить с GitHub.

Мы также рекомендуем посетить Product Documentation для получения более подробной информации о других интересных функциях, предлагаемых API. Ваши отзывы очень важны для нас. Поэтому, пожалуйста, не стесняйтесь обращаться к нам, используя наши Форумы поддержки.

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

Вы можете посетить следующие ссылки для получения информации: