У меня есть файл PDF, который я использую для своего шаблона файла. затем я нахожу необходимые координаты и вставляю учащегося firstName и lastName. для одного студента это работает, но у меня есть массив со студентами, и мне нужно создать простой файл PDF с количеством страниц, равным количеству студентов. То есть, у каждого студента есть своя страница со своими данными
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);
canvas.BeginText();
canvas.SetFontAndSize(bf, 40);
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);