- Пересобран bcrypt под Linux (npm rebuild / переустановка), после чего успешно отработал prisma seed (созданы пользователи и загружены СБЦ). - Создано виртуальное окружение backend/pdf_generator/venv и установлены зависимости из requirements.txt; backend настроен использовать python из этого venv при генерации PDF (pdf-python.service.ts). - Переключён AI-провайдер с LMStudio на Ollama: в ai.service.ts добавлена поддержка Ollama, в .env и .env.example выставлены AI_PROVIDER=ollama, OLLAMA_API_URL=http://192.168.88.160:11434 и OLLAMA_MODEL=gemma3n:e4b. - Перезапущены backend и frontend; проверено, что API /api/health отвечает, а Ollama (gemma3n:e4b) успешно обрабатывает chat-запросы.
Модуль генерации PDF сметы (Python)
Генерация PDF с корректной кириллицей через ReportLab.
Установка
-
Установите Python 3.8+ (если ещё не установлен).
-
Установите зависимости:
cd backend/pdf_generator pip install -r requirements.txtили из корня backend:
pip install -r pdf_generator/requirements.txt -
Шрифты (кириллица):
- На Windows скрипт по умолчанию использует
C:\Windows\Fonts\arial.ttf, дополнительно ничего класть не нужно. - Для других ОС или своего шрифта положите TTF в папку
pdf_generator/fonts/(см.fonts/README.md).
- На Windows скрипт по умолчанию использует
Использование
Backend при запросе «Скачать PDF» сначала вызывает этот скрипт. Если Python или скрипт недоступны, используется генерация на Node (PDFKit).
Ручной запуск (для проверки):
cd backend
echo "{\"number\":\"1\",\"direction\":{\"name\":\"Тест\"},\"objectName\":\"Объект\",\"customer\":\"Заказчик\",\"executor\":\"Исполнитель\",\"items\":[],\"totals\":[]}" | python pdf_generator/generate_estimate_pdf.py > test.pdf