Какой компонент использовать: обеспечивает малое количество столбцов, возможность разбиения на страницы, выравнивание, минимальную высоту?

Какой компонент использовать: обеспечивает малое количество столбцов, возможность разбиения на страницы, выравнивание, минимальную высоту?

Я получил на этом сайте так много помощи в решении моих конкретных задач, а теперь понимаю, что использую что-то не то для своих целей.

Мне нужно решение (компонент или набор компонентов), которое обеспечивает несколько столбцов, возможность разбиения на страницы, выравнивание по вертикали/ширине, минимальную высоту и отсутствие интервалов между абзацами между компонентами. здесьКак сделать коробку с минимальной высотой и вертикальным выравниванием внутри коробки?У меня есть хороший ответ, для заголовка. Но он не работает с longtable, поэтому не поддерживает разрыв страницы.

Может быть, для этой цели мне нужно использовать не таблицу, а какую-то комбинацию ящиков?

Например, пользователь создает такой шаблон: введите описание изображения здесь

Я беру шаблон, беру текст из БД и вставляю в том порядке, в котором хочет пользователь.

Так что я не знаю, сколько текста будет в макете. Сейчас у меня есть рабочая версия с использованием longtables. Минимальная высота, которую я предоставляю \parbox(если данные короткие, а макет высокий). Но тогда у меня проблема с valign - как выровнять таблицу в parbox? Если текст в макете больше - макет должен быть растянут наверняка и разбит на страницы.

Я сейчас использую такую ​​конструкцию (каждая строка в шаблоне - один parbox с longtable), она не обеспечивает разрыв страниц и не выравнивается:

Пример: У меня есть шаблон:введите описание изображения здесь

И у меня получился такой результирующий PDF (текст не выровнен и имеет большой интервал между абзацами, поэтому начинается не сверху):введите описание изображения здесь

Код, который я использую, следующий:

 \documentclass{book}
            \usepackage{fancybox,fancyhdr}
            \usepackage[T1]{fontenc}
            \usepackage[dvipsnames]{xcolor}
            \usepackage{graphicx}
            \usepackage{fixltx2e}
            \usepackage[normalem]{ulem}
            \usepackage[left=72pt,right=72pt,
                headheight=72pt,
                top=\dimexpr72pt+\headsep\relax,
                textheight =592pt
                ]{geometry}
            \usepackage{array}
            \usepackage{longtable}
            \usepackage[export]{adjustbox}

            \newcolumntype{R}[2]{>{\raggedleft \arraybackslash \hspace{0pt}}{#2}{#1}}
            \newcolumntype{L}[2]{>{\raggedright\arraybackslash}{#2}{#1}}
            \newcolumntype{C}[2]{>{\center\arraybackslash}{#2}{#1}}
            \fancyhf{} \fancyhead[C]{\raisebox{\dimexpr\headheight-\height}[\headheight][0pt] {\begin{tabular}{L{\textwidth}{p}}Non-disclosure agreement (NDA)\end{tabular}}}\begin{document}
            \pagestyle{fancy}
             \noindent\sbox{0}{\parbox{\textwidth}{\noindent\begin{longtable}{C{\textwidth}{m}}Text\end{longtable}}}
        \ifdim\dimexpr\ht0+\dp0<517pt
        \dp0\dimexpr517pt-\ht0\fi
        \makebox{\usebox{0}}\\ \noindent\sbox{0}{\parbox{\textwidth}{\noindent\begin{longtable}{L{\textwidth}{p}}Text\end{longtable}}}
        \ifdim\dimexpr\ht0+\dp0<27pt
        \dp0\dimexpr27pt-\ht0\fi
        \makebox{\usebox{0}}
    \end{document}

Связанный контент