Я использую PDFsharp для создания страницы PDF. Это очень хорошо подходит для документа с одной страницей. Будет ситуация, когда строки должны будут заполнить две страницы. Всякий раз, когда количество строк равно 20, Я хотел бы создать новую страницу и записать оставшийся контент на нее.Создание нескольких страниц с помощью PDFsharp с использованием C#
Этот код записывает содержимое на первую страницу, но как только количество строк равно 20, оно будет продолжать писать на первой странице , а не перейти ко второму.
Как исправить это, пожалуйста?
PdfDocument document = new PdfDocument();
document.Info.Title = "Created with PDFsharp";
// Create an empty page
PdfPage page = document.AddPage();
//page.Width =
//page.Height =
// Get an XGraphics object for drawing
XGraphics gfx = XGraphics.FromPdfPage(page);
//XPdfFontOptions options = new XPdfFontOptions(PdfFontEncoding.Unicode, PdfFontEmbedding.Always);
// Create a font
XFont font = new XFont("Times New Roman", 8, XFontStyle.BoldItalic);
int headeroneX = 30;
int headerOney = 25;
Int32 countLines = 0;
foreach (var item in queryResult)
{
if ((playerIndex % TotalNumberOfUsersInGrp) == 0)
{
gfx.DrawString("Group:" + groupindex, font, XBrushes.DarkRed, new XRect(headeroneX, headerOney, page.Width, page.Height), XStringFormats.TopLeft);
groupindex++;
headerOney = headerOney + 12;
}
gfx.DrawString(item.FullName + ',' + item.Rating, font, XBrushes.Black, new XRect(headeroneX, headerOney, page.Width, page.Height), XStringFormats.TopLeft);
playerIndex++;
headerOney = headerOney + 12;
countLines = countLines + 1;
if (countLines == 20)
{
countLines = 1;
headerOney = 25;
document.AddPage();
gfx.DrawString(item.FullName + ',' + item.Rating, font, XBrushes.Black, new XRect(headeroneX, headerOney, page.Width, page.Height), XStringFormats.TopLeft);
}
}
Возможный дубликат [PDFsharp - Как создать вторую страницу] (http://stackoverflow.com/questions/21143333/pdfsharp-how-to-create-a-2nd-page) –