32 lines
1.4 KiB
Markdown
32 lines
1.4 KiB
Markdown
|
|
# Модуль генерации PDF сметы (Python)
|
|||
|
|
|
|||
|
|
Генерация PDF с корректной кириллицей через ReportLab.
|
|||
|
|
|
|||
|
|
## Установка
|
|||
|
|
|
|||
|
|
1. Установите Python 3.8+ (если ещё не установлен).
|
|||
|
|
|
|||
|
|
2. Установите зависимости:
|
|||
|
|
```bash
|
|||
|
|
cd backend/pdf_generator
|
|||
|
|
pip install -r requirements.txt
|
|||
|
|
```
|
|||
|
|
или из корня backend:
|
|||
|
|
```bash
|
|||
|
|
pip install -r pdf_generator/requirements.txt
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
3. **Шрифты (кириллица):**
|
|||
|
|
- На **Windows** скрипт по умолчанию использует `C:\Windows\Fonts\arial.ttf`, дополнительно ничего класть не нужно.
|
|||
|
|
- Для других ОС или своего шрифта положите TTF в папку `pdf_generator/fonts/` (см. `fonts/README.md`).
|
|||
|
|
|
|||
|
|
## Использование
|
|||
|
|
|
|||
|
|
Backend при запросе «Скачать PDF» сначала вызывает этот скрипт. Если Python или скрипт недоступны, используется генерация на Node (PDFKit).
|
|||
|
|
|
|||
|
|
Ручной запуск (для проверки):
|
|||
|
|
```bash
|
|||
|
|
cd backend
|
|||
|
|
echo "{\"number\":\"1\",\"direction\":{\"name\":\"Тест\"},\"objectName\":\"Объект\",\"customer\":\"Заказчик\",\"executor\":\"Исполнитель\",\"items\":[],\"totals\":[]}" | python pdf_generator/generate_estimate_pdf.py > test.pdf
|
|||
|
|
```
|