У меня есть файл шаблона. Затем я беру данные из базы данных и заполняю шаблон. Теперь мне нужно взять данные через al oop и вставить их на другие страницы.
var reader = new PdfReader(templateFilePath);
var fontPath = Path.Combine(_webHostEnvironment.WebRootPath, "fonts", "microsoft_sans_serif.ttf");
var ms = new MemoryStream();
var pageSize = reader.GetPageSize(1);
byte[] bytes;
using (var stamper = new PdfStamper(reader, ms))
{
var canvas = stamper.GetOverContent(1);
var bf = BaseFont.CreateFont(fontPath, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
//var font = new iTextSharp.text.Font(bf, 10, iTextSharp.text.Font.NORMAL);
canvas.BeginText();
canvas.SetFontAndSize(bf, 40);
//this data will be in the array and insert each object of the array into a separate page
{canvas.ShowTextAligned(PdfContentByte.ALIGN_CENTER,
$"{student.StudentUser.FirstName} {student.StudentUser.LastName}",
(pageSize.Left + pageSize.Right) / 2, pageSize.GetTop(Utilities.MillimetersToPoints(95)), 0);
canvas.EndText();
stamper.Close();
bytes = ms.ToArray();
}
var fileName =
$"{student.StudentUser.FirstName.ToLower()}_{student.StudentUser.LastName.ToLower()}_{student.Year.OnlineTestStartDate.Year}_certificate.pdf";
return File(bytes, "application/pdf", fileName);