сравнение документов .net – Полный учебник GroupDocs.Comparison для разработчиков .NET

Если вам нужно compare documents .net программно, вы попали в правильный гид.
Ручное обнаружение различий между двумя версиями контракта, таблицы или презентации может отнимать часы и всё равно упускать тонкие изменения. С GroupDocs.Comparison для .NET вы можете автоматизировать эту задачу, генерировать визуальные отчёты о различиях и даже принимать или отклонять изменения без открытия файлов. Этот учебник проведёт вас через каждый шаг — от установки пакета NuGet до работы с масштабными сравнениями папок — чтобы вы могли встроить надёжное сравнение документов в любое решение на .NET.

Быстрые ответы

  • What is the primary purpose of GroupDocs.Comparison? Для программного сравнения документов, обнаружения изменений и генерации визуальных или данных‑ориентированных результатов сравнения.
  • Can I accept or reject changes automatically? Да — используйте API accept/reject для применения детального контроля.
  • Does the library support image comparison in .NET? Абсолютно; вы можете сравнивать скриншоты, рендеры UI и любые растровые изображения.
  • Is folder comparison possible? Да — сравнивайте целые папки, чтобы обнаружить добавленные, удалённые или изменённые файлы.
  • What do I need before starting? Среда разработки .NET, пакет NuGet и действующая лицензия GroupDocs.Comparison (доступна пробная версия).

Что такое compare documents .net?

compare documents .net — это процесс программного выявления различий между двумя или более версиями документов с использованием библиотеки .NET. GroupDocs.Comparison реализует это, загружая исходные и целевые файлы, применяя настраиваемые параметры сравнения и возвращая ComparisonResult, который содержит как визуальные подсветки, так и структурированный список изменений. ComparisonResult представляет результат сравнения, содержащий обнаруженные изменения и визуальные данные diff.

Почему выбирать GroupDocs.Comparison для .NET?

GroupDocs.Comparison поддерживает более 50 форматов, обрабатывает большие PDF за секунды и включает корпоративные функции, такие как работа с паролями, сохранение метаданных и детальное управление изменениями, устраняя необходимость в нескольких специализированных библиотеках и сокращая затраты на разработку.

Предварительные требования

  • Visual Studio 2022 или новее (или любой IDE, совместимый с .NET).
  • .NET 6+ runtime (библиотека также поддерживает .NET Core 3.1 и .NET Framework 4.8).
  • NuGet‑пакет GroupDocs.Comparison (последняя стабильная версия).
  • Действительный лицензионный ключ (можно начать с 30‑дневной пробной версии).

Как сравнить два документа .net?

Чтобы сравнить два документа .net, создайте экземпляр класса Comparer, вызовите Compare(sourcePath, targetPath, outputPath) и укажите любые необходимые ComparisonOptions. Метод создаёт файл diff, который выделяет вставки, удаления и изменения форматирования, а также предоставляет коллекцию Changes для программного анализа. Объект Comparer является ядром, управляющим процессом сравнения.

Пошаговое руководство

  1. Create a Comparer instance – это основной объект, управляющий движком сравнения.
  2. Load source and target – вы можете передать пути к файлам, потоки или массивы байтов; потоки рекомендуется использовать для файлов более 10 МБ.
  3. Configure options – игнорировать регистр, задать пароль или настроить чувствительность через ComparisonOptions.
  4. Execute the comparison – вызовите Compare и укажите место для сохранения визуального diff.
  5. Process results – прочитайте коллекцию Changes, чтобы принимать, отклонять или регистрировать каждое изменение.

Какие форматы можно сравнивать с GroupDocs.Comparison?

GroupDocs.Comparison поддерживает более 50 входных и выходных форматов, включая DOCX, PDF, XLSX, PPTX, PNG, JPEG, BMP и TIFF. Он также может работать с файлами, защищёнными паролем, и файлами, хранящимися в облачном хранилище (через stream API). Такая широта устраняет необходимость в нескольких библиотеках при построении универсального конвейера обработки документов.

Как программно принимать или отклонять изменения?

ComparisonResult объект предоставляет коллекцию Changes. Каждый элемент ChangeInfo описывает одно обнаруженное изменение и предоставляет методы Accept() и Reject(). Вызовите result.Changes.AcceptAll(), чтобы применить все обнаруженные изменения к целевому документу, либо пройдитесь по result.Changes и вызовите Accept() или Reject() у отдельных объектов ChangeInfo для детального контроля. После выполнения нужных действий сохраните обновлённый документ с помощью result.Save(outputPath).

Как сравнить целые папки .net?

Сравнение папок предполагает перебор соответствующих пар файлов и вызов той же логики Compare для каждой пары. GroupDocs.Comparison также предоставляет вспомогательный метод CompareFolders(sourceFolder, targetFolder, outputFolder), который сравнивает все совпадающие файлы в двух каталогах, обнаруживает добавленные или удалённые файлы и генерирует результаты diff. CompareFolders возвращает коллекцию объектов FolderComparisonResult, каждый из которых указывает статус пары файлов и ссылку на её diff‑документ.

Как работает сравнение изображений в .NET?

Модуль изображений рассматривает каждый пиксель как точку данных, генерируя изображение diff, которое выделяет изменённые области красным, и возвращая коэффициент сходства (0‑100 %). Вызовите Comparer.CompareImages(imagePath1, imagePath2, outputPath); движок выравнивает изображения, вычисляет различия по каждому пикселю, записывает изображение diff, где изменённые пиксели окрашены, и предоставляет значение Similarity, которое можно использовать для генерации оповещений или пропуска дальнейшей обработки, если изменение ниже порога.

Распространённые сценарии использования

  • Version control for non‑code assets – поддерживайте чёткую историю изменений контрактов.
  • Automated compliance checks – отмечайте неавторизованные правки в политических документах.
  • CI/CD pipelines for UI testing – сравнивайте скриншоты веб‑страниц между сборками.
  • Batch migration projects – проверяйте, что конвертированные файлы сохраняют оригинальное содержимое.

Советы по производительности для больших документов

  • Stream files вместо полной загрузки в память; это снижает пиковое использование ОЗУ до 80 %.
  • Reuse a single Comparer instance для нескольких сравнений, чтобы воспользоваться внутренним кэшированием.
  • Adjust ComparisonOptions.MemoryLimit при работе с документами более 500 МБ, чтобы предотвратить исключения out‑of‑memory.

Часто задаваемые вопросы

Q: Как программно принимать или отклонять изменения после сравнения?
A: Use result.Changes.AcceptAll(), RejectAll(), or iterate each ChangeInfo and call Accept() / Reject() as needed, then save the document with result.Save(outputPath).

Q: Можно ли извлечь метаданные, такие как автор, дата создания или пользовательские свойства из документов?
A: Yes—DocumentInfo provides access to standard and custom metadata for both source and target files, allowing you to log or display this information.

Q: Возможно ли сравнивать файлы изображений (например, PNG, JPEG) напрямую в .NET?
A: Absolutely. The CompareImages API highlights pixel‑level differences and returns a similarity percentage you can use in automated tests.

Q: Как сравнить целые папки, чтобы найти добавленные, удалённые или изменённые файлы?
A: Invoke Comparer.CompareFolders(sourceFolder, targetFolder, outputFolder); the method returns a collection of FolderComparisonResult objects that indicate the status of each file pair.

Q: Что делать, если нужно сравнить документы, защищённые паролем?
A: Supply the password via LoadOptions.Password when loading each document; the engine decrypts the files internally before performing the diff.

Q: Поддерживает ли GroupDocs.Comparison .NET Core и .NET 5/6?
A: Yes—the library is compatible with .NET Core 3.1, .NET 5, .NET 6, and later, offering the same feature set across all runtimes.

Доверительные сигналы

Последнее обновление: 2026-05-26
Тестировано с: GroupDocs.Comparison 23.12 for .NET
Автор: GroupDocs


Дополнительные ссылки на учебники (без изменений)

Сравнение документов и папок

Подробнее

Сравнение документов

Подробнее

Загрузка и сохранение документов

Подробнее

Сравнение изображений

Подробнее

Базовое использование

Подробнее

Быстрый старт

Подробнее

Начало работы

Начало работы

Загрузка документа

Загрузка документа

Базовое сравнение

Базовое сравнение

Продвинутое сравнение

Продвинутое сравнение

Управление изменениями

Управление изменениями

Информация о документе

Информация о документе

Генерация превью

Генерация превью

Управление метаданными

Управление метаданными

Безопасность и защита

Безопасность и защита

Лицензирование и конфигурация

Лицензирование и конфигурация

Параметры сравнения

Параметры сравнения

Подробнее Подробнее Подробнее Подробнее Подробнее Подробнее Начало работы Загрузка документа Базовое сравнение Продвинутое сравнение Управление изменениями Информация о документе Генерация превью Управление метаданными Безопасность и защита Лицензирование и конфигурация Параметры сравнения Подробнее Начало работы Сравнение документов и папок Сравнение документов Загрузка и сохранение документов Сравнение изображений Базовое использование Подробнее Начало работы Загрузка документа Базовое сравнение Продвинутое сравнение Управление изменениями Информация о документе Генерация превью Управление метаданными Безопасность и защита Лицензирование и конфигурация Параметры сравнения

Связанные учебники