#region "GeneratePdf"
[HttpPost("GeneratePdf")]
public IActionResult GeneratePdf ([FromBody] GeneratePdf ip)
{
Document document = new Document(PageSize.A4, 36, 36, 25, 25);
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream("Sample1.pdf", FileMode.Create));
document.Open();
string imagePath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot\\images\\Logo.jpg");
Image image = Image.GetInstance(imagePath);
image.ScaleAbsolute(100f, 60f);
float documentWidth = document.PageSize.Width;
float imageWidth = image.ScaledWidth;
float documentHeight = document.PageSize.Height;
float xCoordinate = (documentWidth - imageWidth) - 30f;
float yCoordinate = (documentHeight - imageWidth) + 30f;
image.SetAbsolutePosition(xCoordinate, yCoordinate);
document.Add(image);
Paragraph paragraph = new Paragraph(ip.Body);
paragraph.SpacingBefore = 55;
Font font = new Font(Font.FontFamily.TIMES_ROMAN, 10);
paragraph.Font = font;
document.Add(new Paragraph(paragraph));
Paragraph paragraph2 = new Paragraph("“Enter Whatever Text you Want”.");
paragraph2.Alignment = Element.ALIGN_CENTER;
paragraph2.SpacingAfter = 10;
paragraph2.SpacingBefore = 40;
document.Add(new Paragraph(paragraph2));
string imagePath2 = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot\\images\\Footer.png");
Image image2 = Image.GetInstance(imagePath2);
image2.ScaleAbsolute(documentWidth, 100f);
float imageWidth2 = image2.ScaledWidth;
float x = (documentWidth - imageWidth2);
image2.SetAbsolutePosition(x, 0f);
document.Add(image2);
document.Close();
Response.ContentType = "application/pdf";
Response.Headers.Add("Content-Disposition", "attachment; filename=Sample.pdf");
Response.Headers.Add("Cache-Control", "no-cache, no-store, must-revalidate");
Response.Headers.Add("Pragma", "no-cache");
Response.Headers.Add("Expires", "0");
FileStream fileStream = new FileStream("Sample.pdf", FileMode.Open, FileAccess.Read);
return new FileStreamResult(fileStream, "application/pdf");
}
#endregion