Держите стол в одном экземпляре MigraDoc / PDFsharp - PullRequest
16 голосов
/ 09 июля 2009

Я использую PDFsharp / MigraDoc для записи таблиц и диаграмм в файлы PDF. До сих пор это прекрасно работало, однако MigraDoc всегда будет разбивать мои таблицы (по вертикали), когда он должен переместить всю таблицу на следующую страницу документа. Как сделать так, чтобы стол оставался одним целым?

Класс таблицы MigraDoc.DocumentObjectModel.Tables имеет свойство KeepTogether для bool, однако, похоже, что оно не имеет никакого эффекта (равно true или false).

Есть ли способ сделать это вручную? Есть ли способ «измерить» расстояние от конца страницы и сравнить его с высотой таблицы? (Или любой другой способ узнать, будет ли таблица разделена или нет)

Обратите внимание, что я впервые использую PDFsharp / MigraDoc. Если есть какие-либо лучшие практики, которые я должен знать, пожалуйста, дайте мне знать. Если есть несколько хороших примеров (я видел их на домашней странице PDFSharp, но это все), я бы хотел узнать о них!

1 Ответ

21 голосов
/ 25 августа 2009

Вы можете установить свойство KeepWith таблицы Row, чтобы указать блоки, которые должны храниться вместе.

Если вы знаете, что таблица умещается на одной странице, вы можете установить для свойства KeepWith первой строки значение (table.Rows.Count - 1), когда таблица будет завершена.

...