Skip to content

bysnik/document-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📖 document-generator

📋 Содержание


Обзор

📝 Генератор рабочих программ модулей

Простое и удобное веб-приложение для автоматической генерации документов на основе шаблона.

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

  • Одиночная генерация — заполните форму и получите готовый документ
  • Пакетная генерация — загрузите CSV/XLSX файл и создайте несколько документов за раз
  • Интуитивный интерфейс с подсказками и шпаргалками

🖼️ Скриноты

Главная страница

Главная страница

Одиночная генерация

Одиночная генерация

Одиночная генерация

Пакетная генерация

Пакетная генерация

Пакетная генерация

Установка на Windows

1. Установка Python

  1. Скачайте установщик Python с официального сайта
  2. Запустите установщик
  3. Важно: Установите галочку "Add Python to PATH"
  4. Нажмите "Install Now"
  5. Проверьте установку:
python --version

2. Клонирование репозитория

git clone https://github.com/bysnik/document-generator.git
cd document-generator

Если Git не установлен, скачайте архив с репозиторием и распакуйте вручную.

3. Создание виртуального окружения (рекомендуется)

python -m venv venv
venv\Scripts\activate

После активации в командной строке появится префикс (venv).

4. Установка зависимостей

pip install flask docxtpl python-docx pandas openpyxl

Установка на ALT Linux

1. Установка зависимостей

# Обновление системы
apt-get update
apt-get dist-upgrade

# Установка Python 3 и необходимых пакетов
apt-get install python3 git

2. Клонирование репозитория

git clone https://github.com/bysnik/document-generator.git
cd document-generator

3. Создание виртуального окружения (рекомендуется)

python3 -m venv venv
source venv/bin/activate

4. Установка зависимостей

pip3 install flask docxtpl python-docx pandas openpyxl

Запуск приложения

Режим разработки (однопользовательский)

# Windows (в активированном venv)
python app.py

# ALT Linux (в активированном venv)
python3 app.py

Приложение будет доступно по адресу: http://127.0.0.1:5000


Подготовка шаблона

1. Проверьте наличие файла

Файл template.docx должен находиться в корневой директории проекта (рядом с app.py).

2. Проверьте имя файла

Имя файла должно быть точно template.docx (без пробелов, скобок, символов +).

3. Исправьте опечатки в шаблоне

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


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

Одиночная генерация

  1. Откройте браузер: http://127.0.0.1:5000
  2. Выберите "Одиночная генерация"
  3. Заполните все поля формы
  4. Нажмите "Сгенерировать документ"
  5. Файл автоматически скачается

Пакетная генерация

  1. Откройте браузер: http://127.0.0.1:5000
  2. Выберите "Пакетная генерация"
  3. Скачайте пример шаблона (CSV или XLSX)
  4. Заполните таблицу данными:
    • Колонки = поля документа
    • Строки = отдельные документы
  5. Загрузите файл
  6. Получите ZIP-архив со всеми документами

Устранение неполадок

Ошибка: PackageNotFoundError: Package not found at 'template.docx'

Причина: Файл шаблона не найден.

Решение:

# Проверьте наличие файла
ls -la template.docx          # Linux
dir template.docx             # Windows

# Проверьте текущую директорию
pwd                           # Linux
cd                            # Windows

# Файл должен быть в той же папке, где запускается app.py

Ошибка: ModuleNotFoundError: No module named 'flask'

Причина: Не установлены зависимости.

Решение:

pip install flask docxtpl python-docx pandas openpyxl     # Windows
pip3 install flask docxtpl python-docx pandas openpyxl    # Linux

Ошибка: Port 5000 is already in use

Причина: Порт 5000 занят другим приложением.

Решение: Измените порт в app.py:

app.run(debug=True, port=5001)  # или любой другой свободный порт

Ошибка при чтении CSV/XLSX: UnicodeDecodeError

Причина: Неправильная кодировка файла.

Решение: Сохраните файл в кодировке UTF-8:

  • В Excel: Файл → Сохранить как → CSV UTF-8
  • В LibreOffice: Файл → Экспорт → Кодировка UTF-8

Приложение не открывается в браузере

Проверьте:

  1. Запущено ли приложение (должны быть логи в консоли)
  2. Правильный ли адрес: http://127.0.0.1:5000
  3. Не блокирует ли брандмауэр порт 5000

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

project/
├── app.py                    # Основное приложение Flask
├── template.docx             # Шаблон документа с плейсхолдерами
├── README.md                 # Документация
├── .gitignore                # Исключения для Git
└── templates/                # HTML-шаблоны
    ├── index.html
    ├── single.html
    ├── batch.html
    ├── table_format.html
    ├── error_400.html
    ├── error_404.html
    └── error_500.html

About

Генератор docx-документов на основе шаблона

Resources

License

Stars

Watchers

Forks

Contributors