У меня есть документ PDF, который я пытаюсь создать, с примерно 20 столбцами, различной ширины. Он получает примерно половину столбцов на первой странице, а затем отключает остальные. Мне бы хотелось, чтобы он определял ширину страницы и переместил оставшиеся столбцы на вторую страницу. Есть ли способ указать это в рендеринге или PageSetup? Я думаю, мне придется рассчитать ширину, создать первую страницу, а затем создать вторую.Как получить MigraDoc для создания PDF с динамической шириной страницы?
Table table = new Table();
PdfDocumentRenderer renderer = new PdfDocumentRenderer(true, PdfSharp.Pdf.PdfFontEmbedding.Always);
renderer.Document = doc;
doc.DefaultPageSetup.Orientation = MigraDoc.DocumentObjectModel.Orientation.Landscape;
//create the columns
for (int i = 1; i < tripReportGrid.Columns.Count; i++)
{
col = table.AddColumn(tripReportGrid.Columns[i].Width);
col.Format.Alignment = ParagraphAlignment.Center;
}
...fill the content same way
renderer.RenderDocument();
спасибо, что лучший способ добавить страницу, после того, как первый был создан? – jerryn44
Вы можете вызвать 'AddPageBreak()' для вашего раздела, чтобы заставить разрыв страницы перед второй таблицей. Вы можете вызвать 'AddSection()' для вашего документа, чтобы создать новый раздел (это неявно приводит к разрыву страницы). Новый раздел может использовать другой формат страницы, поэтому, если вы решите использовать пользовательские форматы страниц, новый раздел для второй таблицы также позволит вам использовать другую ширину страницы. –
префектура. Спасибо – jerryn44