Многостраничный раздел с заголовком на каждой странице в MigraDoc

Мне нужен документ с несколькими страницами. Каждая страница должна иметь одинаковый заголовок. Один раздел документа содержит длинную таблицу, занимающую несколько страниц. На каждой странице этого раздела я хочу показать заголовок над таблицей.

Пока я придумал два решения. Оба кажутся хакерскими и имеют свои недостатки:

  1. Сделать название частью заголовка в этом разделе. Чувствуется неправильно, а также раздражает, когда у меня есть другие страницы в документе, которые должны содержать заголовок, но не заголовок.

  2. Сделайте заголовок частью таблицы и используйте HeadingFormat. Также кажется хакерским, потому что заголовок не «вписывается» в столбцы таблицы.

Есть идеи получше?


person Tim Pohlmann    schedule 03.08.2016    source источник


Ответы (1)


Re 1: Поместите таблицу в новый раздел и установите новый заголовок для этого раздела. Одна строка может быть стандартным заголовком, общим для всех страниц, другая строка может быть специальным заголовком для раздела таблицы.
Мне это не кажется хакерским.

Re 2: Вы можете установить HeadingFormat для нескольких строк. Таким образом, вы можете использовать первую строку для «заголовка» без каких-либо границ и с MergeRight, чтобы она охватывала всю страницу. Не совсем хакерский и будет выглядеть как обычный текст за пределами таблицы.

Решение 1 имеет недостаток, так как каждый новый раздел начинается с новой страницы. Что ж, таблица настолько важна, что у нее даже есть собственный заголовок страницы, так что этот недостаток не должен иметь значения.

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

person I liked the old Stack Overflow    schedule 03.08.2016
comment
Я пробовал использовать вложенные таблицы. К сожалению, MigraDoc не может разделить один Cell на несколько страниц, поэтому я застрял с одним из ваших решений. - person Tim Pohlmann; 04.08.2016
comment
Я не предлагал вложенные таблицы. Если вам нужно 5 столбцов в таблице, просто установите MergeRight=4 для первой ячейки в первой строке и используйте ее в качестве заголовка. - person I liked the old Stack Overflow; 04.08.2016