MigraDoc - Установите расстояние между TextFrame и другими элементами

Я хочу создать документ с нижним колонтитулом только на последней странице. Я наткнулся на эту ветку SO, в которой говорилось, что это невозможно сделать: /а>

Приняв предложение из этого поста, я создал TextFrame и добавил его на последнюю страницу внизу. Теперь проблема в том, что другие элементы перекрывают TextFrame.

Я установил section.PageSetup.BottomMargin, что работает, но резервирует место для нижнего колонтитула на каждой странице, чего я хочу избежать.


person Strikegently    schedule 17.05.2018    source источник


Ответы (1)


Вы можете сделать одну вещь: добавить один или несколько пустых абзацев в конец документа, чтобы предотвратить наложение друг на друга.
Достаточно одного абзаца, установив SpaceBefore для этого абзаца по мере необходимости. Вы знаете BottomMargin, знаете высоту TextFrame и можете легко определить высоту пустого абзаца.

Если происходит наложение, TextFrame будет скрывать только пустые абзацы. Пустые абзацы вызывают разрыв страницы в тех случаях, когда у вас теперь есть перекрытие TextFrame и основного содержания.

person I liked the old Stack Overflow    schedule 17.05.2018
comment
Можно ли заставить таблицу разрывать страницу после определенного количества строк? Мой основной контент — это большая таблица, которая может занимать несколько страниц. Трюк с пустым абзацем обычно работает, за исключением случаев, когда таблица слишком велика, чтобы включить нижний колонтитул, но слишком мала, чтобы разбивать ее на вторую страницу. Страница разрывается, но я получаю вторую страницу, которая представляет собой не что иное, как нижний колонтитул. - person Strikegently; 17.05.2018
comment
@Strikegently Вы всегда можете закрыть таблицу, добавить к документу разрыв страницы, а затем начать новую таблицу. Это было бы простым решением, если бы все строки имели одинаковую высоту. Можно ли превратить нижний колонтитул в конечную страницу с дополнительным содержимым, всегда с префиксом разрыва страницы? - person I liked the old Stack Overflow; 22.05.2018