Skip to content

ГОСТ Форматтер — это настольное приложение на Python для автоматического приведения Word‑документов к требованиям ГОСТ 7.32‑2017. Программа форматирует поля, шрифт, интервалы, выравнивание, отключает переносы, заменяет обычные кавычки на «ёлочки» и исправляет тире, а при включённой опции добавляет номера страниц, начиная со второй

Notifications You must be signed in to change notification settings

Ivadus/GOST-Wordx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ГОСТ Форматтер

Десктопное приложение для автоматического форматирования Word-документов по ГОСТ 7.32-2017.

Описание

ГОСТ Форматтер упрощает подготовку курсовых, дипломных работ и научных отчётов, автоматически приводя документы к требованиям ГОСТ. Программа корректирует форматирование текста, заменяет символы и добавляет нумерацию страниц в соответствии со стандартом.

Основные возможности

  • Автоматическое форматирование — настройка полей, шрифта, интервалов и выравнивания
  • Замена символов — кавычки "" → «», тире — → –, маркеры • → –
  • Нумерация страниц — опциональная нумерация со второй страницы (первая без номера)
  • Drag-and-drop — перетаскивание файлов .docx в окно программы
  • Современный интерфейс — минималистичный дизайн с визуальным прогрессом

Установка

Требования

  • Python 3.7+
  • Windows / macOS / Linux

Зависимости

pip install -r requirements.txt

requirements.txt:

PyQt5>=5.15.0
python-docx>=0.8.11

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

Запуск

python main.py

Работа с программой

  1. Перетащите файл .docx в окно программы или выберите через кнопку "Обзор"
  2. Отметьте опцию "Добавить номера страниц" при необходимости
  3. Нажмите "Начать форматирование"
  4. Откройте готовый документ кнопкой "Открыть документ"

Отформатированный файл сохраняется в той же папке с суффиксом _formatted.

Применяемое форматирование

Поля документа

  • Левое: 3 см
  • Правое: 1 см
  • Верхнее: 2 см
  • Нижнее: 2 см

Текст

  • Шрифт: Times New Roman, 14 pt
  • Междустрочный интервал: 1,5
  • Отступ первой строки: 1,25 см
  • Выравнивание: по ширине
  • Автоперенос: отключён

Нумерация

  • Позиция: нижний колонтитул, по центру
  • Размер: 14 pt, Times New Roman
  • Первая страница: без номера (по ГОСТ)

Замены символов

  • "текст"«текст» (кавычки-ёлочки)
  • (длинное тире → среднее)
  • • элемент– элемент (маркеры списков)

Сборка в .exe

Подготовка

pip install pyinstaller

Сборка

pyinstaller gost_formatter.spec

или используйте автоматический скрипт:

build.bat

Готовый файл появится в папке dist/.

Решение проблем сборки

При ошибке "Порядковый номер 380 не найден в DLL":

pip uninstall PyQt5
pip install PyQt5==5.15.10
pyinstaller gost_formatter.spec

Подробнее: BUILD_FIX.md

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

gost-formatter/
├── main.py              # Точка входа
├── gui.py               # Интерфейс (PyQt5)
├── formatter.py         # Логика форматирования
├── styles.py            # Стили интерфейса
├── requirements.txt     # Зависимости
├── gost_formatter.spec  # Конфигурация PyInstaller
├── build.bat            # Скрипт автоматической сборки
├── README.md            # Документация
├── BUILD_FIX.md         # Инструкция по устранению ошибок сборки
└── CHANGELOG.md         # История изменений

Технические детали

Стек технологий

  • GUI: PyQt5
  • Обработка документов: python-docx
  • Многопоточность: QThread для неблокирующего форматирования

Соответствие стандартам

  • ГОСТ 7.32-2017 «Отчёт о научно-исследовательской работе»
  • ГОСТ 2.105-95 «Общие требования к текстовым документам»

Лицензия

MIT License

Автор

Разработано для студентов

About

ГОСТ Форматтер — это настольное приложение на Python для автоматического приведения Word‑документов к требованиям ГОСТ 7.32‑2017. Программа форматирует поля, шрифт, интервалы, выравнивание, отключает переносы, заменяет обычные кавычки на «ёлочки» и исправляет тире, а при включённой опции добавляет номера страниц, начиная со второй

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages