Задать вопрос
@alekseiami

Как создать сложный многостраничный документ в Python?

Нужно сверстать средствами Python документ со следующей структурой:

(Важно: результат должен быть предназначенным для печати файлом PDF. Каждая страница — формат А4, книжная).

spoiler
+------------------------------------------------------+
|  Страница 1                                          |
|                                                      |
|                          +---------------------+     |
|                          |  Таблица 1          |     |
|                          +---------------------+     |
|                                                      |
|  +-----------------------------------------------+   |
|  |  Таблица 2 (до конца страницы 1)              |   |
........................................................

+------------------------------------------------------+
|  Страница 2                                          |
|                                                      |
|                          +---------------------+     |
|                          |  Таблица 1 (повтор) |     |
|                          +---------------------+     |
|                                                      |
|  +-----------------------------------------------+   |
|  |  Таблица 2 (продолжение, до конца страницы 2) |   |
........................................................

+------------------------------------------------------+
|  Страница 3                                          |
|                                                      |
|                          +---------------------+     |
|                          |  Таблица 1 (повтор) |     |
|                          +---------------------+     |
|                                                      |
|  +-----------------------------------------------+   |
|  |  Таблица 2 (продолжение, до конца страницы 3) |   |
........................................................

+------------------------------------------------------+
|  Страница 4                                          |
|                                                      |
|  +-----------------------------------------------+   |
|  |   График 1                                    |   |
|  |                                               |   |
|  |                                               |   |
|  +-----------------------------------------------+   |
|                                                      |
|  +-----------------------------------------------+   |
|  |   График 2                                    |   |
|  |                                               |   |
|  |                                               |   |
|  +-----------------------------------------------+   |
|                                                      |
|  +-----------------------------------------------+   |
|  |   График 3                                    |   |
|  |                                               |   |
|  |                                               |   |
|  +-----------------------------------------------+   |
+------------------------------------------------------+

+------------------------------------------------------+
|  Страница 5                                          |
|                                                      |
|  +-----------------------------------------------+   |
|  |   График 4                                    |   |
|  |                                               |   |
|  |                                               |   |
|  +-----------------------------------------------+   |
|                                                      |
|  +-----------------------------------------------+   |
|  |   График 5                                    |   |
|  |                                               |   |
|  |                                               |   |
|  +-----------------------------------------------+   |
|                                                      |
|  +-----------------------------------------------+   |
|  |   График 6                                    |   |
|  |                                               |   |
|  |                                               |   |
|  +-----------------------------------------------+   |
+------------------------------------------------------+


При этом, таблица 2 имеет примерно такую структуру:

spoiler
+--------+--------------------------------------------+
|        |                                            |
|        +------------+-----------+--------+----------+
|        |            |           |        |          |
|        |            |           |        |          |
.......................................................



Скажите, пожалуйста, как сверстать этот документ средствами Python? К примеру, графики я сделаю средствами matplotlib.pyplot. Но вот как сделать таблицу сложной структуры, да ещё расположить её, как указано на макете... Тут уже закавыка.

Примечание. Про таблицу 2 правильнее говорить, что она должна продолжаться не до какой-либо страницы, а до конца данных. Сколько она будет занимать страниц — две, три или вообще одну — зависит от количества данных. Но общая структура каждой страницы должна соблюдаться: сперва дублирующаяся таблица 1, потом продолжающаяся таблица 2.
  • Вопрос задан
  • 108 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Академия Эдюсон
    Python-разработчик
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Python-разработчик + ИИ
    8 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
Нарисуйте таблицу на html с помощью jinja
Ответ написан
@AVKor
Если надо PDF для печати, то однозначно Sphinx.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Краснодар
от 220 000 до 300 000 ₽
ITK academy Краснодар
от 75 000 ₽
DimaTech Ltd Краснодар
от 140 000 до 140 000 ₽