(0) пиши сам, рекурсивная процедура обхода дерева проста как утренний рассвет.
Я в макете делаю разные строки для уровней дерева, с тональной раскраской, выделением шрифтом старших уровней и т.д.
Вообще нужно взять за правило в 8.2., если вы работаете с деревом формы и хотите его печать, то в структуре колонок этого дерева обязательно должна быть колонка "Уровень"(0,1, 2, N - значения). Я еще ввожу дополнительно колонку "УровеньИдентификатор", чтобы дифференцировать узлы на одном уровне в случае неоднородного дерева("1_1", "1_К", ...).
Наличие этих двух колонок достаточно для организации самого "богатого" условного оформления и печати
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс