Я пытаюсь создать генератор pdf, который имеет некоторый текст в верхней и нижней части страницы со столом в середине. В таблице задана длина строки. Все работает, за исключением того, что таблица PdfPTable сохраняет значения ранее добавленных строк, поэтому, когда я выхожу на вывод pdf, она сохраняет последнюю таблицу. Есть ли способ добавить новую таблицу с той же переменной или очистить текущую переменную?itextsharp многостраничный стол с текстом заголовка и нижнего колонтитула
doc.Open();
Paragraph header = new Paragraph("header");
header.Alignment = Element.ALIGN_CENTER;
Paragraph footer = new Paragraph("footer");
footer.Alignment = Element.ALIGN_CENTER;
PdfPTable table = new PdfPTable(3);
table.LockedWidth = true;
table.SetWidths(widths);
table.HorizontalAlignment = 0;
foreach (T t in results)
{
if (counter % 50 == 0)
{
if (counter != 0)
{
doc.Add(table);
doc.Add(footer);
doc.NewPage();
}
doc.Add(header);
table.AddCell("Name"); //Table Header
table.AddCell("Address"); //Table Header
table.AddCell("Phone"); //Table Header
}
table.AddCell("First Last"); //individual cell from t.name
table.AddCell("Address"); //individual cell from t.address
table.AddCell("Phone"); //individual cell from t.phone
}
doc.Add(table);
doc.Add(footer);
doc.Close();
Ваш код очень странно. Откуда у вас было вдохновение? Вы читали о событиях страницы, чтобы добавить верхние и нижние колонтитулы? Вы читали о табличных заголовках и нижних колонтитулах? Также: почему вы удивлены тем, что таблица сохраняет свои строки, если вы продолжаете использовать один и тот же экземпляр таблицы? –
Вы не увеличиваете счетчик в любом месте. Я хочу исправить ваш код, но я понятия не имею, что должен делать ваш код. Не увеличивать счетчик не имеет смысла. Для чего нужна переменная 'counter'? –
Как будто вы прочитали что-то об использовании 'PdfPTable' как' LargeElement', но не поняли, что это значит. –