В этой статье описывается, как сравнивать документы Word с помощью NET REST API. Вы научитесь сравнивать файлы Word с C# Low Code API с помощью облачного SDK .NET. Полный текст программы и пример кода доступны для выполнения этой задачи онлайн.
Обязательное условие
- Создайте учетную запись и получите учетные данные API
- Скачать Aspose.Words Cloud SDK for Dotnet to compare two Word files
- Настройка проекта решения C# с помощью вышеуказанного SDK для сравнения файлов DOCX.
Шаги: сравнение двух документов Word с API C# Low Code
- Инициализируйте объект WordsApi, задав клонированный идентификатор и секрет для сравнения документов.
- Считайте последний файл Word в поток памяти и загрузите его в облачное хранилище.
- Создайте объект CompareData и используйте загруженный файл в качестве ссылки.
- Считайте исходный файл Word в поток памяти.
- Создайте объект CompareDocumentOnlineRequest, указав исходный файл Word, обновленный файл Word и имя выходного файла.
- Вызовите метод CompareDocumentOnline и предоставьте объект запроса.
- Загрузите выходной файл Word из ответа и сохраните его на диске.
Вышеуказанные шаги описывают, как сравнивать документы Word в Интернете с C# Low Code API. Начните процесс с загрузки последней версии файла Word в облачное хранилище, а затем создайте объект CompareData, используя ссылку на загруженный документ. Считайте исходный файл в поток памяти, создайте CompareDocumentOnlineRequest с загруженным файлом Word, локальным документом с изменениями и выходным файлом Word и, наконец, вызовите метод CompareDocumentOnline() для сравнения файлов Word.
Код для сравнения документов Word в Интернете с помощью NET REST API
using System; | |
using System.Collections.Generic; | |
using System.IO; | |
using System.Threading.Tasks; | |
using Aspose.Words.Cloud.Sdk; | |
using Aspose.Words.Cloud.Sdk.Model; | |
using Aspose.Words.Cloud.Sdk.Model.Requests; | |
namespace WordsSample.Words | |
{ | |
public class WordFileOperations | |
{ | |
public void CompareFiles() | |
{ | |
var wordsApi = new WordsApi("Client ID", "Secret"); | |
using var requestFileContent2 = File.OpenRead("Sample2.docx"); | |
var uploadRequest2 = new UploadFileRequest(requestFileContent2, "Sample2.docx"); | |
var task2 = wordsApi.UploadFile(uploadRequest2); | |
task2.Wait(); | |
var requestCompareDataFileReference = new FileReference("Sample2.docx"); | |
var requestCompareData = new CompareData() | |
{ | |
Author = "author", | |
DateTime = new System.DateTime(2015, 10, 26, 0, 0, 0), | |
FileReference = requestCompareDataFileReference | |
}; | |
using var requestDocument = File.OpenRead("Sample1.docx"); | |
string output = "output.docx"; | |
var request = new CompareDocumentOnlineRequest( | |
document: requestDocument, | |
compareData: requestCompareData, | |
destFileName: output | |
); | |
var task = wordsApi.CompareDocumentOnline(request); | |
task.Wait(); | |
var result = task.Result; | |
if (result.Document.TryGetValue(output, out var stream)) | |
{ | |
stream.Position = 0; | |
using (var fileStream = File.Create(output)) | |
{ | |
stream.Seek(0, SeekOrigin.Begin); | |
stream.CopyTo(fileStream); | |
} | |
} | |
} | |
} | |
} |
Этот код демонстрирует процесс сравнения различий между двумя документами Word с помощью C# REST API. Этот код показывает, что сначала мы загружаем последний файл Word в облачное хранилище в качестве эталонного и читаем предыдущую версию файла Word локально, чтобы сравнить ее с эталонным файлом Word. В классе CompareData есть свойство CompareOptions, которое поддерживает настройку сравнения, например игнорирование изменений регистра, комментариев, полей, сносок, форматирования, верхних и нижних колонтитулов, таблиц и текстовых полей.
В этой теме мы научились сравнивать два файла Word. Чтобы удалить комментарии в файле Word, обратитесь к следующей статье: Удаление комментариев в Word DOC с помощью NET REST API.