Skip to content

About

EN: DOCX version comparison tool for headings, text, lists and tables with TXT report export. RU: Сервис сравнения версий DOCX-документов с формированием журнала изменений.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

Doc Version Comparator

Локальный Streamlit-сервис для структурного сравнения двух версий документации в формате DOCX.

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

Возможности

  • сравнение заголовков и разделов;
  • поиск добавленного, удалённого и изменённого текста;
  • сравнение маркированных и нумерованных списков;
  • сравнение таблиц по строкам и ячейкам;
  • группировка изменений по разделам;
  • фильтрация по типу изменения и типу элемента;
  • подробный просмотр «Предыдущая версия / Новая версия»;
  • выгрузка полного отчёта в TXT;
  • предупреждение при загрузке одинаковых файлов.

Интерфейс

Общий результат сравнения

Общий результат сравнения DOCX-документов

Подробное сравнение элементов

Подробное сравнение текста, списков и таблиц

Выгрузка отчёта

Выгрузка журнала изменений в TXT

Технологии

  • Python 3.13;
  • Streamlit;
  • python-docx;
  • difflib из стандартной библиотеки Python.

Быстрый запуск

Windows: Git Bash

python -m venv .venv
source .venv/Scripts/activate
python -m pip install -r requirements.txt
streamlit run app.py

Windows: PowerShell

python -m venv .venv
.venv\Scripts\Activate.ps1
python -m pip install -r requirements.txt
streamlit run app.py

После запуска приложение откроется по адресу:

http://localhost:8501

Как пользоваться

  1. Загрузите предыдущую версию DOCX.
  2. Загрузите новую версию DOCX.
  3. Нажмите «Сравнить документы».
  4. Изучите статистику и подробный журнал изменений.
  5. При необходимости скачайте TXT-отчёт.

Структура проекта

doc-version-comparator/
├── .streamlit/
│   └── config.toml
├── assets/
│   ├── app-preview.png
│   ├── app-preview-full.png
│   └── report-download.png
├── .gitignore
├── CHANGELOG.md
├── README.md
├── app.py
└── requirements.txt

Ограничения текущей версии

Сервис пока не сравнивает:

  • изображения;
  • колонтитулы;
  • комментарии и режим исправлений Word;
  • шрифты, цвета и другое форматирование;
  • сложные объединённые таблицы;
  • автоматическую нумерацию Word во всех возможных конфигурациях;
  • перемещение разделов как отдельный тип изменения.

Таблицы сравниваются по позиции строк и ячеек. При серьёзной перестройке таблицы результат может потребовать ручной проверки.

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

Не добавляйте в публичный репозиторий рабочие документы, внутреннюю документацию, персональные данные, пароли, токены и API-ключи. Файл .gitignore исключает DOCX по умолчанию.

План развития

  • поддержка Markdown;
  • более точное сопоставление перемещённых блоков;
  • экспорт отчёта в DOCX и XLSX;
  • сравнение форматирования;
  • тесты и модульная архитектура;
  • публикация демоверсии в Streamlit Community Cloud.

About

EN: DOCX version comparison tool for headings, text, lists and tables with TXT report export. RU: Сервис сравнения версий DOCX-документов с формированием журнала изменений.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages